Skip to content

Commit e8a8536

Browse files
authored
Merge pull request ruimarinho#120 from ruimarinho/feature/custom-uid-gid
Add support for custom uid gid
2 parents 6da5bc0 + e1a8d44 commit e8a8536

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+493
-66
lines changed

0.11/Dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
FROM debian:stable-slim
22

3+
ARG UID=101
4+
ARG GID=101
5+
36
LABEL maintainer.0="João Fonseca (@joaopaulofonseca)" \
47
maintainer.1="Pedro Branco (@pedrobranco)" \
58
maintainer.2="Rui Marinho (@ruimarinho)"
69

7-
RUN useradd -r bitcoin \
10+
RUN groupadd --gid ${GID} bitcoin \
11+
&& useradd --create-home --no-log-init -u ${UID} -g ${GID} bitcoin \
812
&& apt-get update -y \
913
&& apt-get install -y curl gnupg gosu \
1014
&& apt-get clean \

0.11/alpine/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,16 @@ LABEL maintainer.0="João Fonseca (@joaopaulofonseca)" \
9999
maintainer.1="Pedro Branco (@pedrobranco)" \
100100
maintainer.2="Rui Marinho (@ruimarinho)"
101101

102-
RUN adduser -S bitcoin
102+
RUN addgroup -S bitcoin
103+
RUN adduser -G bitcoin -H -S bitcoin
103104
RUN sed -i 's/http\:\/\/dl-cdn.alpinelinux.org/https\:\/\/alpine.global.ssl.fastly.net/g' /etc/apk/repositories
104105
RUN apk --no-cache add \
105106
boost \
106107
boost-program_options \
107108
libevent \
108109
openssl \
109110
libzmq \
111+
shadow \
110112
su-exec
111113

112114
ENV BITCOIN_DATA=/home/bitcoin/.bitcoin

0.11/alpine/docker-entrypoint.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
#!/bin/sh
22
set -e
33

4+
if [ -n "${UID+x}" ] && [ "${UID}" != "0" ]; then
5+
usermod -u "$UID" bitcoin
6+
fi
7+
8+
if [ -n "${GID+x}" ] && [ "${GID}" != "0" ]; then
9+
groupmod -g "$GID" bitcoin
10+
fi
11+
12+
echo "$0: assuming uid:gid for bitcoin:bitcoin of $(id -u bitcoin):$(id -g bitcoin)"
13+
414
if [ $(echo "$1" | cut -c1) = "-" ]; then
515
echo "$0: assuming arguments for bitcoind"
616

@@ -10,7 +20,10 @@ fi
1020
if [ $(echo "$1" | cut -c1) = "-" ] || [ "$1" = "bitcoind" ]; then
1121
mkdir -p "$BITCOIN_DATA"
1222
chmod 700 "$BITCOIN_DATA"
13-
chown -R bitcoin "$BITCOIN_DATA"
23+
# Fix permissions for home dir.
24+
chown -R bitcoin:bitcoin "$(getent passwd bitcoin | cut -d: -f6)"
25+
# Fix permissions for bitcoin data dir.
26+
chown -R bitcoin:bitcoin "$BITCOIN_DATA"
1427

1528
echo "$0: setting data directory to $BITCOIN_DATA"
1629

0.11/docker-entrypoint.sh

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
1-
#!/bin/sh
1+
#!/bin/bash
22
set -e
33

4+
if [ -n "${UID+x}" ] && [ "${UID}" != "0" ]; then
5+
usermod -u "$UID" bitcoin
6+
fi
7+
8+
if [ -n "${GID+x}" ] && [ "${GID}" != "0" ]; then
9+
groupmod -g "$GID" bitcoin
10+
fi
11+
12+
echo "$0: assuming uid:gid for bitcoin:bitcoin of $(id -u bitcoin):$(id -g bitcoin)"
13+
414
if [ $(echo "$1" | cut -c1) = "-" ]; then
515
echo "$0: assuming arguments for bitcoind"
616

@@ -10,7 +20,10 @@ fi
1020
if [ $(echo "$1" | cut -c1) = "-" ] || [ "$1" = "bitcoind" ]; then
1121
mkdir -p "$BITCOIN_DATA"
1222
chmod 700 "$BITCOIN_DATA"
13-
chown -R bitcoin "$BITCOIN_DATA"
23+
# Fix permissions for home dir.
24+
chown -R bitcoin:bitcoin "$(getent passwd bitcoin | cut -d: -f6)"
25+
# Fix permissions for bitcoin data dir.
26+
chown -R bitcoin:bitcoin "$BITCOIN_DATA"
1427

1528
echo "$0: setting data directory to $BITCOIN_DATA"
1629

0.12/Dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
FROM debian:stable-slim
22

3+
ARG UID=101
4+
ARG GID=101
5+
36
LABEL maintainer.0="João Fonseca (@joaopaulofonseca)" \
47
maintainer.1="Pedro Branco (@pedrobranco)" \
58
maintainer.2="Rui Marinho (@ruimarinho)"
69

7-
RUN useradd -r bitcoin \
10+
RUN groupadd --gid ${GID} bitcoin \
11+
&& useradd --create-home --no-log-init -u ${UID} -g ${GID} bitcoin \
812
&& apt-get update -y \
913
&& apt-get install -y curl gnupg gosu \
1014
&& apt-get clean \

0.12/alpine/Dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,18 +91,23 @@ RUN strip ${BITCOIN_PREFIX}/lib/libbitcoinconsensus.so.0.0.0
9191
# Build stage for compiled artifacts
9292
FROM alpine:3.9
9393

94+
ARG UID=100
95+
ARG GID=101
96+
9497
LABEL maintainer.0="João Fonseca (@joaopaulofonseca)" \
9598
maintainer.1="Pedro Branco (@pedrobranco)" \
9699
maintainer.2="Rui Marinho (@ruimarinho)"
97100

98-
RUN adduser -S bitcoin
101+
RUN addgroup -S bitcoin
102+
RUN adduser -G bitcoin -H -S bitcoin
99103
RUN sed -i 's/http\:\/\/dl-cdn.alpinelinux.org/https\:\/\/alpine.global.ssl.fastly.net/g' /etc/apk/repositories
100104
RUN apk --no-cache add \
101105
boost \
102106
boost-program_options \
103107
libevent \
104108
libressl \
105109
libzmq \
110+
shadow \
106111
su-exec
107112

108113
ENV BITCOIN_DATA=/home/bitcoin/.bitcoin

0.12/alpine/docker-entrypoint.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
#!/bin/sh
22
set -e
33

4+
if [ -n "${UID+x}" ] && [ "${UID}" != "0" ]; then
5+
usermod -u "$UID" bitcoin
6+
fi
7+
8+
if [ -n "${GID+x}" ] && [ "${GID}" != "0" ]; then
9+
groupmod -g "$GID" bitcoin
10+
fi
11+
12+
echo "$0: assuming uid:gid for bitcoin:bitcoin of $(id -u bitcoin):$(id -g bitcoin)"
13+
414
if [ $(echo "$1" | cut -c1) = "-" ]; then
515
echo "$0: assuming arguments for bitcoind"
616

@@ -10,7 +20,10 @@ fi
1020
if [ $(echo "$1" | cut -c1) = "-" ] || [ "$1" = "bitcoind" ]; then
1121
mkdir -p "$BITCOIN_DATA"
1222
chmod 700 "$BITCOIN_DATA"
13-
chown -R bitcoin "$BITCOIN_DATA"
23+
# Fix permissions for home dir.
24+
chown -R bitcoin:bitcoin "$(getent passwd bitcoin | cut -d: -f6)"
25+
# Fix permissions for bitcoin data dir.
26+
chown -R bitcoin:bitcoin "$BITCOIN_DATA"
1427

1528
echo "$0: setting data directory to $BITCOIN_DATA"
1629

0.12/docker-entrypoint.sh

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
1-
#!/bin/sh
1+
#!/bin/bash
22
set -e
33

4+
if [ -n "${UID+x}" ] && [ "${UID}" != "0" ]; then
5+
usermod -u "$UID" bitcoin
6+
fi
7+
8+
if [ -n "${GID+x}" ] && [ "${GID}" != "0" ]; then
9+
groupmod -g "$GID" bitcoin
10+
fi
11+
12+
echo "$0: assuming uid:gid for bitcoin:bitcoin of $(id -u bitcoin):$(id -g bitcoin)"
13+
414
if [ $(echo "$1" | cut -c1) = "-" ]; then
515
echo "$0: assuming arguments for bitcoind"
616

@@ -10,7 +20,10 @@ fi
1020
if [ $(echo "$1" | cut -c1) = "-" ] || [ "$1" = "bitcoind" ]; then
1121
mkdir -p "$BITCOIN_DATA"
1222
chmod 700 "$BITCOIN_DATA"
13-
chown -R bitcoin "$BITCOIN_DATA"
23+
# Fix permissions for home dir.
24+
chown -R bitcoin:bitcoin "$(getent passwd bitcoin | cut -d: -f6)"
25+
# Fix permissions for bitcoin data dir.
26+
chown -R bitcoin:bitcoin "$BITCOIN_DATA"
1427

1528
echo "$0: setting data directory to $BITCOIN_DATA"
1629

0.13/Dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
FROM debian:stable-slim
22

3+
ARG UID=101
4+
ARG GID=101
5+
36
LABEL maintainer.0="João Fonseca (@joaopaulofonseca)" \
47
maintainer.1="Pedro Branco (@pedrobranco)" \
58
maintainer.2="Rui Marinho (@ruimarinho)"
69

7-
RUN useradd -r bitcoin \
10+
RUN groupadd --gid ${GID} bitcoin \
11+
&& useradd --create-home --no-log-init -u ${UID} -g ${GID} bitcoin \
812
&& apt-get update -y \
913
&& apt-get install -y curl gnupg gosu \
1014
&& apt-get clean \

0.13/alpine/Dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,18 +91,23 @@ RUN strip ${BITCOIN_PREFIX}/lib/libbitcoinconsensus.so.0.0.0
9191
# Build stage for compiled artifacts
9292
FROM alpine:3.9
9393

94+
ARG UID=100
95+
ARG GID=101
96+
9497
LABEL maintainer.0="João Fonseca (@joaopaulofonseca)" \
9598
maintainer.1="Pedro Branco (@pedrobranco)" \
9699
maintainer.2="Rui Marinho (@ruimarinho)"
97100

98-
RUN adduser -S bitcoin
101+
RUN addgroup -S bitcoin
102+
RUN adduser -G bitcoin -H -S bitcoin
99103
RUN sed -i 's/http\:\/\/dl-cdn.alpinelinux.org/https\:\/\/alpine.global.ssl.fastly.net/g' /etc/apk/repositories
100104
RUN apk --no-cache add \
101105
boost \
102106
boost-program_options \
103107
libevent \
104108
libressl \
105109
libzmq \
110+
shadow \
106111
su-exec
107112

108113
ENV BITCOIN_DATA=/home/bitcoin/.bitcoin

0 commit comments

Comments
 (0)