diff --git a/openflare_server/.dockerignore b/openflare_server/.dockerignore new file mode 100644 index 00000000..a6ed8cd9 --- /dev/null +++ b/openflare_server/.dockerignore @@ -0,0 +1,10 @@ +web/node_modules +web/.next +web/build +web/out + +upload +logs + +.git +.github diff --git a/openflare_server/docker-compose.yaml b/openflare_server/docker-compose.yaml new file mode 100644 index 00000000..4d324d34 --- /dev/null +++ b/openflare_server/docker-compose.yaml @@ -0,0 +1,35 @@ +services: + postgres: + image: postgres:17-alpine + restart: unless-stopped + environment: + POSTGRES_DB: openflare + POSTGRES_USER: openflare + POSTGRES_PASSWORD: replace-with-strong-password + volumes: + - ./postgres-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U openflare -d openflare"] + interval: 10s + timeout: 5s + retries: 5 + + openflare: + build: + dockerfile: Dockerfile + restart: unless-stopped + depends_on: + postgres: + condition: service_healthy + ports: + - "3000:3000" + environment: + SESSION_SECRET: replace-with-random-string + SQLITE_PATH: /data/openflare.db + DSN: postgres://openflare:replace-with-strong-password@postgres:5432/openflare?sslmode=disable + GIN_MODE: release + LOG_LEVEL: info + + volumes: + - ./openflare-data:/data +