# Example only: enable with docker compose -f compose.yaml -f compose.publish-targets.example.yaml up -d --build # Web receives metadata/config; private keys and IAM credentials are used ONLY by worker. services: siteforge: environment: SITEFORGE_DEPLOY_STAGING_TYPE: sftp SITEFORGE_DEPLOY_STAGING_HOST: ${SITEFORGE_STAGING_SFTP_HOST:?Provide authorized host} SITEFORGE_DEPLOY_STAGING_PORT: "${SITEFORGE_STAGING_SFTP_PORT:-22}" SITEFORGE_DEPLOY_STAGING_USERNAME: ${SITEFORGE_STAGING_SFTP_USER:?Provide publisher account} SITEFORGE_DEPLOY_STAGING_REMOTE_ROOT: ${SITEFORGE_STAGING_REMOTE_ROOT:-/srv/siteforge/sites} SITEFORGE_DEPLOY_STAGING_KNOWN_HOSTS_FILE: /run/secrets/siteforge_known_hosts SITEFORGE_DEPLOY_STAGING_SSH_KEY_FILE: /run/secrets/siteforge_publish_key SITEFORGE_DEPLOY_STAGING_PUBLIC_URL: ${SITEFORGE_STAGING_PUBLIC_URL:?Set HTTPS public site URL} SITEFORGE_DEPLOY_PRODUCTION_TYPE: s3 SITEFORGE_DEPLOY_PRODUCTION_BUCKET: ${SITEFORGE_PRODUCTION_S3_BUCKET:?Set bucket} SITEFORGE_DEPLOY_PRODUCTION_REGION: ${SITEFORGE_PRODUCTION_S3_REGION:?Set AWS region} SITEFORGE_DEPLOY_PRODUCTION_PREFIX: ${SITEFORGE_PRODUCTION_S3_PREFIX:-siteforge} SITEFORGE_DEPLOY_PRODUCTION_POINTER_AWARE: "1" SITEFORGE_DEPLOY_PRODUCTION_PUBLIC_URL: ${SITEFORGE_PRODUCTION_PUBLIC_URL:?Set pointer-aware gateway HTTPS URL} worker: environment: SITEFORGE_DEPLOY_STAGING_TYPE: sftp SITEFORGE_DEPLOY_STAGING_HOST: ${SITEFORGE_STAGING_SFTP_HOST:?Provide authorized host} SITEFORGE_DEPLOY_STAGING_PORT: "${SITEFORGE_STAGING_SFTP_PORT:-22}" SITEFORGE_DEPLOY_STAGING_USERNAME: ${SITEFORGE_STAGING_SFTP_USER:?Provide publisher account} SITEFORGE_DEPLOY_STAGING_REMOTE_ROOT: ${SITEFORGE_STAGING_REMOTE_ROOT:-/srv/siteforge/sites} SITEFORGE_DEPLOY_STAGING_KNOWN_HOSTS_FILE: /run/secrets/siteforge_known_hosts SITEFORGE_DEPLOY_STAGING_SSH_KEY_FILE: /run/secrets/siteforge_publish_key SITEFORGE_DEPLOY_STAGING_PUBLIC_URL: ${SITEFORGE_STAGING_PUBLIC_URL:?Set HTTPS public site URL} SITEFORGE_DEPLOY_PRODUCTION_TYPE: s3 SITEFORGE_DEPLOY_PRODUCTION_BUCKET: ${SITEFORGE_PRODUCTION_S3_BUCKET:?Set bucket} SITEFORGE_DEPLOY_PRODUCTION_REGION: ${SITEFORGE_PRODUCTION_S3_REGION:?Set AWS region} SITEFORGE_DEPLOY_PRODUCTION_PREFIX: ${SITEFORGE_PRODUCTION_S3_PREFIX:-siteforge} SITEFORGE_DEPLOY_PRODUCTION_POINTER_AWARE: "1" SITEFORGE_DEPLOY_PRODUCTION_PUBLIC_URL: ${SITEFORGE_PRODUCTION_PUBLIC_URL:?Set pointer-aware gateway HTTPS URL} AWS_REGION: ${SITEFORGE_PRODUCTION_S3_REGION:?Set AWS region} # Prefer IAM instance/service role; never put AWS static keys into .env. volumes: - ./secrets/publish_known_hosts:/run/secrets/siteforge_known_hosts:ro - ./secrets/publish_key:/run/secrets/siteforge_publish_key:ro