|
version: '3.8' |
|
|
|
x-logging: &x-logging |
|
logging: |
|
driver: 'json-file' |
|
options: |
|
max-file: '5' |
|
max-size: '10m' |
|
|
|
services: |
|
appwrite-traefik: |
|
image: traefik:2.11 |
|
container_name: appwrite-traefik |
|
<<: *x-logging |
|
command: |
|
- --providers.file.directory=/storage/config |
|
- --providers.file.watch=true |
|
- --providers.docker=true |
|
- --providers.docker.exposedByDefault=false |
|
- --providers.docker.constraints=Label(`traefik.constraint-label-stack`,`appwrite`) |
|
- --entrypoints.appwrite_web.address=:8123 |
|
- --entrypoints.appwrite_websecure.address=:44333 |
|
restart: unless-stopped |
|
ports: |
|
- 8123:8123 |
|
- 44333:44333 |
|
volumes: |
|
- /var/run/docker.sock:/var/run/docker.sock |
|
- appwrite-config:/storage/config:ro |
|
- appwrite-certificates:/storage/certificates:ro |
|
depends_on: |
|
- appwrite |
|
networks: |
|
- gateway |
|
- appwrite |
|
|
|
appwrite: |
|
image: appwrite/appwrite:1.7.4 |
|
container_name: appwrite |
|
<<: *x-logging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
labels: |
|
- "traefik.docker.network=appwrite" |
|
# HTTP Router for appwrite API |
|
- "traefik.http.routers.appwrite-http.entrypoints=web" |
|
- "traefik.http.routers.appwrite-http.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/`)" |
|
- "traefik.http.routers.appwrite-http.service=appwrite-api-svc" |
|
# HTTPS Router for appwrite API |
|
- "traefik.http.routers.appwrite-https.entrypoints=websecure" |
|
- "traefik.http.routers.appwrite-https.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/`)" |
|
- "traefik.http.routers.appwrite-https.service=appwrite-api-svc" |
|
- "traefik.http.routers.appwrite-https.tls=true" |
|
- "traefik.http.routers.appwrite-https.tls.certresolver=letsencrypt" # Standard resolver name |
|
# Service definition for appwrite API |
|
- "traefik.http.services.appwrite-api-svc.loadbalancer.server.port=8123" |
|
volumes: |
|
- appwrite-uploads:/storage/uploads:rw |
|
- appwrite-imports:/storage/imports:rw |
|
- appwrite-cache:/storage/cache:rw |
|
- appwrite-config:/storage/config:rw |
|
- appwrite-certificates:/storage/certificates:rw |
|
- appwrite-functions:/storage/functions:rw |
|
- appwrite-sites:/storage/sites:rw |
|
- appwrite-builds:/storage/builds:rw |
|
depends_on: |
|
- appwrite-mariadb |
|
- appwrite-redis |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_LOCALE |
|
- _APP_COMPRESSION_MIN_SIZE_BYTES |
|
- _APP_CONSOLE_WHITELIST_ROOT |
|
- _APP_CONSOLE_WHITELIST_EMAILS |
|
- _APP_CONSOLE_SESSION_ALERTS |
|
- _APP_CONSOLE_WHITELIST_IPS |
|
- _APP_CONSOLE_HOSTNAMES |
|
- _APP_SYSTEM_EMAIL_NAME |
|
- _APP_SYSTEM_EMAIL_ADDRESS |
|
- _APP_EMAIL_SECURITY |
|
- _APP_SYSTEM_RESPONSE_FORMAT |
|
- _APP_OPTIONS_ABUSE |
|
- _APP_OPTIONS_ROUTER_PROTECTION |
|
- _APP_OPTIONS_FORCE_HTTPS=disabled # you don't need this on coolify |
|
- _APP_OPTIONS_ROUTER_FORCE_HTTPS=disabled # you don't need this on coolify |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_DOMAIN |
|
- _APP_DOMAIN_TARGET_CNAME="" |
|
- _APP_DOMAIN_TARGET_AAAA="" |
|
- _APP_DOMAIN_TARGET_A="" |
|
- _APP_DOMAIN_FUNCTIONS |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_SMTP_HOST |
|
- _APP_SMTP_PORT |
|
- _APP_SMTP_SECURE |
|
- _APP_SMTP_USERNAME |
|
- _APP_SMTP_PASSWORD |
|
- _APP_USAGE_STATS |
|
- _APP_STORAGE_LIMIT |
|
- _APP_STORAGE_PREVIEW_LIMIT |
|
- _APP_STORAGE_ANTIVIRUS |
|
- _APP_STORAGE_ANTIVIRUS_HOST |
|
- _APP_STORAGE_ANTIVIRUS_PORT |
|
- _APP_STORAGE_DEVICE |
|
- _APP_STORAGE_S3_ACCESS_KEY |
|
- _APP_STORAGE_S3_SECRET |
|
- _APP_STORAGE_S3_REGION |
|
- _APP_STORAGE_S3_BUCKET |
|
- _APP_STORAGE_S3_ENDPOINT |
|
- _APP_STORAGE_DO_SPACES_ACCESS_KEY |
|
- _APP_STORAGE_DO_SPACES_SECRET |
|
- _APP_STORAGE_DO_SPACES_REGION |
|
- _APP_STORAGE_DO_SPACES_BUCKET |
|
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY |
|
- _APP_STORAGE_BACKBLAZE_SECRET |
|
- _APP_STORAGE_BACKBLAZE_REGION |
|
- _APP_STORAGE_BACKBLAZE_BUCKET |
|
- _APP_STORAGE_LINODE_ACCESS_KEY |
|
- _APP_STORAGE_LINODE_SECRET |
|
- _APP_STORAGE_LINODE_REGION |
|
- _APP_STORAGE_LINODE_BUCKET |
|
- _APP_STORAGE_WASABI_ACCESS_KEY |
|
- _APP_STORAGE_WASABI_SECRET |
|
- _APP_STORAGE_WASABI_REGION |
|
- _APP_STORAGE_WASABI_BUCKET |
|
- _APP_COMPUTE_SIZE_LIMIT |
|
- _APP_FUNCTIONS_TIMEOUT |
|
- _APP_SITES_TIMEOUT |
|
- _APP_COMPUTE_BUILD_TIMEOUT |
|
- _APP_COMPUTE_CPUS |
|
- _APP_COMPUTE_MEMORY |
|
- _APP_FUNCTIONS_RUNTIMES |
|
- _APP_SITES_RUNTIMES |
|
- _APP_DOMAIN_SITES |
|
- _APP_EXECUTOR_SECRET |
|
- _APP_EXECUTOR_HOST |
|
- _APP_LOGGING_CONFIG |
|
- _APP_MAINTENANCE_INTERVAL |
|
- _APP_MAINTENANCE_DELAY |
|
- _APP_MAINTENANCE_START_TIME |
|
- _APP_MAINTENANCE_RETENTION_EXECUTION |
|
- _APP_MAINTENANCE_RETENTION_CACHE |
|
- _APP_MAINTENANCE_RETENTION_ABUSE |
|
- _APP_MAINTENANCE_RETENTION_AUDIT |
|
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE |
|
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY |
|
- _APP_MAINTENANCE_RETENTION_SCHEDULES |
|
- _APP_SMS_PROVIDER |
|
- _APP_SMS_FROM |
|
- _APP_GRAPHQL_MAX_BATCH_SIZE |
|
- _APP_GRAPHQL_MAX_COMPLEXITY |
|
- _APP_GRAPHQL_MAX_DEPTH |
|
- _APP_VCS_GITHUB_APP_NAME |
|
- _APP_VCS_GITHUB_PRIVATE_KEY |
|
- _APP_VCS_GITHUB_APP_ID |
|
- _APP_VCS_GITHUB_WEBHOOK_SECRET |
|
- _APP_VCS_GITHUB_CLIENT_SECRET |
|
- _APP_VCS_GITHUB_CLIENT_ID |
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID |
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET |
|
- _APP_ASSISTANT_OPENAI_API_KEY |
|
|
|
appwrite-console: |
|
<<: *x-logging |
|
container_name: appwrite-console |
|
image: appwrite/console:6.0.13 |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
labels: |
|
- "traefik.docker.network=appwrite" |
|
# HTTP Router for appwrite console |
|
- "traefik.http.routers.appwrite-console-http.entrypoints=web" |
|
- "traefik.http.routers.appwrite-console-http.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/console`)" |
|
- "traefik.http.routers.appwrite-console-http.service=appwrite-console-svc" |
|
# HTTPS Router for appwrite console |
|
- "traefik.http.routers.appwrite-console-https.entrypoints=websecure" |
|
- "traefik.http.routers.appwrite-console-https.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/console`)" |
|
- "traefik.http.routers.appwrite-console-https.service=appwrite-console-svc" |
|
- "traefik.http.routers.appwrite-console-https.tls=true" |
|
- "traefik.http.routers.appwrite-console-https.tls.certresolver=letsencrypt" |
|
# Service definition for appwrite console |
|
- "traefik.http.services.appwrite-console-svc.loadbalancer.server.port=8123" |
|
|
|
appwrite-realtime: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: realtime |
|
container_name: appwrite-realtime |
|
<<: *x-logging |
|
restart: unless-stopped |
|
labels: |
|
- "traefik.docker.network=appwrite" |
|
# HTTP Router for appwrite realtime |
|
- "traefik.http.routers.appwrite-realtime-http.entrypoints=web" |
|
- "traefik.http.routers.appwrite-realtime-http.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/v1/realtime`)" |
|
- "traefik.http.routers.appwrite-realtime-http.service=appwrite-realtime-svc" |
|
# HTTPS Router for appwrite realtime |
|
- "traefik.http.routers.appwrite-realtime-https.entrypoints=websecure" |
|
- "traefik.http.routers.appwrite-realtime-https.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/v1/realtime`)" |
|
- "traefik.http.routers.appwrite-realtime-https.service=appwrite-realtime-svc" |
|
- "traefik.http.routers.appwrite-realtime-https.tls=true" |
|
- "traefik.http.routers.appwrite-realtime-https.tls.certresolver=letsencrypt" |
|
# Service definition for appwrite realtime |
|
- "traefik.http.services.appwrite-realtime-svc.loadbalancer.server.port=8123" |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-mariadb |
|
- appwrite-redis |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPTIONS_ABUSE |
|
- _APP_OPTIONS_ROUTER_PROTECTION |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_USAGE_STATS |
|
- _APP_LOGGING_CONFIG |
|
|
|
appwrite-worker-audits: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-audits |
|
<<: *x-logging |
|
container_name: appwrite-worker-audits |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
- appwrite-mariadb |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_LOGGING_CONFIG |
|
|
|
appwrite-worker-webhooks: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-webhooks |
|
<<: *x-logging |
|
container_name: appwrite-worker-webhooks |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
- appwrite-mariadb |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_EMAIL_SECURITY |
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_LOGGING_CONFIG |
|
|
|
appwrite-worker-deletes: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-deletes |
|
<<: *x-logging |
|
container_name: appwrite-worker-deletes |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
- appwrite-mariadb |
|
volumes: |
|
- appwrite-uploads:/storage/uploads:rw |
|
- appwrite-cache:/storage/cache:rw |
|
- appwrite-functions:/storage/functions:rw |
|
- appwrite-sites:/storage/sites:rw |
|
- appwrite-builds:/storage/builds:rw |
|
- appwrite-certificates:/storage/certificates:rw |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_STORAGE_DEVICE |
|
- _APP_STORAGE_S3_ACCESS_KEY |
|
- _APP_STORAGE_S3_SECRET |
|
- _APP_STORAGE_S3_REGION |
|
- _APP_STORAGE_S3_BUCKET |
|
- _APP_STORAGE_S3_ENDPOINT |
|
- _APP_STORAGE_DO_SPACES_ACCESS_KEY |
|
- _APP_STORAGE_DO_SPACES_SECRET |
|
- _APP_STORAGE_DO_SPACES_REGION |
|
- _APP_STORAGE_DO_SPACES_BUCKET |
|
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY |
|
- _APP_STORAGE_BACKBLAZE_SECRET |
|
- _APP_STORAGE_BACKBLAZE_REGION |
|
- _APP_STORAGE_BACKBLAZE_BUCKET |
|
- _APP_STORAGE_LINODE_ACCESS_KEY |
|
- _APP_STORAGE_LINODE_SECRET |
|
- _APP_STORAGE_LINODE_REGION |
|
- _APP_STORAGE_LINODE_BUCKET |
|
- _APP_STORAGE_WASABI_ACCESS_KEY |
|
- _APP_STORAGE_WASABI_SECRET |
|
- _APP_STORAGE_WASABI_REGION |
|
- _APP_STORAGE_WASABI_BUCKET |
|
- _APP_LOGGING_CONFIG |
|
- _APP_EXECUTOR_SECRET |
|
- _APP_EXECUTOR_HOST |
|
- _APP_MAINTENANCE_RETENTION_ABUSE |
|
- _APP_MAINTENANCE_RETENTION_AUDIT |
|
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE |
|
- _APP_MAINTENANCE_RETENTION_EXECUTION |
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS |
|
- _APP_EMAIL_CERTIFICATES |
|
|
|
appwrite-worker-databases: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-databases |
|
<<: *x-logging |
|
container_name: appwrite-worker-databases |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
- appwrite-mariadb |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_LOGGING_CONFIG |
|
|
|
appwrite-worker-builds: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-builds |
|
<<: *x-logging |
|
container_name: appwrite-worker-builds |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
- appwrite-mariadb |
|
volumes: |
|
- appwrite-functions:/storage/functions:rw |
|
- appwrite-sites:/storage/sites:rw |
|
- appwrite-builds:/storage/builds:rw |
|
- appwrite-uploads:/storage/uploads:rw |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_EXECUTOR_SECRET |
|
- _APP_EXECUTOR_HOST |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_LOGGING_CONFIG |
|
- _APP_VCS_GITHUB_APP_NAME |
|
- _APP_VCS_GITHUB_PRIVATE_KEY |
|
- _APP_VCS_GITHUB_APP_ID |
|
- _APP_FUNCTIONS_TIMEOUT |
|
- _APP_SITES_TIMEOUT |
|
- _APP_COMPUTE_BUILD_TIMEOUT |
|
- _APP_COMPUTE_CPUS |
|
- _APP_COMPUTE_MEMORY |
|
- _APP_COMPUTE_SIZE_LIMIT |
|
- _APP_OPTIONS_FORCE_HTTPS |
|
- _APP_OPTIONS_ROUTER_FORCE_HTTPS |
|
- _APP_DOMAIN |
|
- _APP_STORAGE_DEVICE |
|
- _APP_STORAGE_S3_ACCESS_KEY |
|
- _APP_STORAGE_S3_SECRET |
|
- _APP_STORAGE_S3_REGION |
|
- _APP_STORAGE_S3_BUCKET |
|
- _APP_STORAGE_S3_ENDPOINT |
|
- _APP_STORAGE_DO_SPACES_ACCESS_KEY |
|
- _APP_STORAGE_DO_SPACES_SECRET |
|
- _APP_STORAGE_DO_SPACES_REGION |
|
- _APP_STORAGE_DO_SPACES_BUCKET |
|
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY |
|
- _APP_STORAGE_BACKBLAZE_SECRET |
|
- _APP_STORAGE_BACKBLAZE_REGION |
|
- _APP_STORAGE_BACKBLAZE_BUCKET |
|
- _APP_STORAGE_LINODE_ACCESS_KEY |
|
- _APP_STORAGE_LINODE_SECRET |
|
- _APP_STORAGE_LINODE_REGION |
|
- _APP_STORAGE_LINODE_BUCKET |
|
- _APP_STORAGE_WASABI_ACCESS_KEY |
|
- _APP_STORAGE_WASABI_SECRET |
|
- _APP_STORAGE_WASABI_REGION |
|
- _APP_STORAGE_WASABI_BUCKET |
|
- _APP_DOMAIN_SITES |
|
|
|
appwrite-worker-certificates: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-certificates |
|
<<: *x-logging |
|
container_name: appwrite-worker-certificates |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
- appwrite-mariadb |
|
volumes: |
|
- appwrite-config:/storage/config:rw |
|
- appwrite-certificates:/storage/certificates:rw |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_DOMAIN |
|
- _APP_DOMAIN_TARGET_CNAME |
|
- _APP_DOMAIN_TARGET_AAAA |
|
- _APP_DOMAIN_TARGET_A |
|
- _APP_DOMAIN_FUNCTIONS |
|
- _APP_EMAIL_CERTIFICATES |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_LOGGING_CONFIG |
|
|
|
appwrite-worker-functions: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-functions |
|
<<: *x-logging |
|
container_name: appwrite-worker-functions |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
- appwrite-mariadb |
|
- openruntimes-executor |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_DOMAIN |
|
- _APP_OPTIONS_FORCE_HTTPS |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_FUNCTIONS_TIMEOUT |
|
- _APP_SITES_TIMEOUT |
|
- _APP_COMPUTE_BUILD_TIMEOUT |
|
- _APP_COMPUTE_CPUS |
|
- _APP_COMPUTE_MEMORY |
|
- _APP_EXECUTOR_SECRET |
|
- _APP_EXECUTOR_HOST |
|
- _APP_USAGE_STATS |
|
- _APP_DOCKER_HUB_USERNAME |
|
- _APP_DOCKER_HUB_PASSWORD |
|
- _APP_LOGGING_CONFIG |
|
|
|
appwrite-worker-mails: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-mails |
|
<<: *x-logging |
|
container_name: appwrite-worker-mails |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_SYSTEM_EMAIL_NAME |
|
- _APP_SYSTEM_EMAIL_ADDRESS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_SMTP_HOST |
|
- _APP_SMTP_PORT |
|
- _APP_SMTP_SECURE |
|
- _APP_SMTP_USERNAME |
|
- _APP_SMTP_PASSWORD |
|
- _APP_LOGGING_CONFIG |
|
- _APP_DOMAIN |
|
- _APP_OPTIONS_FORCE_HTTPS |
|
|
|
appwrite-worker-messaging: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-messaging |
|
<<: *x-logging |
|
container_name: appwrite-worker-messaging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
volumes: |
|
- appwrite-uploads:/storage/uploads:rw |
|
depends_on: |
|
- appwrite-redis |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_LOGGING_CONFIG |
|
- _APP_SMS_FROM |
|
- _APP_SMS_PROVIDER |
|
- _APP_STORAGE_DEVICE |
|
- _APP_STORAGE_S3_ACCESS_KEY |
|
- _APP_STORAGE_S3_SECRET |
|
- _APP_STORAGE_S3_REGION |
|
- _APP_STORAGE_S3_BUCKET |
|
- _APP_STORAGE_S3_ENDPOINT |
|
- _APP_STORAGE_DO_SPACES_ACCESS_KEY |
|
- _APP_STORAGE_DO_SPACES_SECRET |
|
- _APP_STORAGE_DO_SPACES_REGION |
|
- _APP_STORAGE_DO_SPACES_BUCKET |
|
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY |
|
- _APP_STORAGE_BACKBLAZE_SECRET |
|
- _APP_STORAGE_BACKBLAZE_REGION |
|
- _APP_STORAGE_BACKBLAZE_BUCKET |
|
- _APP_STORAGE_LINODE_ACCESS_KEY |
|
- _APP_STORAGE_LINODE_SECRET |
|
- _APP_STORAGE_LINODE_REGION |
|
- _APP_STORAGE_LINODE_BUCKET |
|
- _APP_STORAGE_WASABI_ACCESS_KEY |
|
- _APP_STORAGE_WASABI_SECRET |
|
- _APP_STORAGE_WASABI_REGION |
|
- _APP_STORAGE_WASABI_BUCKET |
|
|
|
appwrite-worker-migrations: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-migrations |
|
<<: *x-logging |
|
container_name: appwrite-worker-migrations |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
volumes: |
|
- appwrite-imports:/storage/imports:rw |
|
depends_on: |
|
- appwrite-mariadb |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_DOMAIN |
|
- _APP_DOMAIN_TARGET_CNAME |
|
- _APP_DOMAIN_TARGET_AAAA |
|
- _APP_DOMAIN_TARGET_A |
|
- _APP_EMAIL_SECURITY |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_LOGGING_CONFIG |
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID |
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET |
|
|
|
appwrite-task-maintenance: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: maintenance |
|
<<: *x-logging |
|
container_name: appwrite-task-maintenance |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_DOMAIN |
|
- _APP_DOMAIN_TARGET_CNAME |
|
- _APP_DOMAIN_TARGET_AAAA |
|
- _APP_DOMAIN_TARGET_A |
|
- _APP_DOMAIN_FUNCTIONS |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_MAINTENANCE_INTERVAL |
|
- _APP_MAINTENANCE_RETENTION_EXECUTION |
|
- _APP_MAINTENANCE_RETENTION_CACHE |
|
- _APP_MAINTENANCE_RETENTION_ABUSE |
|
- _APP_MAINTENANCE_RETENTION_AUDIT |
|
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE |
|
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY |
|
- _APP_MAINTENANCE_RETENTION_SCHEDULES |
|
|
|
appwrite-task-stats-resources: |
|
image: appwrite/appwrite:1.7.4 |
|
container_name: appwrite-task-stats-resources |
|
entrypoint: stats-resources |
|
<<: *x-logging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
- appwrite-mariadb |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_USAGE_STATS |
|
- _APP_LOGGING_CONFIG |
|
- _APP_DATABASE_SHARED_TABLES |
|
- _APP_STATS_RESOURCES_INTERVAL |
|
|
|
appwrite-worker-stats-resources: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-stats-resources |
|
container_name: appwrite-worker-stats-resources |
|
<<: *x-logging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
- appwrite-mariadb |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_USAGE_STATS |
|
- _APP_LOGGING_CONFIG |
|
- _APP_STATS_RESOURCES_INTERVAL |
|
|
|
appwrite-worker-stats-usage: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: worker-stats-usage |
|
container_name: appwrite-worker-stats-usage |
|
<<: *x-logging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-redis |
|
- appwrite-mariadb |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_USAGE_STATS |
|
- _APP_LOGGING_CONFIG |
|
- _APP_USAGE_AGGREGATION_INTERVAL |
|
|
|
appwrite-task-scheduler-functions: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: schedule-functions |
|
container_name: appwrite-task-scheduler-functions |
|
<<: *x-logging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-mariadb |
|
- appwrite-redis |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
|
|
appwrite-task-scheduler-executions: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: schedule-executions |
|
container_name: appwrite-task-scheduler-executions |
|
<<: *x-logging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-mariadb |
|
- appwrite-redis |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
|
|
appwrite-task-scheduler-messages: |
|
image: appwrite/appwrite:1.7.4 |
|
entrypoint: schedule-messages |
|
container_name: appwrite-task-scheduler-messages |
|
<<: *x-logging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
depends_on: |
|
- appwrite-mariadb |
|
- appwrite-redis |
|
environment: |
|
- _APP_ENV |
|
- _APP_WORKER_PER_CORE |
|
- _APP_OPENSSL_KEY_V1 |
|
- _APP_REDIS_HOST |
|
- _APP_REDIS_PORT |
|
- _APP_REDIS_USER |
|
- _APP_REDIS_PASS |
|
- _APP_DB_HOST |
|
- _APP_DB_PORT |
|
- _APP_DB_SCHEMA |
|
- _APP_DB_USER |
|
- _APP_DB_PASS |
|
|
|
appwrite-assistant: |
|
image: appwrite/assistant:0.4.0 |
|
container_name: appwrite-assistant |
|
<<: *x-logging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
environment: |
|
- _APP_ASSISTANT_OPENAI_API_KEY |
|
|
|
appwrite-browser: |
|
image: appwrite/browser:0.2.4 |
|
container_name: appwrite-browser |
|
<<: *x-logging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
|
|
openruntimes-executor: |
|
container_name: openruntimes-executor |
|
hostname: exc1 |
|
<<: *x-logging |
|
restart: unless-stopped |
|
stop_signal: SIGINT |
|
image: openruntimes/executor:0.7.14 |
|
networks: |
|
- appwrite |
|
- runtimes |
|
volumes: |
|
- /var/run/docker.sock:/var/run/docker.sock |
|
- appwrite-builds:/storage/builds:rw |
|
- appwrite-functions:/storage/functions:rw |
|
- appwrite-sites:/storage/sites:rw |
|
# Host mount nessessary to share files between executor and runtimes. |
|
# It's not possible to share mount file between 2 containers without host mount (copying is too slow) |
|
- /tmp:/tmp:rw |
|
environment: |
|
- OPR_EXECUTOR_INACTIVE_TRESHOLD=$_APP_COMPUTE_INACTIVE_THRESHOLD |
|
- OPR_EXECUTOR_MAINTENANCE_INTERVAL=$_APP_COMPUTE_MAINTENANCE_INTERVAL |
|
- OPR_EXECUTOR_NETWORK=$_APP_COMPUTE_RUNTIMES_NETWORK |
|
- OPR_EXECUTOR_DOCKER_HUB_USERNAME=$_APP_DOCKER_HUB_USERNAME |
|
- OPR_EXECUTOR_DOCKER_HUB_PASSWORD=$_APP_DOCKER_HUB_PASSWORD |
|
- OPR_EXECUTOR_ENV=$_APP_ENV |
|
- 'OPR_EXECUTOR_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES},${_APP_SITES_RUNTIMES}' |
|
- OPR_EXECUTOR_SECRET=$_APP_EXECUTOR_SECRET |
|
- OPR_EXECUTOR_RUNTIME_VERSIONS=v5 |
|
- OPR_EXECUTOR_LOGGING_CONFIG=$_APP_LOGGING_CONFIG |
|
- OPR_EXECUTOR_STORAGE_DEVICE=$_APP_STORAGE_DEVICE |
|
- OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY=$_APP_STORAGE_S3_ACCESS_KEY |
|
- OPR_EXECUTOR_STORAGE_S3_SECRET=$_APP_STORAGE_S3_SECRET |
|
- OPR_EXECUTOR_STORAGE_S3_REGION=$_APP_STORAGE_S3_REGION |
|
- OPR_EXECUTOR_STORAGE_S3_BUCKET=$_APP_STORAGE_S3_BUCKET |
|
- OPR_EXECUTOR_STORAGE_S3_ENDPOINT=$_APP_STORAGE_S3_ENDPOINT |
|
- OPR_EXECUTOR_STORAGE_DO_SPACES_ACCESS_KEY=$_APP_STORAGE_DO_SPACES_ACCESS_KEY |
|
- OPR_EXECUTOR_STORAGE_DO_SPACES_SECRET=$_APP_STORAGE_DO_SPACES_SECRET |
|
- OPR_EXECUTOR_STORAGE_DO_SPACES_REGION=$_APP_STORAGE_DO_SPACES_REGION |
|
- OPR_EXECUTOR_STORAGE_DO_SPACES_BUCKET=$_APP_STORAGE_DO_SPACES_BUCKET |
|
- OPR_EXECUTOR_STORAGE_BACKBLAZE_ACCESS_KEY=$_APP_STORAGE_BACKBLAZE_ACCESS_KEY |
|
- OPR_EXECUTOR_STORAGE_BACKBLAZE_SECRET=$_APP_STORAGE_BACKBLAZE_SECRET |
|
- OPR_EXECUTOR_STORAGE_BACKBLAZE_REGION=$_APP_STORAGE_BACKBLAZE_REGION |
|
- OPR_EXECUTOR_STORAGE_BACKBLAZE_BUCKET=$_APP_STORAGE_BACKBLAZE_BUCKET |
|
- OPR_EXECUTOR_STORAGE_LINODE_ACCESS_KEY=$_APP_STORAGE_LINODE_ACCESS_KEY |
|
- OPR_EXECUTOR_STORAGE_LINODE_SECRET=$_APP_STORAGE_LINODE_SECRET |
|
- OPR_EXECUTOR_STORAGE_LINODE_REGION=$_APP_STORAGE_LINODE_REGION |
|
- OPR_EXECUTOR_STORAGE_LINODE_BUCKET=$_APP_STORAGE_LINODE_BUCKET |
|
- OPR_EXECUTOR_STORAGE_WASABI_ACCESS_KEY=$_APP_STORAGE_WASABI_ACCESS_KEY |
|
- OPR_EXECUTOR_STORAGE_WASABI_SECRET=$_APP_STORAGE_WASABI_SECRET |
|
- OPR_EXECUTOR_STORAGE_WASABI_REGION=$_APP_STORAGE_WASABI_REGION |
|
- OPR_EXECUTOR_STORAGE_WASABI_BUCKET=$_APP_STORAGE_WASABI_BUCKET |
|
|
|
appwrite-mariadb: |
|
image: mariadb:10.11 # fix issues when upgrading using: mysql_upgrade -u root -p |
|
container_name: appwrite-mariadb |
|
<<: *x-logging |
|
restart: unless-stopped |
|
networks: |
|
- appwrite |
|
volumes: |
|
- appwrite-mariadb:/var/lib/mysql:rw |
|
environment: |
|
- MYSQL_ROOT_PASSWORD=${_APP_DB_ROOT_PASS} |
|
- MYSQL_DATABASE=${_APP_DB_SCHEMA} |
|
- MYSQL_USER=${_APP_DB_USER} |
|
- MYSQL_PASSWORD=${_APP_DB_PASS} |
|
- appwrite-MARIADB_AUTO_UPGRADE=1 |
|
command: 'mysqld --innodb-flush-method=fsync' |
|
|
|
appwrite-redis: |
|
image: redis:7.2.4-alpine |
|
container_name: appwrite-redis |
|
<<: *x-logging |
|
restart: unless-stopped |
|
command: > |
|
redis-server |
|
--maxmemory 512mb |
|
--maxmemory-policy allkeys-lru |
|
--maxmemory-samples 5 |
|
networks: |
|
- appwrite |
|
volumes: |
|
- appwrite-redis:/data:rw |
|
|
|
networks: |
|
appwrite: |
|
name: rcsagents-appwrite |
|
gateway: |
|
name: rcsagents-gateway |
|
runtimes: |
|
name: runtimes |
|
external: true |
|
|
|
volumes: |
|
appwrite-mariadb: {} |
|
appwrite-redis: {} |
|
appwrite-cache: {} |
|
appwrite-uploads: {} |
|
appwrite-imports: {} |
|
appwrite-certificates: {} |
|
appwrite-functions: {} |
|
appwrite-sites: {} |
|
appwrite-builds: {} |
|
appwrite-config: {} |