-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
armcow64: dockerized #5219
armcow64: dockerized #5219
Conversation
Just tried to test it on Oracle cloud instance with fresh installation and got: " docker.errors.DockerException: Error while fetching server API version: HTTPConnection.request() got an unexpected keyword argument 'chunked'" which is probably caused by incorrect urllib3 version inside "mailcowdockerized-dockerapi-mailcow-1". Not sure if it is caused by any ARM64 changes or it's an overall issue. |
DockerAPI is now running again it was indeed a urllib3 issue. Can you try it again? |
Yep, can confirm that 'chunked' issue is fixed. |
4e5b277
to
bf68036
Compare
It seem almost all functionality is working, except rspamd HyperScan library. |
Just making sure: Can I update Mailcow on ARM64 using the normal |
worked for me |
Jup also saw that during my testing phases. Don't know how to proceed with that. Yes we could deactivate the hyperscan functionality on ARM64 devices but that seems more like a workaround to me. |
My understanding is that HyperScan is Intel's contribution, so supporting it on ARM64 is on us. I tried to contact rspamd developers with no luck. In my view disabling it is a valid short-term solution, as there is slower PCRE fallback. I was not able to disable it in a way that suppresses the error, "disable_hyperscan" option does not cut it. I.e. currently I see this error in logs, but fallback works. I.e. seems no functionality is lost (just performance impact + errors in log). Update: Apparently it must be disabled at compile time with -DENABLE_HYPERSCAN=OFF |
Apparently it is (theoretically) possible to use ARM64-aware fork of hyperscan: https://github.com/VectorCamp/vectorscan Without replacing the library - HyperScan must be disabled with PCRE fallback to scare less people with unfixable error message. In HyperScan official repo Intel officially declined to support or merge in ARM64 support (which is not surprising). |
Tried it on Hetzner and it works great! Thanks for that. There were only a small hiccup with the restore helper script. It tries to fetch mailcow/backup:latest which is only available for x86 at the moment. But tag 1.2 is indeed available as arm64. Changing the version on top of |
Or we keep this error and state it as won't fix. I don't want to disable this feature for x86 too (our bigger userbase). Theoretically we could compile it for ourself but i don't see the necessarity here... |
@DerLinkman Unfortunately, it has more impact than just error message. These HyperScan files are continuously re-generated, which takes CPU time and disk space. The only solution is -DENABLE_HYPERSCAN=OFF added conditionally, only for ARM64 (or for all platforms which are not x86 / x86_64). This would also enable it later to work on RiskV servers, which will come few years down the line. |
Is Vectorscan compatible with x86 or is that only compatible for ARM(64)? |
@DerLinkman But x86_32 is not supported: "32-bit x86 is not supported by Vectorscan, we do not test or include it in the CI builds, please use Hyperscan instead if you need 32-bit x86." x86_64 Seems to be supported, few bugs were found and fixed. |
Let's see what it brings: |
Should one currently use the arm64-Version? Are there expected security problems, or severe functionality problems? |
I am using it at the moment. No issues found that affect functionality. rspamd performance can be reduced, but for <1'000'000 emails per day it should be ok. |
Getting an error for SSL certificate. Is it connected with ARM64 or the user error on my side?
|
Have just tried the branch on a clean Ubuntu 22.04 ARM server on Hetner Cloud and I'm having issues. It keeps getting stuck when trying to connect to the database, but the database is online:
Any ideas? |
I am pretty sure it is not related to ARM64. I would investigate using regular mailcow troubleshooting. i.e. inspect SQL logs in more details, and try to connect manually from SQL docker / from postfix docker. |
You're right, I ended up completely removing all volumes and re-starting. All seems well! |
@DerLinkman I see that there was a commit in rspamd on 25th of May to try to fix hyperscan, docker image mailcow/rspamd though is still from 12th. I assume the straightforward way to test it is to update docker image to current version and test? Also, hope to see this pushed to mainline for mailcow. Even if we have to disable hyperscan when building rspamd as a temporary measure. My server is working flawlessly in the last 2 months, with no updates though :-) |
Just tested the most current Rspamd Repo Package (from July 4th) and the issue still persists im afraid. Sorry but this will delay the ARM64 thing as i don't want to disable Hyperscan for Rspamd as it unessecarily complicates the building process for now. |
2023-08 - DQS Hotfixes
Co-authored-by: Peter <[email protected]>
Signed-off-by: milkmaker <[email protected]>
Co-authored-by: Mika Ruohomäki <[email protected]>
* [Web] Updated lang.ru-ru.json Co-authored-by: Oleksii Kruhlenko <[email protected]> * [Web] Updated lang.uk-ua.json Co-authored-by: Oleksii Kruhlenko <[email protected]> --------- Co-authored-by: Oleksii Kruhlenko <[email protected]>
Co-authored-by: Abner Santana <[email protected]>
Signed-off-by: milkmaker <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [Web] Updated lang.cs-cz.json Co-authored-by: Kristian Feldsam <[email protected]> * [Web] Updated lang.de-de.json Co-authored-by: Peter <[email protected]> * [Web] Updated lang.sk-sk.json Co-authored-by: Kristian Feldsam <[email protected]> * [Web] Updated lang.pt-br.json [Web] Updated lang.pt-br.json Co-authored-by: Abner Santana <[email protected]> Co-authored-by: xmacaba <[email protected]> --------- Co-authored-by: Kristian Feldsam <[email protected]> Co-authored-by: Peter <[email protected]> Co-authored-by: Abner Santana <[email protected]> Co-authored-by: xmacaba <[email protected]>
New PR: #5587 (final one to be merged) |
Description:
This PR adds the ARM64 compatibility for our lovely mailcow: dockerized.
ARM64 does not need a manual configuration change in the mailcow Configs, all changes to be ARM64 compatible (not much) are included into this PR.
Phase Status:
Latest Events:
git checkout feat/arm64-cow
. To generate/update your mailcow please use the--dev
Parameter alongside the desired script to keep the current branch checked out instead of the master/nightly branch.Estimated Release:
TBA