From 73e672fce569ac6a67edaa392e01a27211684106 Mon Sep 17 00:00:00 2001 From: "stephane.david" Date: Wed, 1 Apr 2026 19:14:11 +0200 Subject: [PATCH] First version --- docker-compose.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a1cc5e5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,38 @@ +services: + init-permissions: + image: alpine:3.20 + container_name: trek-init-permissions + user: "0:0" + command: > + sh -c "mkdir -p /app/data /app/uploads && + chown -R 1000:1000 /app/data /app/uploads && + chmod -R u+rwX /app/data /app/uploads" + volumes: + - /var/lib/docker/volumes/trek/data:/app/data + - /var/lib/docker/volumes/trek/uploads:/app/uploads + restart: "no" + + app: + image: mauriceboe/trek:latest + container_name: trek + depends_on: + init-permissions: + condition: service_completed_successfully + ports: + - "3200:3000" + environment: + - NODE_ENV=production + - JWT_SECRET=${JWT_SECRET:-} + # - ALLOWED_ORIGINS=https://yourdomain.com # Optional: restrict CORS to specific origins + - PORT=3000 + - TZ=${TZ:-UTC} + volumes: + - /var/lib/docker/volumes/trek/data:/app/data + - /var/lib/docker/volumes/trek/uploads:/app/uploads + restart: unless-stopped + healthcheck: + test: ["CMD", "wget", "-qO-", "http://localhost:3000/api/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 15s \ No newline at end of file