diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..3a12996 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,7 @@ +pipeline: + docker: + image: plugins/docker + repo: docker.jcg.re/restic-server + registry: docker.jcg.re + secrets: [docker_username, docker_password] + tags: latest diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1112b57 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM docker.jcg.re/base-alpine + +RUN apk add --no-cache \ + bash \ + git \ + go \ + make \ + thttpd \ + musl-dev \ + && cd /tmp \ + && git clone https://github.com/restic/rest-server restic \ + && cd restic \ + && make \ + && install -m 755 rest-server /usr/local/bin/rest-server\ + && cd / \ + && rm -rf /tmp/* \ + && apk del \ + git \ + go \ + make + +ADD root / +VOLUME /backup diff --git a/README.md b/README.md index 8a84ae5..629d091 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# docker-restic-server +## docker.jcg.re/restic-server -REST Server for Restic Dockerized \ No newline at end of file +REST server for restic, dockerized. diff --git a/root/etc/s6.d/restic/finish b/root/etc/s6.d/restic/finish new file mode 100755 index 0000000..e69de29 diff --git a/root/etc/s6.d/restic/run b/root/etc/s6.d/restic/run new file mode 100755 index 0000000..bbc5f34 --- /dev/null +++ b/root/etc/s6.d/restic/run @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +if [[ -z ${BACKUP_PATH} ]]; then + BACKUP_PATH="/backup" +fi +COMMAND="rest-server --path ${BACKUP_PATH}" +if [[ -n ${APPEND_ONLY} ]]; then + COMMAND="${COMMAND} --append-only" +fi +if [[ -n ${NO_AUTH} ]]; then + COMMAND="${COMMAND} --no-auth" +fi +if [[ -n ${PROMETHEUS} ]]; then + COMMAND="${COMMAND} --prometheus" +fi +if [[ -n ${PRIVATE_REPOS} ]]; then + COMMAND="${COMMAND} --private-repos" +fi +if [[ -n ${PORT} ]]; then + COMMAND="${COMMAND} --port ${PORT}" +fi +if [[ -n ${DEBUG} ]]; then + COMMAND="${COMMAND} --debug" +fi +if [[ -n ${CPU_PROFILE} ]]; then + COMMAND="${COMMAND} --cpu-profile" +fi +if [[ ! -f ${BACKUP_PATH}/.htpasswd ]]; then + touch ${BACKUP_PATH}/.htpasswd +fi + +chown -R ${UID}:${GID} ${BACKUP_PATH} +exec su-exec ${UID}:${GID} ${COMMAND}