diff options
author | Daniel Weipert <code@drogueronin.de> | 2023-11-14 14:09:32 +0100 |
---|---|---|
committer | Daniel Weipert <code@drogueronin.de> | 2023-11-14 14:09:32 +0100 |
commit | 3018784e17707600f8803f1493304bc8333408ed (patch) | |
tree | 8bd2ceca45678083be3095707606756fd6f3ecf8 /Applications/Services | |
parent | 6da8f368328ba60f33d51a0132f4905eff024543 (diff) |
[services] radicale - calendar & contacts
Diffstat (limited to 'Applications/Services')
-rw-r--r-- | Applications/Services/radicale/.env.example | 6 | ||||
-rw-r--r-- | Applications/Services/radicale/docker-compose.yml | 47 |
2 files changed, 53 insertions, 0 deletions
diff --git a/Applications/Services/radicale/.env.example b/Applications/Services/radicale/.env.example new file mode 100644 index 0000000..78113d8 --- /dev/null +++ b/Applications/Services/radicale/.env.example @@ -0,0 +1,6 @@ +DOMAIN=radicale.example.org +REMOTE_DOMAIN=storage.example.org +REMOTE_PATH=/radicale +REMOTE_USERNAME=root +REMOTE_PASSWORD=123456 +TRAEFIK_NETWORK=traefik-public diff --git a/Applications/Services/radicale/docker-compose.yml b/Applications/Services/radicale/docker-compose.yml new file mode 100644 index 0000000..b00bf4d --- /dev/null +++ b/Applications/Services/radicale/docker-compose.yml @@ -0,0 +1,47 @@ +version: "3" + +services: + radicale: + image: tomsquest/docker-radicale + restart: unless-stopped + init: true + read_only: true + security_opt: + - no-new-privileges:true + cap_drop: + - ALL + cap_add: + - SETUID + - SETGID + - CHOWN + - KILL + environment: + - TAKE_FILE_OWNERSHIP=false + volumes: + - ./config:/config:ro + - remote:/data/collections + networks: + - traefik + labels: + - "traefik.enable=true" + - "traefik.http.routers.radicale.rule=Host(`${DOMAIN}`)" + - "traefik.http.routers.radicale.entrypoints=websecure" + - "traefik.http.routers.radicale.tls.certresolver=letsencrypt" + healthcheck: + test: curl -f http://127.0.0.1:5232 || exit 1 + interval: 30s + retries: 3 + +volumes: + remote: + driver: local + driver_opts: + type: cifs + device: "//${REMOTE_DOMAIN}${REMOTE_PATH}" + o: "addr=${REMOTE_DOMAIN},username=${REMOTE_USERNAME},password=${REMOTE_PASSWORD},file_mode=0777,dir_mode=0777" + +networks: + traefik: + name: "${TRAEFIK_NETWORK}" + external: true + |