version: "3.8" services: affinepro: image: ghcr.io/toeverything/affine-graphql:stable-780dd83 restart: unless-stopped ports: - 3010 volumes: - affine-storage:/root/.affine/storage - affine-config:/root/.affine/config environment: - REDIS_SERVER_HOST=redis - REDIS_SERVER_PASSWORD=${REDIS_PASSWORD} - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/affinepro - AFFINE_SERVER_HOST=${DOMAIN} - MAILER_HOST=${MAILER_HOST} - MAILER_PORT=${MAILER_PORT} - MAILER_USER=${MAILER_USER} - MAILER_PASSWORD=${MAILER_PASSWORD} - MAILER_SENDER=${MAILER_SENDER} depends_on: - db - redis migration: image: ghcr.io/toeverything/affine-graphql:stable-780dd83 command: node ./scripts/self-host-predeploy.js environment: - REDIS_SERVER_HOST=redis - REDIS_SERVER_PASSWORD=${REDIS_PASSWORD} - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/affinepro - AFFINE_SERVER_HOST=${DOMAIN} - MAILER_HOST=${MAILER_HOST} - MAILER_PORT=${MAILER_PORT} - MAILER_USER=${MAILER_USER} - MAILER_PASSWORD=${MAILER_PASSWORD} - MAILER_SENDER=${MAILER_SENDER} volumes: - affine-storage:/root/.affine/storage - affine-config:/root/.affine/config depends_on: - db - redis db: image: postgres:15-alpine restart: unless-stopped environment: - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=affinepro volumes: - postgres-data:/var/lib/postgresql/data redis: image: redis:7-alpine restart: unless-stopped command: redis-server --requirepass ${REDIS_PASSWORD} volumes: - redis-data:/data volumes: affine-storage: {} affine-config: {} postgres-data: {} redis-data: {}