services: redis: image: redis:7.4-alpine restart: unless-stopped command: ["redis-server", "--appendonly", "yes"] volumes: - redis-data:/data postgres: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: relayhub POSTGRES_USER: relayhub POSTGRES_PASSWORD: relayhub volumes: - postgres-data:/var/lib/postgresql/data relay: build: context: . args: PIP_INDEX_URL: ${PIP_INDEX_URL:-https://pypi.tuna.tsinghua.edu.cn/simple} PIP_TRUSTED_HOST: ${PIP_TRUSTED_HOST:-pypi.tuna.tsinghua.edu.cn} restart: unless-stopped depends_on: - redis - postgres ports: - "18000:18000" environment: RELAY_REDIS_URL: redis://redis:6379/0 RELAY_DATABASE_URL: postgresql://relayhub:relayhub@postgres:5432/relayhub RELAY_CONFIG_PATH: /app/data/config.json RELAY_RETRY_ATTEMPTS: 3 RELAY_CREDENTIAL_429_COOLDOWN_SECONDS: 60 RELAY_SITE_ERROR_THRESHOLD: 10 RELAY_SITE_DISABLE_SECONDS: 300 RELAY_TIMEOUT_SECONDS: 120 volumes: - ./data:/app/data - ../register2(1)/logs:/import/register-logs:ro volumes: redis-data: postgres-data: