diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..f6e21fc --- /dev/null +++ b/compose.yaml @@ -0,0 +1,61 @@ +services: + SnapOtter: + image: snapotter/snapotter:latest # or ghcr.io/snapotter-hq/snapotter:latest +# ports: +# - "1349:1349" + networks: + - bragi-local + volumes: + - /opt/10_images/snapotter:/data + environment: + - AUTH_ENABLED=true + - DEFAULT_USERNAME=admin + - DEFAULT_PASSWORD=admin + - DATABASE_URL=postgres://snapotter:snapotter@postgres:5432/snapotter + - REDIS_URL=redis://redis:6379 + depends_on: + postgres: + condition: service_healthy + redis: + condition: service_healthy + restart: unless-stopped + + postgres: + image: postgres:17-alpine + environment: + POSTGRES_USER: snapotter + POSTGRES_PASSWORD: snapotter + POSTGRES_DB: snapotter + networks: + - bragi-local + volumes: + - /opt/10_images/postgresql:/var/lib/postgresql/data + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready -U snapotter"] + interval: 10s + timeout: 5s + retries: 12 + + redis: + networks: + - bragi-local + image: redis:8-alpine + command: ["redis-server", "--maxmemory-policy", "noeviction", "--appendonly", "yes"] + volumes: + - /opt/10_images/redis:/data + restart: unless-stopped + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 12 + +volumes: + SnapOtter-data: + SnapOtter-pgdata: + SnapOtter-redisdata: + +networks: + bragi-local: + external: true \ No newline at end of file