services: postgres: image: pgvector/pgvector:pg17 container_name: affine_db environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - affine_db_data:/var/lib/postgresql/data restart: unless-stopped redis: image: redis:latest container_name: affine_redis volumes: - affine_redis_data:/data restart: unless-stopped affine: image: ghcr.io/toeverything/affine:stable container_name: affine_app depends_on: - postgres - redis ports: - "${AFFINE_PORT:-3010}:3010" volumes: - affine_config:/root/.affine/config - affine_storage:/root/.affine/storage environment: # Config AFFiNE AFFINE_REVISION: ${AFFINE_REVISION:-stable} AFFINE_INDEXER_ENABLED: ${AFFINE_INDEXER_ENABLED:-false} PORT: 3010 AFFINE_SERVER_HTTPS: ${AFFINE_SERVER_HTTPS:-true} AFFINE_SERVER_EXTERNAL_URL: ${AFFINE_EXTERNAL_URL} AFFINE_DISABLE_DEMO_WORKSPACE: true # SMTP / Mailer MAILER_HOST: ${MAILER_HOST} MAILER_PORT: ${MAILER_PORT} MAILER_USER: ${MAILER_USER} MAILER_PASSWORD: ${MAILER_PASSWORD} MAILER_SENDER: ${MAILER_SENDER} # Backend REDIS_SERVER_HOST: redis DATABASE_URL: ${DATABASE_URL} NODE_ENV: production AFFINE_ADMIN_EMAIL: ${AFFINE_ADMIN_EMAIL} AFFINE_ADMIN_PASSWORD: ${AFFINE_ADMIN_PASSWORD} restart: unless-stopped volumes: affine_db_data: affine_redis_data: affine_config: affine_storage: