2025-07-28 10:56:20 -04:00
|
|
|
#!/bin/sh
|
2017-08-08 17:27:01 -04:00
|
|
|
|
2018-04-16 15:30:07 -04:00
|
|
|
# Setup
|
|
|
|
|
|
|
|
|
|
GROUPNAME="bitwarden"
|
2018-03-27 22:57:30 -04:00
|
|
|
USERNAME="bitwarden"
|
2018-04-16 15:30:07 -04:00
|
|
|
|
2018-05-31 18:05:26 +02:00
|
|
|
LUID=${LOCAL_UID:-0}
|
|
|
|
|
LGID=${LOCAL_GID:-0}
|
2018-04-16 15:30:07 -04:00
|
|
|
|
2018-05-31 18:05:26 +02:00
|
|
|
# Step down from host root to well-known nobody/nogroup user
|
2018-03-27 22:57:30 -04:00
|
|
|
|
2018-05-31 18:05:26 +02:00
|
|
|
if [ $LUID -eq 0 ]
|
2018-04-16 15:30:07 -04:00
|
|
|
then
|
2018-05-31 18:05:26 +02:00
|
|
|
LUID=65534
|
2018-04-16 15:30:07 -04:00
|
|
|
fi
|
2018-05-31 18:05:26 +02:00
|
|
|
if [ $LGID -eq 0 ]
|
2018-03-27 22:57:30 -04:00
|
|
|
then
|
2018-05-31 18:05:26 +02:00
|
|
|
LGID=65534
|
2018-03-27 22:57:30 -04:00
|
|
|
fi
|
|
|
|
|
|
2025-05-30 10:29:47 -07:00
|
|
|
if [ "$(id -u)" = "0" ]
|
|
|
|
|
then
|
|
|
|
|
# Create user and group
|
|
|
|
|
|
2025-08-06 18:44:01 +00:00
|
|
|
groupadd -o -g $LGID $GROUPNAME >/dev/null 2>&1 ||
|
|
|
|
|
groupmod -o -g $LGID $GROUPNAME >/dev/null 2>&1
|
|
|
|
|
useradd -o -u $LUID -g $GROUPNAME -s /bin/false $USERNAME >/dev/null 2>&1 ||
|
|
|
|
|
usermod -o -u $LUID -g $GROUPNAME -s /bin/false $USERNAME >/dev/null 2>&1
|
|
|
|
|
mkhomedir_helper $USERNAME
|
2025-05-30 10:29:47 -07:00
|
|
|
|
|
|
|
|
# The rest...
|
|
|
|
|
chown -R $USERNAME:$GROUPNAME /bitwarden_server
|
|
|
|
|
mkdir -p /etc/bitwarden/core/attachments
|
|
|
|
|
chown -R $USERNAME:$GROUPNAME /etc/bitwarden
|
2025-08-06 18:44:01 +00:00
|
|
|
|
2025-05-30 10:29:47 -07:00
|
|
|
gosu_cmd="gosu $USERNAME:$GROUPNAME"
|
|
|
|
|
else
|
|
|
|
|
gosu_cmd=""
|
|
|
|
|
fi
|
2018-03-27 14:55:33 -04:00
|
|
|
|
2025-05-30 10:29:47 -07:00
|
|
|
exec $gosu_cmd /bitwarden_server/Server \
|
|
|
|
|
/contentRoot=/etc/bitwarden/core/attachments \
|
|
|
|
|
/webRoot=. \
|
|
|
|
|
/serveUnknown=true
|