aboutsummaryrefslogtreecommitdiffstats
path: root/compose.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'compose.yaml')
-rw-r--r--compose.yaml72
1 files changed, 72 insertions, 0 deletions
diff --git a/compose.yaml b/compose.yaml
new file mode 100644
index 0000000..9b148eb
--- /dev/null
+++ b/compose.yaml
@@ -0,0 +1,72 @@
+name: net_services
+
+services:
+ nginx:
+ image: nginx:${COMPOSE_PROJECT_NAME}
+ build:
+ context: services/nginx
+ environment:
+ - NGINX__HOST=${NGINX__HOST}
+ networks:
+ - cgit
+ - radicale
+ ports:
+ - ${HOST__HTTP_PORT:?}:80
+ - ${HOST__HTTPS_PORT:?}:443
+ tmpfs:
+ - /run/secrets:mode=400
+ volumes:
+ - ${HOST__CERT_DIR:?}:/run/host_secrets:ro
+ depends_on:
+ - cgit
+ - radicale
+
+ cgit:
+ image: cgit:${COMPOSE_PROJECT_NAME}
+ build:
+ context: services/cgit
+ networks:
+ - cgit
+ volumes:
+ - ${HOST__CGITRC_DIR:?}:/etc/cgit:ro
+ - ${HOST__CGIT_FILTER_DIR:?}:/usr/local/lib/cgit/filters/commit
+ - ${HOST__CGIT_ABOUT_DIR:?}:/srv/cgit:ro
+ - ${HOST__GIT_REPO_DIR:?}:/srv/git:ro
+
+ radicale:
+ image: tomsquest/docker-radicale:tvcloud
+ build:
+ context: services/radicale
+ environment:
+ - TAKE_FILE_OWNERSHIP=false
+ init: true
+ read_only: true
+ security_opt:
+ - no-new-privileges:true
+ cap_drop:
+ - ALL
+ cap_add:
+ - SETUID
+ - SETGID
+ - CHOWN
+ - KILL
+ deploy:
+ resources:
+ limits:
+ memory: 256M
+ pids: 50
+ healthcheck:
+ test: curl -f http://127.0.0.1:5232 || exit 1
+ start_period: 5s
+ networks:
+ - radicale
+ volumes:
+ - ${HOST__RADICALE_USERS_DIR:?}:/etc/radicale/users:ro
+ - radicale_data:/data
+
+networks:
+ cgit:
+ radicale:
+
+volumes:
+ radicale_data: