diff options
author | Mike Crute <mike@crute.us> | 2017-12-27 21:02:10 +0000 |
---|---|---|
committer | Mike Crute <mike@crute.us> | 2017-12-27 21:02:10 +0000 |
commit | b54b70165b32492765d0fa357b62456bc7ba3737 (patch) | |
tree | 047e67e727175eca9a149063548a8f1d332c6501 /dropbox | |
parent | c71229122674dee8ca1947382b0d34d4c436c41f (diff) | |
download | dockerfiles-b54b70165b32492765d0fa357b62456bc7ba3737.tar.bz2 dockerfiles-b54b70165b32492765d0fa357b62456bc7ba3737.tar.xz dockerfiles-b54b70165b32492765d0fa357b62456bc7ba3737.zip |
Add dropbox
Diffstat (limited to 'dropbox')
-rw-r--r-- | dropbox/Dockerfile | 13 | ||||
-rw-r--r-- | dropbox/Makefile | 21 | ||||
-rwxr-xr-x | dropbox/entrypoint.sh | 29 |
3 files changed, 63 insertions, 0 deletions
diff --git a/dropbox/Dockerfile b/dropbox/Dockerfile new file mode 100644 index 0000000..d4565c8 --- /dev/null +++ b/dropbox/Dockerfile | |||
@@ -0,0 +1,13 @@ | |||
1 | FROM frolvlad/alpine-glibc:latest | ||
2 | LABEL maintainer="Mike Crute <mike@crute.us>" | ||
3 | |||
4 | RUN set -eu -o pipefail; \ | ||
5 | apk --no-cache add su-exec dumb-init; \ | ||
6 | wget -O /tmp/dropbox.tar.gz https://www.dropbox.com/download?plat=lnx.x86_64; \ | ||
7 | mkdir -p /opt/dropbox; \ | ||
8 | tar -C /opt/dropbox/ --strip-components=1 -xf /tmp/dropbox.tar.gz; \ | ||
9 | rm -rf /tmp/*; | ||
10 | |||
11 | ADD entrypoint.sh / | ||
12 | ENTRYPOINT [ "/entrypoint.sh" ] | ||
13 | CMD [ "/opt/dropbox/dropboxd" ] | ||
diff --git a/dropbox/Makefile b/dropbox/Makefile new file mode 100644 index 0000000..817e869 --- /dev/null +++ b/dropbox/Makefile | |||
@@ -0,0 +1,21 @@ | |||
1 | REPO=575365190010.dkr.ecr.us-west-2.amazonaws.com | ||
2 | IMAGE=dropbox:latest-alpine | ||
3 | |||
4 | all: | ||
5 | docker build \ | ||
6 | -t $(IMAGE) . | ||
7 | |||
8 | all-no-cache: | ||
9 | docker build \ | ||
10 | --no-cache \ | ||
11 | -t $(IMAGE) . | ||
12 | |||
13 | run: | ||
14 | docker run \ | ||
15 | -v /home/mcrute/Dropbox:/home/mcrute/Dropbox \ | ||
16 | $(IMAGE) | ||
17 | |||
18 | publish: | ||
19 | eval $$(aws ecr get-login --region us-west-2) | ||
20 | docker tag $(IMAGE) $(REPO)/$(IMAGE) | ||
21 | docker push $(REPO)/$(IMAGE) | ||
diff --git a/dropbox/entrypoint.sh b/dropbox/entrypoint.sh new file mode 100755 index 0000000..16c8ebc --- /dev/null +++ b/dropbox/entrypoint.sh | |||
@@ -0,0 +1,29 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | set -e | ||
4 | |||
5 | DATA_DIR="/srv/dropbox/data" | ||
6 | CFG_DIR="/srv/dropbox/config" | ||
7 | USERNAME="dropbox" | ||
8 | |||
9 | # Default UID/GID to owner of the data directory | ||
10 | USER_UID=${USER_UID:-$(stat -L -c "%u" $DATA_DIR)} | ||
11 | USER_GID=${USER_GID:-$(stat -L -c "%u" $DATA_DIR)} | ||
12 | |||
13 | if [ "$USER_GID" = 0 -o "$USER_GID" = 0 ]; then | ||
14 | echo "User UID/GID could not be discovered, is $DATA_DIR mounted?" | ||
15 | exit 1 | ||
16 | fi | ||
17 | |||
18 | # Create the user and group | ||
19 | addgroup -g ${USER_GID} -S ${USERNAME} | ||
20 | adduser -u ${USER_UID} -h /home/${USERNAME} -D -G ${USERNAME} ${USERNAME} | ||
21 | |||
22 | ln -s /srv/dropbox/data /home/${USERNAME}/Dropbox | ||
23 | ln -s /srv/dropbox/config /home/${USERNAME}/.dropbox | ||
24 | |||
25 | if [ "$@" == "/bin/sh" ]; then | ||
26 | exec "$@" | ||
27 | else | ||
28 | exec /usr/bin/dumb-init -c /sbin/su-exec ${USERNAME} "$@" | ||
29 | fi | ||