Skip to content

Commit 0ecd5cd

Browse files
committed
Merge pull request #60 from infosiftr/any-user
Only be root when necessary, so that `--user` works
2 parents e47798c + d9c4635 commit 0ecd5cd

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

Dockerfile

+3
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ ENV PATH /usr/lib/rabbitmq/bin:$PATH
4242

4343
RUN echo '[{rabbit, [{loopback_users, []}]}].' > /etc/rabbitmq/rabbitmq.config
4444

45+
# set home so that any `--user` knows where to put the erlang cookie
46+
ENV HOME /var/lib/rabbitmq
47+
4548
VOLUME /var/lib/rabbitmq
4649

4750
# add a symlink to the .erlang.cookie in /root so we can "docker exec rabbitmqctl ..." without gosu

docker-entrypoint.sh

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
#!/bin/bash
22
set -e
33

4+
# allow the container to be started with `--user`
5+
if [ "$1" = 'rabbitmq-server' -a "$(id -u)" = '0' ]; then
6+
chown -R rabbitmq /var/lib/rabbitmq
7+
exec gosu rabbitmq "$BASH_SOURCE" "$@"
8+
fi
9+
410
ssl=
511
if [ "$RABBITMQ_SSL_CERT_FILE" -a "$RABBITMQ_SSL_KEY_FILE" -a "$RABBITMQ_SSL_CA_FILE" ]; then
612
ssl=1
@@ -22,7 +28,6 @@ if [ "$RABBITMQ_ERLANG_COOKIE" ]; then
2228
else
2329
echo "$RABBITMQ_ERLANG_COOKIE" > "$cookieFile"
2430
chmod 600 "$cookieFile"
25-
chown rabbitmq "$cookieFile"
2631
fi
2732
fi
2833

@@ -126,7 +131,6 @@ if [ "$1" = 'rabbitmq-server' ]; then
126131
# Create combined cert
127132
cat "$RABBITMQ_SSL_CERT_FILE" "$RABBITMQ_SSL_KEY_FILE" > /tmp/combined.pem
128133
chmod 0400 /tmp/combined.pem
129-
chown rabbitmq /tmp/combined.pem
130134

131135
# More ENV vars for make clustering happiness
132136
# we don't handle clustering in this script, but these args should ensure
@@ -135,9 +139,6 @@ if [ "$1" = 'rabbitmq-server' ]; then
135139
export RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-pa '$ERL_SSL_PATH' -proto_dist inet_tls -ssl_dist_opt server_certfile /tmp/combined.pem -ssl_dist_opt server_secure_renegotiate true client_secure_renegotiate true"
136140
export RABBITMQ_CTL_ERL_ARGS="$RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS"
137141
fi
138-
139-
chown -R rabbitmq /var/lib/rabbitmq
140-
set -- gosu rabbitmq "$@"
141142
fi
142143

143144
exec "$@"

0 commit comments

Comments
 (0)