[GH-ISSUE #2853] 1.26.0-alpine Docker image fails to start #1401

Closed
opened 2026-03-03 02:08:52 +03:00 by kerem · 4 comments
Owner

Originally created by @jheiselman on GitHub (Oct 21, 2022).
Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/2853

Subject of the issue

Image version for vaultwarden/alpine:latest fails to start with error logged "Command not found: /start.sh".

Deployment environment

  • vaultwarden version: 1.26.0

  • Install method: Docker image vaultwarden/alpine:latest as of 20 October, 2022

  • Clients used: NA

  • Reverse proxy and version: NA

  • MySQL/MariaDB or PostgreSQL version: NA

  • Other relevant details:

Steps to reproduce

docker run vaultwarden/alpine:1.26.0

Expected behaviour

Service should startup

Actual behaviour

Service fails to start with error "Command not found: /start.sh"

Troubleshooting data

Reverting to 1.25.2-alpine works properly

Originally created by @jheiselman on GitHub (Oct 21, 2022). Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/2853 ### Subject of the issue Image version for vaultwarden/alpine:latest fails to start with error logged "Command not found: /start.sh". ### Deployment environment * vaultwarden version: 1.26.0 * Install method: Docker image vaultwarden/alpine:latest as of 20 October, 2022 * Clients used: NA * Reverse proxy and version: NA * MySQL/MariaDB or PostgreSQL version: NA * Other relevant details: ### Steps to reproduce docker run vaultwarden/alpine:1.26.0 ### Expected behaviour Service should startup ### Actual behaviour Service fails to start with error "Command not found: /start.sh" ### Troubleshooting data Reverting to 1.25.2-alpine works properly
kerem closed this issue 2026-03-03 02:08:52 +03:00
Author
Owner

@jheiselman commented on GitHub (Oct 21, 2022):

For what it's worth, the /start.sh script does appear to be in the image and indeed runs when called directly.

pi@raspberrypi:~/bitwarden $ docker run -it --rm --entrypoint bash vaultwarden/server:alpine
bash-5.1# ls
bin             dev             healthcheck.sh  lib             mnt             proc            run             srv             sys             usr             vaultwarden
data            etc             home            media           opt             root            sbin            start.sh        tmp             var             web-vault
bash-5.1# ls -l
total 39036
drwxr-xr-x    1 root     root          4096 Oct 14  2022 bin
drwxr-xr-x    2 root     root          4096 Oct 14  2022 data
drwxr-xr-x    5 root     root           340 Oct 21  2022 dev
drwxr-xr-x    1 root     root          4096 Oct 21  2022 etc
-rwxr-xr-x    1 root     root          1684 Oct 14  2022 healthcheck.sh
drwxr-xr-x    2 root     root          4096 Jul 18  2022 home
drwxr-xr-x    1 root     root          4096 Aug  5  2022 lib
drwxr-xr-x    5 root     root          4096 Jul 18  2022 media
drwxr-xr-x    2 root     root          4096 Jul 18  2022 mnt
drwxr-xr-x    2 root     root          4096 Jul 18  2022 opt
dr-xr-xr-x  232 root     root             0 Oct 21  2022 proc
drwx------    2 root     root          4096 Jul 18  2022 root
drwxr-xr-x    1 root     root          4096 Aug  5  2022 run
drwxr-xr-x    1 root     root          4096 Aug  5  2022 sbin
drwxr-xr-x    2 root     root          4096 Jul 18  2022 srv
-rwxr-xr-x    1 root     root           696 Oct 14  2022 start.sh
dr-xr-xr-x   12 root     root             0 Oct 21  2022 sys
drwxrwxrwt    2 root     root          4096 Jul 18  2022 tmp
drwxr-xr-x    1 root     root          4096 Aug  5  2022 usr
drwxr-xr-x    1 root     root          4096 Jul 18  2022 var
-rwxr-xr-x    1 root     root      39898984 Oct 14  2022 vaultwarden
drwxr-xr-x    9 root     root          4096 Oct 14  2022 web-vault
bash-5.1# cat start.sh
#!/bin/sh

if [ -r /etc/vaultwarden.sh ]; then
    . /etc/vaultwarden.sh
elif [ -r /etc/bitwarden_rs.sh ]; then
    echo "### You are using the old /etc/bitwarden_rs.sh script, please migrate to /etc/vaultwarden.sh ###"
    . /etc/bitwarden_rs.sh
fi

if [ -d /etc/vaultwarden.d ]; then
    for f in /etc/vaultwarden.d/*.sh; do
        if [ -r "${f}" ]; then
            . "${f}"
        fi
    done
elif [ -d /etc/bitwarden_rs.d ]; then
    echo "### You are using the old /etc/bitwarden_rs.d script directory, please migrate to /etc/vaultwarden.d ###"
    for f in /etc/bitwarden_rs.d/*.sh; do
        if [ -r "${f}" ]; then
            . "${f}"
        fi
    done
fi

exec /vaultwarden "${@}"
bash-5.1# ./start.sh
/--------------------------------------------------------------------\
|                        Starting Vaultwarden                        |
|                           Version 1.26.0                           |
|--------------------------------------------------------------------|
| This is an *unofficial* Bitwarden implementation, DO NOT use the   |
| official channels to report bugs/features, regardless of client.   |
| Send usage/configuration questions or feature requests to:         |
|   https://vaultwarden.discourse.group/                             |
| Report suspected bugs/issues in the software itself at:            |
|   https://github.com/dani-garcia/vaultwarden/issues/new            |
\--------------------------------------------------------------------/

[INFO] No .env file found.

[2022-10-21 18:36:05.839][vaultwarden][ERROR] No persistent volume!
########################################################################################
# It looks like you did not configure a persistent volume!                             #
# This will result in permanent data loss when the container is removed or updated!    #
# If you really want to use volatile storage set `I_REALLY_WANT_VOLATILE_STORAGE=true` #
########################################################################################

bash-5.1#
exit
<!-- gh-comment-id:1287313071 --> @jheiselman commented on GitHub (Oct 21, 2022): For what it's worth, the /start.sh script does appear to be in the image and indeed runs when called directly. ```shell pi@raspberrypi:~/bitwarden $ docker run -it --rm --entrypoint bash vaultwarden/server:alpine bash-5.1# ls bin dev healthcheck.sh lib mnt proc run srv sys usr vaultwarden data etc home media opt root sbin start.sh tmp var web-vault bash-5.1# ls -l total 39036 drwxr-xr-x 1 root root 4096 Oct 14 2022 bin drwxr-xr-x 2 root root 4096 Oct 14 2022 data drwxr-xr-x 5 root root 340 Oct 21 2022 dev drwxr-xr-x 1 root root 4096 Oct 21 2022 etc -rwxr-xr-x 1 root root 1684 Oct 14 2022 healthcheck.sh drwxr-xr-x 2 root root 4096 Jul 18 2022 home drwxr-xr-x 1 root root 4096 Aug 5 2022 lib drwxr-xr-x 5 root root 4096 Jul 18 2022 media drwxr-xr-x 2 root root 4096 Jul 18 2022 mnt drwxr-xr-x 2 root root 4096 Jul 18 2022 opt dr-xr-xr-x 232 root root 0 Oct 21 2022 proc drwx------ 2 root root 4096 Jul 18 2022 root drwxr-xr-x 1 root root 4096 Aug 5 2022 run drwxr-xr-x 1 root root 4096 Aug 5 2022 sbin drwxr-xr-x 2 root root 4096 Jul 18 2022 srv -rwxr-xr-x 1 root root 696 Oct 14 2022 start.sh dr-xr-xr-x 12 root root 0 Oct 21 2022 sys drwxrwxrwt 2 root root 4096 Jul 18 2022 tmp drwxr-xr-x 1 root root 4096 Aug 5 2022 usr drwxr-xr-x 1 root root 4096 Jul 18 2022 var -rwxr-xr-x 1 root root 39898984 Oct 14 2022 vaultwarden drwxr-xr-x 9 root root 4096 Oct 14 2022 web-vault bash-5.1# cat start.sh #!/bin/sh if [ -r /etc/vaultwarden.sh ]; then . /etc/vaultwarden.sh elif [ -r /etc/bitwarden_rs.sh ]; then echo "### You are using the old /etc/bitwarden_rs.sh script, please migrate to /etc/vaultwarden.sh ###" . /etc/bitwarden_rs.sh fi if [ -d /etc/vaultwarden.d ]; then for f in /etc/vaultwarden.d/*.sh; do if [ -r "${f}" ]; then . "${f}" fi done elif [ -d /etc/bitwarden_rs.d ]; then echo "### You are using the old /etc/bitwarden_rs.d script directory, please migrate to /etc/vaultwarden.d ###" for f in /etc/bitwarden_rs.d/*.sh; do if [ -r "${f}" ]; then . "${f}" fi done fi exec /vaultwarden "${@}" bash-5.1# ./start.sh /--------------------------------------------------------------------\ | Starting Vaultwarden | | Version 1.26.0 | |--------------------------------------------------------------------| | This is an *unofficial* Bitwarden implementation, DO NOT use the | | official channels to report bugs/features, regardless of client. | | Send usage/configuration questions or feature requests to: | | https://vaultwarden.discourse.group/ | | Report suspected bugs/issues in the software itself at: | | https://github.com/dani-garcia/vaultwarden/issues/new | \--------------------------------------------------------------------/ [INFO] No .env file found. [2022-10-21 18:36:05.839][vaultwarden][ERROR] No persistent volume! ######################################################################################## # It looks like you did not configure a persistent volume! # # This will result in permanent data loss when the container is removed or updated! # # If you really want to use volatile storage set `I_REALLY_WANT_VOLATILE_STORAGE=true` # ######################################################################################## bash-5.1# exit ```
Author
Owner

@BlackDex commented on GitHub (Oct 21, 2022):

See #2656

<!-- gh-comment-id:1287485129 --> @BlackDex commented on GitHub (Oct 21, 2022): See #2656
Author
Owner

@jheiselman commented on GitHub (Oct 21, 2022):

Okay, so a bind mount is no longer acceptable. That's fine, however, documentation needs to be updated.
https://github.com/dani-garcia/vaultwarden/wiki/Starting-a-Container still guides users to created a bind mount.

Further, the volume check that is mentioned as fixed in 1.25.2 apparently isn't as I am currently running 1.25.2-alpine with a bind mount without issue.

<!-- gh-comment-id:1287495390 --> @jheiselman commented on GitHub (Oct 21, 2022): Okay, so a bind mount is no longer acceptable. That's fine, however, documentation needs to be updated. https://github.com/dani-garcia/vaultwarden/wiki/Starting-a-Container still guides users to created a bind mount. Further, the volume check that is mentioned as fixed in 1.25.2 apparently isn't as I am currently running 1.25.2-alpine with a bind mount without issue.
Author
Owner

@BlackDex commented on GitHub (Oct 21, 2022):

A bind mount is fine, that is what I'm using my self and no need for that env value.

If you can post your docker/docker-compose config, maybe we can help spotting something wrong.

<!-- gh-comment-id:1287497164 --> @BlackDex commented on GitHub (Oct 21, 2022): A bind mount is fine, that is what I'm using my self and no need for that env value. If you can post your docker/docker-compose config, maybe we can help spotting something wrong.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/vaultwarden#1401
No description provided.