Created
November 19, 2023 20:18
-
-
Save ptoal/b50bf4bf07ed28386524bdc8579aa83c to your computer and use it in GitHub Desktop.
podman-compose.yml for appwrite
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
x-logging: &x-logging | |
logging: | |
driver: 'json-file' | |
options: | |
max-file: '5' | |
max-size: '10m' | |
version: '3' | |
services: | |
traefik: | |
image: docker.io/traefik:2.9 | |
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=:80 | |
- --entrypoints.appwrite_websecure.address=:443 | |
- --accesslog=true | |
restart: unless-stopped | |
ports: | |
- 8080:80 | |
- 8443:443 | |
security_opt: | |
- label=disable | |
volumes: | |
- /run/user/1000/podman/podman.sock:/var/run/docker.sock:z | |
- appwrite-config:/storage/config:ro | |
- appwrite-certificates:/storage/certificates:ro | |
depends_on: | |
- appwrite | |
networks: | |
- gateway | |
- appwrite | |
appwrite: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
container_name: appwrite | |
<<: *x-logging | |
restart: unless-stopped | |
networks: | |
- appwrite | |
labels: | |
- traefik.enable=true | |
- 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=appwrite_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=appwrite_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 | |
# entrypoint: | |
# - php | |
# - -e | |
# - app/http.php | |
# - -dopcache.preload=opcache.preload=/usr/src/code/app/preload.php | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_LOCALE=${_APP_LOCALE} | |
- _APP_CONSOLE_WHITELIST_ROOT=${_APP_CONSOLE_WHITELIST_ROOT} | |
- _APP_CONSOLE_WHITELIST_EMAILS=${_APP_CONSOLE_WHITELIST_EMAILS} | |
- _APP_CONSOLE_WHITELIST_IPS=${_APP_CONSOLE_WHITELIST_IPS} | |
- _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME} | |
- _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS} | |
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} | |
- _APP_SYSTEM_RESPONSE_FORMAT=${_APP_SYSTEM_RESPONSE_FORMAT} | |
- _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE} | |
- _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION} | |
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS} | |
- _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_DOMAIN=${_APP_DOMAIN} | |
- _APP_DOMAIN_TARGET=${_APP_DOMAIN_TARGET} | |
- _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_SMTP_HOST=${_APP_SMTP_HOST} | |
- _APP_SMTP_PORT=${_APP_SMTP_PORT} | |
- _APP_SMTP_SECURE=${_APP_SMTP_SECURE} | |
- _APP_SMTP_USERNAME=${_APP_SMTP_USERNAME} | |
- _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD} | |
- _APP_USAGE_STATS=${_APP_USAGE_STATS} | |
- _APP_INFLUXDB_HOST=${_APP_INFLUXDB_HOST} | |
- _APP_INFLUXDB_PORT=${_APP_INFLUXDB_PORT} | |
- _APP_STORAGE_LIMIT=${_APP_STORAGE_LIMIT} | |
- _APP_STORAGE_PREVIEW_LIMIT=${_APP_STORAGE_PREVIEW_LIMIT} | |
- _APP_STORAGE_ANTIVIRUS=${_APP_STORAGE_ANTIVIRUS} | |
- _APP_STORAGE_ANTIVIRUS_HOST=${_APP_STORAGE_ANTIVIRUS_HOST} | |
- _APP_STORAGE_ANTIVIRUS_PORT=${_APP_STORAGE_ANTIVIRUS_PORT} | |
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_ACCESS_KEY} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_SECRET} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_REGION} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_BUCKET} | |
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY} | |
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET} | |
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION} | |
- _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET} | |
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY} | |
- _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET} | |
- _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION} | |
- _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET} | |
- _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY} | |
- _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET} | |
- _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION} | |
- _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET} | |
- _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY} | |
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} | |
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION} | |
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} | |
- _APP_FUNCTIONS_SIZE_LIMIT=${_APP_FUNCTIONS_SIZE_LIMIT} | |
- _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT} | |
- _APP_FUNCTIONS_BUILD_TIMEOUT=${_APP_FUNCTIONS_BUILD_TIMEOUT} | |
- _APP_FUNCTIONS_CPUS=${_APP_FUNCTIONS_CPUS} | |
- _APP_FUNCTIONS_MEMORY=${_APP_FUNCTIONS_MEMORY} | |
- _APP_FUNCTIONS_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES} | |
- _APP_EXECUTOR_SECRET=${_APP_EXECUTOR_SECRET} | |
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
- _APP_STATSD_HOST=${_APP_STATSD_HOST} | |
- _APP_STATSD_PORT=${_APP_STATSD_PORT} | |
- _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL} | |
- _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION} | |
- _APP_MAINTENANCE_RETENTION_CACHE=${_APP_MAINTENANCE_RETENTION_CACHE} | |
- _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE} | |
- _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT} | |
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY} | |
- _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES} | |
- _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER} | |
- _APP_SMS_FROM=${_APP_SMS_FROM} | |
- _APP_GRAPHQL_MAX_BATCH_SIZE=${_APP_GRAPHQL_MAX_BATCH_SIZE} | |
- _APP_GRAPHQL_MAX_COMPLEXITY=${_APP_GRAPHQL_MAX_COMPLEXITY} | |
- _APP_GRAPHQL_MAX_DEPTH=${_APP_GRAPHQL_MAX_DEPTH} | |
- _APP_VCS_GITHUB_APP_NAME=${_APP_VCS_GITHUB_APP_NAME} | |
- _APP_VCS_GITHUB_PRIVATE_KEY=${_APP_VCS_GITHUB_PRIVATE_KEY} | |
- _APP_VCS_GITHUB_APP_ID=${_APP_VCS_GITHUB_APP_ID} | |
- _APP_VCS_GITHUB_WEBHOOK_SECRET=${_APP_VCS_GITHUB_WEBHOOK_SECRET} | |
- _APP_VCS_GITHUB_CLIENT_SECRET=${_APP_VCS_GITHUB_CLIENT_SECRET} | |
- _APP_VCS_GITHUB_CLIENT_ID=${_APP_VCS_GITHUB_CLIENT_ID} | |
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID=${_APP_MIGRATIONS_FIREBASE_CLIENT_ID} | |
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET} | |
- _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY} | |
appwrite-realtime: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
entrypoint: realtime | |
container_name: appwrite-realtime | |
<<: *x-logging | |
restart: unless-stopped | |
labels: | |
- "traefik.enable=true" | |
- "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=appwrite_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=appwrite_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 | |
networks: | |
- appwrite | |
depends_on: | |
- mariadb | |
- redis | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE} | |
- _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_USAGE_STATS=${_APP_USAGE_STATS} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
appwrite-worker-audits: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
entrypoint: worker-audits | |
<<: *x-logging | |
container_name: appwrite-worker-audits | |
restart: unless-stopped | |
networks: | |
- appwrite | |
depends_on: | |
- redis | |
- mariadb | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
appwrite-worker-webhooks: | |
entrypoint: worker-webhooks | |
<<: *x-logging | |
container_name: appwrite-worker-webhooks | |
image: docker.io/appwrite/appwrite:1.4.13 | |
networks: | |
- appwrite | |
# volumes: | |
# - ./app:/usr/src/code/app | |
# - ./src:/usr/src/code/src | |
depends_on: | |
- redis | |
- mariadb | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
appwrite-worker-deletes: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
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_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_ACCESS_KEY} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_SECRET} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_REGION} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_BUCKET} | |
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY} | |
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET} | |
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION} | |
- _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET} | |
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY} | |
- _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET} | |
- _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION} | |
- _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET} | |
- _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY} | |
- _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET} | |
- _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION} | |
- _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET} | |
- _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY} | |
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} | |
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION} | |
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
- _APP_EXECUTOR_SECRET=${_APP_EXECUTOR_SECRET} | |
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST} | |
appwrite-worker-databases: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
entrypoint: worker-databases | |
<<: *x-logging | |
container_name: appwrite-worker-databases | |
restart: unless-stopped | |
networks: | |
- appwrite | |
depends_on: | |
- redis | |
- mariadb | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
appwrite-worker-builds: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
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_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_EXECUTOR_SECRET=${_APP_EXECUTOR_SECRET} | |
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
- _APP_VCS_GITHUB_APP_NAME=${_APP_VCS_GITHUB_APP_NAME} | |
- _APP_VCS_GITHUB_PRIVATE_KEY=${_APP_VCS_GITHUB_PRIVATE_KEY} | |
- _APP_VCS_GITHUB_APP_ID=${_APP_VCS_GITHUB_APP_ID} | |
- _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT} | |
- _APP_FUNCTIONS_BUILD_TIMEOUT=${_APP_FUNCTIONS_BUILD_TIMEOUT} | |
- _APP_FUNCTIONS_CPUS=${_APP_FUNCTIONS_CPUS} | |
- _APP_FUNCTIONS_MEMORY=${_APP_FUNCTIONS_MEMORY} | |
- _APP_FUNCTIONS_SIZE_LIMIT=${_APP_FUNCTIONS_SIZE_LIMIT} | |
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS} | |
- _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS} | |
- _APP_DOMAIN=${_APP_DOMAIN} | |
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_ACCESS_KEY} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_SECRET} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_REGION} | |
- _APP_STORAGE_S=${_APP_STORAGE_S3_BUCKET} | |
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY} | |
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET} | |
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION} | |
- _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET} | |
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY} | |
- _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET} | |
- _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION} | |
- _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET} | |
- _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY} | |
- _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET} | |
- _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION} | |
- _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET} | |
- _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY} | |
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} | |
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION} | |
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} | |
appwrite-worker-certificates: | |
entrypoint: worker-certificates | |
<<: *x-logging | |
container_name: appwrite-worker-certificates | |
image: docker.io/appwrite/appwrite:1.4.13 | |
networks: | |
- appwrite | |
depends_on: | |
- redis | |
- mariadb | |
volumes: | |
- appwrite-config:/storage/config:rw | |
- appwrite-certificates:/storage/certificates:rw | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_DOMAIN=${_APP_DOMAIN} | |
- _APP_DOMAIN_TARGET=${_APP_DOMAIN_TARGET} | |
- _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS} | |
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
appwrite-worker-functions: | |
entrypoint: worker-functions | |
<<: *x-logging | |
container_name: appwrite-worker-functions | |
image: docker.io/appwrite/appwrite:1.4.13 | |
networks: | |
- appwrite | |
depends_on: | |
- redis | |
- mariadb | |
- openruntimes-executor | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT} | |
- _APP_FUNCTIONS_BUILD_TIMEOUT=${_APP_FUNCTIONS_BUILD_TIMEOUT} | |
- _APP_FUNCTIONS_CPUS=${_APP_FUNCTIONS_CPUS} | |
- _APP_FUNCTIONS_MEMORY=${_APP_FUNCTIONS_MEMORY} | |
- _APP_EXECUTOR_SECRET=${_APP_EXECUTOR_SECRET} | |
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST} | |
- _APP_USAGE_STATS=${_APP_USAGE_STATS} | |
- _APP_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME} | |
- _APP_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
appwrite-worker-mails: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
entrypoint: worker-mails | |
<<: *x-logging | |
container_name: appwrite-worker-mails | |
restart: unless-stopped | |
networks: | |
- appwrite | |
depends_on: | |
- redis | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME} | |
- _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_SMTP_HOST=${_APP_SMTP_HOST} | |
- _APP_SMTP_PORT=${_APP_SMTP_PORT} | |
- _APP_SMTP_SECURE=${_APP_SMTP_SECURE} | |
- _APP_SMTP_USERNAME=${_APP_SMTP_USERNAME} | |
- _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
appwrite-worker-messaging: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
entrypoint: worker-messaging | |
<<: *x-logging | |
container_name: appwrite-worker-messaging | |
restart: unless-stopped | |
networks: | |
- appwrite | |
depends_on: | |
- redis | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER} | |
- _APP_SMS_FROM=${_APP_SMS_FROM} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
appwrite-worker-migrations: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
entrypoint: worker-migrations | |
<<: *x-logging | |
container_name: appwrite-worker-migrations | |
restart: unless-stopped | |
networks: | |
- appwrite | |
depends_on: | |
- mariadb | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_DOMAIN=${_APP_DOMAIN} | |
- _APP_DOMAIN_TARGET=${_APP_DOMAIN_TARGET} | |
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID=${_APP_MIGRATIONS_FIREBASE_CLIENT_ID} | |
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET} | |
appwrite-maintenance: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
entrypoint: maintenance | |
<<: *x-logging | |
container_name: appwrite-maintenance | |
restart: unless-stopped | |
networks: | |
- appwrite | |
depends_on: | |
- redis | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_DOMAIN=${_APP_DOMAIN} | |
- _APP_DOMAIN_TARGET=${_APP_DOMAIN_TARGET} | |
- _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL} | |
- _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION} | |
- _APP_MAINTENANCE_RETENTION_CACHE=${_APP_MAINTENANCE_RETENTION_CACHE} | |
- _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE} | |
- _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT} | |
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY} | |
- _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES} | |
appwrite-usage: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
entrypoint: usage | |
<<: *x-logging | |
container_name: appwrite-usage | |
restart: unless-stopped | |
networks: | |
- appwrite | |
depends_on: | |
- influxdb | |
- mariadb | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
- _APP_INFLUXDB_HOST=${_APP_INFLUXDB_HOST} | |
- _APP_INFLUXDB_PORT=${_APP_INFLUXDB_PORT} | |
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_USAGE_STATS=${_APP_USAGE_STATS} | |
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
appwrite-schedule: | |
image: docker.io/appwrite/appwrite:1.4.13 | |
entrypoint: schedule | |
<<: *x-logging | |
container_name: appwrite-schedule | |
restart: unless-stopped | |
networks: | |
- appwrite | |
depends_on: | |
- mariadb | |
- redis | |
environment: | |
- _APP_ENV=${_APP_ENV} | |
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} | |
- _APP_REDIS_HOST=${_APP_REDIS_HOST} | |
- _APP_REDIS_PORT=${_APP_REDIS_PORT} | |
- _APP_REDIS_USER=${_APP_REDIS_USER} | |
- _APP_REDIS_PASS=${_APP_REDIS_PASS} | |
- _APP_DB_HOST=${_APP_DB_HOST} | |
- _APP_DB_PORT=${_APP_DB_PORT} | |
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA} | |
- _APP_DB_USER=${_APP_DB_USER} | |
- _APP_DB_PASS=${_APP_DB_PASS} | |
appwrite-assistant: | |
image: docker.io/appwrite/assistant:0.2.2 | |
container_name: appwrite-assistant | |
restart: unless-stopped | |
networks: | |
- appwrite | |
environment: | |
- _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY} | |
openruntimes-executor: | |
container_name: openruntimes-executor | |
hostname: appwrite-executor | |
<<: *x-logging | |
restart: unless-stopped | |
stop_signal: SIGINT | |
image: docker.io/openruntimes/executor:0.4.5 | |
networks: | |
- appwrite | |
- runtimes | |
security_opt: | |
- label=disable | |
volumes: | |
- /run/user/1000/podman/podman.sock:/var/run/docker.sock:z | |
- 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) | |
- /home/ptoal/appwrite/tmp:/tmp:z | |
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_RUNTIME_VERSIONS=v2,v3 | |
- 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} | |
# openruntimes-proxy: | |
# container_name: openruntimes-proxy | |
# hostname: proxy | |
# <<: *x-logging | |
# stop_signal: SIGINT | |
# image: docker.io/openruntimes/proxy:0.3.1 | |
# networks: | |
# - appwrite | |
# - runtimes | |
# environment: | |
# - OPR_PROXY_WORKER_PER_CORE=${_APP_WORKER_PER_CORE} | |
# - OPR_PROXY_ENV=${_APP_ENV} | |
# - OPR_PROXY_EXECUTOR_SECRET=${_APP_EXECUTOR_SECRET} | |
# - OPR_PROXY_SECRET=${_APP_EXECUTOR_SECRET} | |
# - OPR_PROXY_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} | |
# - OPR_PROXY_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} | |
# - OPR_PROXY_ALGORITHM=random | |
# - OPR_PROXY_EXECUTORS=appwrite-executor | |
# - OPR_PROXY_HEALTHCHECK_INTERVAL=10000 | |
# - OPR_PROXY_MAX_TIMEOUT=600 | |
# - OPR_PROXY_HEALTHCHECK=enabled | |
mariadb: | |
image: docker.io/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' | |
# smtp: | |
# image: appwrite/smtp:1.2.0 | |
# container_name: appwrite-smtp | |
# restart: unless-stopped | |
# networks: | |
# - appwrite | |
# environment: | |
# - LOCAL_DOMAINS=@ | |
# - RELAY_FROM_HOSTS=192.168.0.0/16 ; *.yourdomain.com | |
# - SMARTHOST_HOST=smtp | |
# - SMARTHOST_PORT=587 | |
redis: | |
image: docker.io/redis:7.0.4-alpine | |
<<: *x-logging | |
container_name: appwrite-redis | |
restart: unless-stopped | |
command: > | |
redis-server | |
--maxmemory 512mb | |
--maxmemory-policy allkeys-lru | |
--maxmemory-samples 5 | |
networks: | |
- appwrite | |
volumes: | |
- appwrite-redis:/data:rw | |
# clamav: | |
# image: docker.io/appwrite/clamav:1.2.0 | |
# container_name: appwrite-clamav | |
# networks: | |
# - appwrite | |
# volumes: | |
# - appwrite-uploads:/storage/uploads | |
influxdb: | |
image: docker.io/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: docker.io/appwrite/telegraf:1.4.0 | |
container_name: appwrite-telegraf | |
<<: *x-logging | |
restart: unless-stopped | |
networks: | |
- appwrite | |
environment: | |
- _APP_INFLUXDB_HOST=${_APP_INFLUXDB_HOST} | |
- _APP_INFLUXDB_PORT=${_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: | |
# appwrite-chronograf: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment