mirror of
https://github.com/dani-garcia/vaultwarden.git
synced 2025-12-06 09:13:03 +03:00
cannot start docker container v1.25.0 #1136
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @bassarf on GitHub.
Subject of the issue
When I try to start my docker container it does not start.
Deployment environment
Install method: Docker
Other relevant details:
Steps to reproduce
Starting the container via:
Expected behaviour
container should start
Actual behaviour
container does not start correctly. When typing
docker logs vaultwardenI get the following errorwhen starting with an additional
RUST_BACKTRACE=1I get the followingTroubleshooting data
@arctic-alpaca commented on GitHub:
This might be related to this issue: https://github.com/moby/moby/issues/40734
If it is, running the container as privileged or seccomp=unconfined should work as a quick and dirty work-around. More permanent solutions are discussed in the linked issue and the other issues linked there.
@moduraziel commented on GitHub:
For what it's worth, I am redeploying vaultwarden after trying it out a couple days ago (and it working) and I am having the exact same errors. Something wrong with the image maybe?
@oven8Mitts commented on GitHub:
Also getting this issue on:
Raspberry Pi 4 Model B Rev 1.1, running Raspbian Buster
ARM v7
Vaultwarden info:
sha256:f3ebede27f1cf5e78373c3c4a429cf1fdd8d6b13528a2b9ca4fb3cb7cc681ba9
vaultwarden/server:latest
Here's my complete trace with debug on:
@BlackDex commented on GitHub:
Looks like the container isn't allowed to get the current time or something. Could you try to use
RUST_BACKTRACE=fulltogether withLOG_LEVEL=debug?What is your Host OS?
@bassarf commented on GitHub:
Thank you for your fast reply. Here is the log output with
RUST_BACKTRACE=fullandLOG_LEVEL=debug(Its basically the same as from @99ytrewq991)(I do not know why
docker logs vaultwardengives me the same stacktrace twice)I also run it on a Raspberry PI 4 with buster
@BlackDex commented on GitHub:
Maybe a strange thing, but could you both try the Alpine image maybe?
@bassarf commented on GitHub:
in order to use the alpine image you just use
vaultwarden/server:alpineinstead ofvaultwarden/server:latest.in order to use the flag you just add
--security-opt seccomp=unconfinedto your docker run command.@bassarf commented on GitHub:
Thank you for your reply. Indeed using the flag
--security-opt seccomp=unconfinedworks. The server starts and the client is able to sync.Thank you for your reply... this also works.. even without the
seccompflag above.@BlackDex commented on GitHub:
Strange, that part of the code is linked to netbsd. Not sure from the top of my head if that is the default Linux for Rust, but that would be strange.
@moduraziel commented on GitHub:
Im still learning my way around Docker/Portainer...how do I add this flag to my container? Is it just an ENV variable? And how do I access the Alpine image?
@moduraziel commented on GitHub:
I am running Buster instead of Bullseye due to another app's requirements. Could that be an explanation for these issues?
@BlackDex commented on GitHub:
From what i understand is that since buster is using an older kernel than bullseye, it doesn't support some system-calls out-of-the box. And that is why you need to use
--security-opt seccomp=unconfinedto allow these calls to work.@oven8Mitts commented on GitHub:
Sadly, the Alpine image did not fix the issue on my end, although unconfining seccomp did resolve the issue for me.
@moduraziel commented on GitHub:
Thanks for the quick reply. Is it possible to use the seccomp flag through portainer or do I need to run the container through CLI to add the command? I was able to enable Privileged Mode in the GUI for the container, which seemed to work, I'm just curious how you would use that flag. Alpine appears to be working.
Also, from a security perspective, which would be the better choice: Alpine, run flag, or privileged mode?
@BlackDex commented on GitHub:
It could be that the docker host has an outdated OS in the sens that it doesn't understand the correct calls. This seems to be a docker<>kernel issue and would probably cause all docker images which are using a newer OS based image and does the same time call break those images. Now I'm not sure we can really solve that.
The reason it is breaking with the newer version is because the Vaultwarden images are using an updated base image since this release compared to the previous one.
reverting back to an older release of the base images isn't really something i would want to do, since those images are using older library versions.
@moduraziel commented on GitHub:
Ah that makes a lot of sense, then. And that would explain why I got it working a few days ago but not more recently, until I added that flag
@bassarf commented on GitHub:
It looks like this is a "buster only" problem, since everyone with this issue is running buster (as far as I can see it).
Thus this seems like a "backwards compatibility" issue and I guess won't be fixed (if I understood BlackDex's comment correctly).
So I guess this issue can be closed?!
Maybe a note in the wiki, readme.md and/or release notes, that one might have problems when running buster would be good.
The pihole project had a similar issue with seccomp. Their solution was (as far as I can tell) to not support buster anymore:
https://github.com/pi-hole/docker-pi-hole/releases/tag/2022.04.2