From 5a7cfd8f9a582e14e4236f95636796e7a4d2040c Mon Sep 17 00:00:00 2001 From: Sebastian Date: Sat, 20 Sep 2025 12:44:01 +0200 Subject: [PATCH] fuck --- docker-compose.yml | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3db78da --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,57 @@ +version: '3.9' + +services: + db: + image: postgres:16-alpine + environment: + POSTGRES_DB: vbytes + POSTGRES_USER: postgres + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres} + volumes: + - postgres-data:/var/lib/postgresql/data + healthcheck: + test: ['CMD-SHELL', 'pg_isready -U postgres'] + interval: 10s + timeout: 5s + retries: 5 + restart: unless-stopped + + api: + build: ./api + environment: + DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/vbytes + DATABASE_MAX_CONNECTIONS: 10 + JWT_SECRET: ${JWT_SECRET:-dev_jwt_secret} + JWT_ISSUER: vbytes-api + JWT_TTL_SECONDS: 86400 + JWT_COOKIE_NAME: auth_token + JWT_COOKIE_SECURE: ${JWT_COOKIE_SECURE:-false} + ADMIN_USERNAME: ${ADMIN_USERNAME:-admin} + ADMIN_PASSWORD: ${ADMIN_PASSWORD:-admin123} + depends_on: + db: + condition: service_healthy + restart: unless-stopped + + web: + build: ./web + environment: + API_BASE_URL: http://api:8080 + HOST: 0.0.0.0 + PORT: 3000 + depends_on: + api: + condition: service_started + restart: unless-stopped + + cloudflared: + image: cloudflare/cloudflared:latest + command: ['tunnel', 'run', '--token', '${TUNNEL_TOKEN}'] + environment: + TUNNEL_TOKEN: ${TUNNEL_TOKEN} + depends_on: + - web + restart: unless-stopped + +volumes: + postgres-data: