757 lines
21 KiB
YAML
757 lines
21 KiB
YAML
|
x-logging: &x-logging
|
||
|
logging:
|
||
|
driver: 'json-file'
|
||
|
options:
|
||
|
max-file: '5'
|
||
|
max-size: '10m'
|
||
|
|
||
|
x-image: &x-image
|
||
|
image: appwrite/appwrite:1.4.3
|
||
|
|
||
|
x-image-assistant: &x-image-assistant
|
||
|
image: appwrite/assistant:0.2.1
|
||
|
|
||
|
version: '3'
|
||
|
services:
|
||
|
appwrite:
|
||
|
<<: *x-image
|
||
|
container_name: appwrite
|
||
|
<<: *x-logging
|
||
|
labels:
|
||
|
- traefik.constraint-label-stack=appwrite
|
||
|
- traefik.docker.network=appwrite
|
||
|
- traefik.http.services.appwrite_api.loadbalancer.server.port=80
|
||
|
#http
|
||
|
- traefik.http.routers.appwrite_api_http.entrypoints=web
|
||
|
- traefik.http.routers.appwrite_api_http.rule=PathPrefix(`/`)
|
||
|
- traefik.http.routers.appwrite_api_http.service=appwrite_api
|
||
|
# https
|
||
|
- traefik.http.routers.appwrite_api_https.entrypoints=websecure
|
||
|
- traefik.http.routers.appwrite_api_https.rule=PathPrefix(`/`)
|
||
|
- traefik.http.routers.appwrite_api_https.service=appwrite_api
|
||
|
- traefik.http.routers.appwrite_api_https.tls=true
|
||
|
volumes:
|
||
|
- appwrite-uploads:/storage/uploads:rw
|
||
|
- appwrite-cache:/storage/cache:rw
|
||
|
- appwrite-config:/storage/config:rw
|
||
|
- appwrite-certificates:/storage/certificates:rw
|
||
|
- appwrite-functions:/storage/functions:rw
|
||
|
depends_on:
|
||
|
- mariadb
|
||
|
- redis
|
||
|
# - clamav
|
||
|
- influxdb
|
||
|
environment:
|
||
|
- SERVICE_FQDN_APPWRITE=/
|
||
|
- _APP_ENV
|
||
|
- _APP_WORKER_PER_CORE
|
||
|
- _APP_LOCALE
|
||
|
- _APP_CONSOLE_WHITELIST_ROOT
|
||
|
- _APP_CONSOLE_WHITELIST_EMAILS
|
||
|
- _APP_CONSOLE_WHITELIST_IPS
|
||
|
- _APP_SYSTEM_EMAIL_NAME
|
||
|
- _APP_SYSTEM_EMAIL_ADDRESS
|
||
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
||
|
- _APP_SYSTEM_RESPONSE_FORMAT
|
||
|
- _APP_OPTIONS_ABUSE
|
||
|
- _APP_OPTIONS_FORCE_HTTPS
|
||
|
- _APP_OPENSSL_KEY_V1
|
||
|
- _APP_DOMAIN
|
||
|
- _APP_DOMAIN_TARGET
|
||
|
- _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_INFLUXDB_HOST
|
||
|
- _APP_INFLUXDB_PORT
|
||
|
- _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_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_FUNCTIONS_SIZE_LIMIT
|
||
|
- _APP_FUNCTIONS_TIMEOUT
|
||
|
- _APP_FUNCTIONS_BUILD_TIMEOUT
|
||
|
- _APP_FUNCTIONS_CPUS
|
||
|
- _APP_FUNCTIONS_MEMORY
|
||
|
- _APP_FUNCTIONS_RUNTIMES
|
||
|
- _APP_EXECUTOR_SECRET
|
||
|
- _APP_EXECUTOR_HOST
|
||
|
- _APP_LOGGING_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
- _APP_STATSD_HOST
|
||
|
- _APP_STATSD_PORT
|
||
|
- _APP_MAINTENANCE_INTERVAL
|
||
|
- _APP_MAINTENANCE_RETENTION_EXECUTION
|
||
|
- _APP_MAINTENANCE_RETENTION_CACHE
|
||
|
- _APP_MAINTENANCE_RETENTION_ABUSE
|
||
|
- _APP_MAINTENANCE_RETENTION_AUDIT
|
||
|
- _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-realtime:
|
||
|
<<: *x-image
|
||
|
entrypoint: realtime
|
||
|
container_name: appwrite-realtime
|
||
|
<<: *x-logging
|
||
|
labels:
|
||
|
- "traefik.constraint-label-stack=appwrite"
|
||
|
- "traefik.docker.network=appwrite"
|
||
|
- "traefik.http.services.appwrite_realtime.loadbalancer.server.port=80"
|
||
|
#ws
|
||
|
- traefik.http.routers.appwrite_realtime_ws.entrypoints=web
|
||
|
- traefik.http.routers.appwrite_realtime_ws.rule=PathPrefix(`/v1/realtime`)
|
||
|
- traefik.http.routers.appwrite_realtime_ws.service=appwrite_realtime
|
||
|
# wss
|
||
|
- traefik.http.routers.appwrite_realtime_wss.entrypoints=websecure
|
||
|
- traefik.http.routers.appwrite_realtime_wss.rule=PathPrefix(`/v1/realtime`)
|
||
|
- traefik.http.routers.appwrite_realtime_wss.service=appwrite_realtime
|
||
|
- traefik.http.routers.appwrite_realtime_wss.tls=true
|
||
|
- traefik.http.routers.appwrite_realtime_wss.tls.certresolver=dns
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- mariadb
|
||
|
- redis
|
||
|
environment:
|
||
|
- SERVICE_FQDN_APPWRITE=/v1/realtime
|
||
|
- _APP_ENV
|
||
|
- _APP_WORKER_PER_CORE
|
||
|
- _APP_OPTIONS_ABUSE
|
||
|
- _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_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
|
||
|
appwrite-worker-audits:
|
||
|
<<: *x-image
|
||
|
entrypoint: worker-audits
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-worker-audits
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- redis
|
||
|
- 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_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
|
||
|
appwrite-worker-webhooks:
|
||
|
<<: *x-image
|
||
|
entrypoint: worker-webhooks
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-worker-webhooks
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- redis
|
||
|
- mariadb
|
||
|
environment:
|
||
|
- _APP_ENV
|
||
|
- _APP_WORKER_PER_CORE
|
||
|
- _APP_OPENSSL_KEY_V1
|
||
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
||
|
- _APP_REDIS_HOST
|
||
|
- _APP_REDIS_PORT
|
||
|
- _APP_REDIS_USER
|
||
|
- _APP_REDIS_PASS
|
||
|
- _APP_LOGGING_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
|
||
|
appwrite-worker-deletes:
|
||
|
<<: *x-image
|
||
|
entrypoint: worker-deletes
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-worker-deletes
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- redis
|
||
|
- mariadb
|
||
|
volumes:
|
||
|
- appwrite-uploads:/storage/uploads:rw
|
||
|
- appwrite-cache:/storage/cache:rw
|
||
|
- appwrite-functions:/storage/functions: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_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_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
- _APP_EXECUTOR_SECRET
|
||
|
- _APP_EXECUTOR_HOST
|
||
|
|
||
|
appwrite-worker-databases:
|
||
|
<<: *x-image
|
||
|
entrypoint: worker-databases
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-worker-databases
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- redis
|
||
|
- 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_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
|
||
|
appwrite-worker-builds:
|
||
|
<<: *x-image
|
||
|
entrypoint: worker-builds
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-worker-builds
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- redis
|
||
|
- mariadb
|
||
|
volumes:
|
||
|
- appwrite-functions:/storage/functions:rw
|
||
|
- appwrite-builds:/storage/builds: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_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
- _APP_VCS_GITHUB_APP_NAME
|
||
|
- _APP_VCS_GITHUB_PRIVATE_KEY
|
||
|
- _APP_VCS_GITHUB_APP_ID
|
||
|
- _APP_FUNCTIONS_TIMEOUT
|
||
|
- _APP_FUNCTIONS_BUILD_TIMEOUT
|
||
|
- _APP_FUNCTIONS_CPUS
|
||
|
- _APP_FUNCTIONS_MEMORY
|
||
|
- _APP_OPTIONS_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_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-certificates:
|
||
|
<<: *x-image
|
||
|
entrypoint: worker-certificates
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-worker-certificates
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- redis
|
||
|
- 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
|
||
|
- _APP_DOMAIN_FUNCTIONS
|
||
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
||
|
- _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_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
|
||
|
appwrite-worker-functions:
|
||
|
<<: *x-image
|
||
|
entrypoint: worker-functions
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-worker-functions
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- redis
|
||
|
- mariadb
|
||
|
- openruntimes-executor
|
||
|
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_FUNCTIONS_TIMEOUT
|
||
|
- _APP_FUNCTIONS_BUILD_TIMEOUT
|
||
|
- _APP_FUNCTIONS_CPUS
|
||
|
- _APP_FUNCTIONS_MEMORY
|
||
|
- _APP_EXECUTOR_SECRET
|
||
|
- _APP_EXECUTOR_HOST
|
||
|
- _APP_USAGE_STATS
|
||
|
- _APP_DOCKER_HUB_USERNAME
|
||
|
- _APP_DOCKER_HUB_PASSWORD
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
- _APP_LOGGING_PROVIDER
|
||
|
|
||
|
appwrite-worker-mails:
|
||
|
<<: *x-image
|
||
|
entrypoint: worker-mails
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-worker-mails
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- redis
|
||
|
environment:
|
||
|
- _APP_ENV
|
||
|
- _APP_WORKER_PER_CORE
|
||
|
- _APP_OPENSSL_KEY_V1
|
||
|
- _APP_SYSTEM_EMAIL_NAME
|
||
|
- _APP_SYSTEM_EMAIL_ADDRESS
|
||
|
- _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_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
|
||
|
appwrite-worker-messaging:
|
||
|
<<: *x-image
|
||
|
entrypoint: worker-messaging
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-worker-messaging
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- redis
|
||
|
environment:
|
||
|
- _APP_ENV
|
||
|
- _APP_WORKER_PER_CORE
|
||
|
- _APP_REDIS_HOST
|
||
|
- _APP_REDIS_PORT
|
||
|
- _APP_REDIS_USER
|
||
|
- _APP_REDIS_PASS
|
||
|
- _APP_SMS_PROVIDER
|
||
|
- _APP_SMS_FROM
|
||
|
- _APP_LOGGING_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
|
||
|
appwrite-worker-migrations:
|
||
|
<<: *x-image
|
||
|
entrypoint: worker-migrations
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-worker-migrations
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- mariadb
|
||
|
environment:
|
||
|
- _APP_ENV
|
||
|
- _APP_WORKER_PER_CORE
|
||
|
- _APP_OPENSSL_KEY_V1
|
||
|
- _APP_DOMAIN
|
||
|
- _APP_DOMAIN_TARGET
|
||
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
||
|
- _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_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID
|
||
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET
|
||
|
|
||
|
appwrite-maintenance:
|
||
|
<<: *x-image
|
||
|
entrypoint: maintenance
|
||
|
<<: *x-logging
|
||
|
container_name: appwrite-maintenance
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- redis
|
||
|
environment:
|
||
|
- _APP_ENV
|
||
|
- _APP_WORKER_PER_CORE
|
||
|
- _APP_DOMAIN
|
||
|
- _APP_DOMAIN_TARGET
|
||
|
- _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_USAGE_HOURLY
|
||
|
- _APP_MAINTENANCE_RETENTION_SCHEDULES
|
||
|
|
||
|
appwrite-usage:
|
||
|
<<: *x-image
|
||
|
entrypoint: usage
|
||
|
container_name: appwrite-usage
|
||
|
<<: *x-logging
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- influxdb
|
||
|
- 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_INFLUXDB_HOST
|
||
|
- _APP_INFLUXDB_PORT
|
||
|
- _APP_USAGE_AGGREGATION_INTERVAL
|
||
|
- _APP_REDIS_HOST
|
||
|
- _APP_REDIS_PORT
|
||
|
- _APP_REDIS_USER
|
||
|
- _APP_REDIS_PASS
|
||
|
- _APP_USAGE_STATS
|
||
|
- _APP_LOGGING_PROVIDER
|
||
|
- _APP_LOGGING_CONFIG
|
||
|
|
||
|
appwrite-schedule:
|
||
|
<<: *x-image
|
||
|
entrypoint: schedule
|
||
|
container_name: appwrite-schedule
|
||
|
<<: *x-logging
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
depends_on:
|
||
|
- mariadb
|
||
|
- 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:
|
||
|
<<: *x-image-assistant
|
||
|
container_name: appwrite-assistant
|
||
|
<<: *x-logging
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
environment:
|
||
|
- _APP_ASSISTANT_OPENAI_API_KEY
|
||
|
|
||
|
openruntimes-executor:
|
||
|
container_name: openruntimes-executor
|
||
|
hostname: appwrite-executor
|
||
|
<<: *x-logging
|
||
|
stop_signal: SIGINT
|
||
|
image: openruntimes/executor:0.4.1
|
||
|
networks:
|
||
|
- appwrite
|
||
|
- runtimes
|
||
|
volumes:
|
||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||
|
- appwrite-builds:/storage/builds:rw
|
||
|
- appwrite-functions:/storage/functions: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_FUNCTIONS_INACTIVE_THRESHOLD
|
||
|
- OPR_EXECUTOR_MAINTENANCE_INTERVAL=$_APP_FUNCTIONS_MAINTENANCE_INTERVAL
|
||
|
- OPR_EXECUTOR_NETWORK=$_APP_FUNCTIONS_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
|
||
|
- OPR_EXECUTOR_SECRET=$_APP_EXECUTOR_SECRET
|
||
|
- OPR_EXECUTOR_LOGGING_PROVIDER=$_APP_LOGGING_PROVIDER
|
||
|
- 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_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
|
||
|
|
||
|
mariadb:
|
||
|
image: mariadb:10.7 # 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}
|
||
|
command: 'mysqld --innodb-flush-method=fsync'
|
||
|
|
||
|
redis:
|
||
|
image: redis:7.0.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
|
||
|
|
||
|
# clamav:
|
||
|
# image: appwrite/clamav:1.2.0
|
||
|
# container_name: appwrite-clamav
|
||
|
# restart: unless-stopped
|
||
|
# networks:
|
||
|
# - appwrite
|
||
|
# volumes:
|
||
|
# - appwrite-uploads:/storage/uploads
|
||
|
|
||
|
influxdb:
|
||
|
image: appwrite/influxdb:1.5.0
|
||
|
container_name: appwrite-influxdb
|
||
|
<<: *x-logging
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
volumes:
|
||
|
- appwrite-influxdb:/var/lib/influxdb:rw
|
||
|
|
||
|
telegraf:
|
||
|
image: appwrite/telegraf:1.4.0
|
||
|
container_name: appwrite-telegraf
|
||
|
<<: *x-logging
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- appwrite
|
||
|
environment:
|
||
|
- _APP_INFLUXDB_HOST
|
||
|
- _APP_INFLUXDB_PORT
|
||
|
|
||
|
networks:
|
||
|
gateway:
|
||
|
name: gateway
|
||
|
appwrite:
|
||
|
name: appwrite
|
||
|
runtimes:
|
||
|
name: runtimes
|
||
|
|
||
|
volumes:
|
||
|
appwrite-mariadb:
|
||
|
appwrite-redis:
|
||
|
appwrite-cache:
|
||
|
appwrite-uploads:
|
||
|
appwrite-certificates:
|
||
|
appwrite-functions:
|
||
|
appwrite-builds:
|
||
|
appwrite-influxdb:
|
||
|
appwrite-config:
|