appwrite/docker-compose.yml

1324 lines
39 KiB
YAML
Raw Normal View History

2020-12-16 21:54:58 +00:00
# WARNING!
# This is a development version of THE Appwrite docker-compose.yml file.
# Avoid using this file in your production environment.
# We're exposing here sensitive ports and mounting code volumes for rapid development and debugging of the server stack.
2020-12-16 21:54:58 +00:00
2022-03-29 09:50:57 +00:00
x-logging: &x-logging
logging:
driver: "json-file"
2022-03-29 09:50:57 +00:00
options:
max-file: "5"
max-size: "10m"
2019-05-09 06:54:39 +00:00
services:
2020-02-25 07:55:55 +00:00
traefik:
image: traefik:2.11
2022-03-29 09:50:57 +00:00
<<: *x-logging
2020-07-15 20:29:34 +00:00
container_name: appwrite-traefik
2020-02-25 07:55:55 +00:00
command:
2020-02-25 09:13:36 +00:00
- --log.level=DEBUG
- --api.insecure=true
2020-02-25 10:04:12 +00:00
- --providers.file.directory=/storage/config
2020-02-25 09:13:36 +00:00
- --providers.file.watch=true
- --providers.docker=true
2020-12-16 10:58:40 +00:00
- --providers.docker.exposedByDefault=false
- --providers.docker.constraints=Label(`traefik.constraint-label-stack`,`appwrite`)
2020-10-16 07:31:09 +00:00
- --entrypoints.appwrite_web.address=:80
- --entrypoints.appwrite_websecure.address=:443
2020-02-25 09:13:36 +00:00
- --accesslog=true
2020-02-25 07:55:55 +00:00
ports:
2020-02-25 09:13:36 +00:00
- 80:80
2022-03-03 12:21:23 +00:00
- 8080:80
2020-02-25 09:13:36 +00:00
- 443:443
- 9500:8080
2020-02-25 07:55:55 +00:00
volumes:
2020-02-25 09:13:36 +00:00
- /var/run/docker.sock:/var/run/docker.sock
2020-02-25 10:04:12 +00:00
- appwrite-config:/storage/config:ro
- appwrite-certificates:/storage/certificates:ro
2020-02-25 09:13:36 +00:00
depends_on:
2020-03-19 19:00:53 +00:00
- appwrite
2020-02-25 07:55:55 +00:00
networks:
2025-12-07 20:29:45 +00:00
appwrite:
aliases:
- appwrite.test
gateway:
aliases:
- appwrite.test
runtimes:
aliases:
- appwrite.test
2022-03-16 10:11:04 +00:00
2019-10-01 21:12:48 +00:00
appwrite:
2019-11-29 17:34:55 +00:00
container_name: appwrite
2022-03-29 09:50:57 +00:00
<<: *x-logging
image: appwrite-dev
2019-11-29 17:34:55 +00:00
build:
context: .
2025-12-13 13:29:12 +00:00
target: development
2019-11-29 17:34:55 +00:00
args:
2022-09-14 15:52:52 +00:00
DEBUG: false
TESTING: true
VERSION: dev
2024-07-17 17:24:52 +00:00
ports:
2020-07-02 12:24:39 +00:00
- 9501:80
2019-12-05 05:30:23 +00:00
networks:
2020-02-25 07:55:55 +00:00
- appwrite
2025-12-16 06:50:59 +00:00
dns:
- 172.16.238.100
2020-02-25 07:55:55 +00:00
labels:
2020-10-16 07:31:09 +00:00
- "traefik.enable=true"
- "traefik.constraint-label-stack=appwrite"
2020-10-16 07:31:09 +00:00
- "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
2019-10-01 21:12:48 +00:00
volumes:
2025-08-16 14:12:41 +00:00
- /var/run/docker.sock:/var/run/docker.sock # Only needed for tests
- ./docker-compose.yml:/usr/src/code/docker-compose.yml # Only needed for tests
- ./.env:/usr/src/code/.env # Only needed for tests
2020-02-25 09:13:36 +00:00
- appwrite-uploads:/storage/uploads:rw
2025-04-17 03:29:30 +00:00
- appwrite-imports:/storage/imports:rw
2020-02-25 09:13:36 +00:00
- appwrite-cache:/storage/cache:rw
2020-02-25 10:04:12 +00:00
- appwrite-config:/storage/config:rw
2020-02-25 09:13:36 +00:00
- appwrite-certificates:/storage/certificates:rw
2022-11-17 19:38:43 +00:00
- appwrite-functions:/storage/functions:rw
2025-02-25 15:42:25 +00:00
- appwrite-sites:/storage/sites:rw
2024-10-24 16:02:26 +00:00
- appwrite-builds:/storage/builds:rw
2020-07-01 14:38:41 +00:00
- ./phpunit.xml:/usr/src/code/phpunit.xml
- ./tests:/usr/src/code/tests
- ./app:/usr/src/code/app
- ./docs:/usr/src/code/docs
2022-02-11 00:11:09 +00:00
- ./public:/usr/src/code/public
2020-07-01 14:38:41 +00:00
- ./src:/usr/src/code/src
2023-10-17 15:12:24 +00:00
- ./dev:/usr/src/code/dev
2019-10-01 21:12:48 +00:00
depends_on:
2020-02-25 09:13:36 +00:00
- mariadb
- redis
2025-12-16 06:50:59 +00:00
- coredns
# - clamav
entrypoint:
- php
- -e
- app/http.php
2019-10-01 21:12:48 +00:00
environment:
2020-07-05 13:51:20 +00:00
- _APP_ENV
2024-05-06 05:33:36 +00:00
- _APP_EDITION
- _APP_WORKER_PER_CORE
2022-03-16 10:11:04 +00:00
- _APP_LOCALE
2024-11-08 19:00:05 +00:00
- _APP_COMPRESSION_MIN_SIZE_BYTES
2021-05-12 14:53:25 +00:00
- _APP_CONSOLE_WHITELIST_ROOT
2021-02-23 12:52:14 +00:00
- _APP_CONSOLE_WHITELIST_EMAILS
2024-07-03 07:11:15 +00:00
- _APP_CONSOLE_SESSION_ALERTS
2021-02-23 12:52:14 +00:00
- _APP_CONSOLE_WHITELIST_IPS
- _APP_CONSOLE_HOSTNAMES
2020-09-27 14:29:06 +00:00
- _APP_SYSTEM_EMAIL_NAME
- _APP_SYSTEM_EMAIL_ADDRESS
2024-08-27 10:25:25 +00:00
- _APP_SYSTEM_TEAM_EMAIL
- _APP_EMAIL_SECURITY
2021-01-15 17:48:36 +00:00
- _APP_SYSTEM_RESPONSE_FORMAT
2020-07-05 13:51:20 +00:00
- _APP_OPTIONS_ABUSE
2023-10-04 08:20:32 +00:00
- _APP_OPTIONS_ROUTER_PROTECTION
2020-07-05 13:51:20 +00:00
- _APP_OPTIONS_FORCE_HTTPS
2025-04-16 08:43:02 +00:00
- _APP_OPTIONS_ROUTER_FORCE_HTTPS
2020-07-05 13:51:20 +00:00
- _APP_OPENSSL_KEY_V1
- _APP_DOMAIN
2025-06-17 06:45:52 +00:00
- _APP_CONSOLE_DOMAIN
2025-04-08 14:48:50 +00:00
- _APP_DOMAIN_TARGET_CNAME
- _APP_DOMAIN_TARGET_AAAA
- _APP_DOMAIN_TARGET_A
2025-08-05 11:44:06 +00:00
- _APP_DOMAIN_TARGET_CAA
- _APP_DNS
- _APP_DOMAIN_FUNCTIONS
2023-08-23 10:08:48 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2020-07-05 13:51:20 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
2020-11-19 09:00:24 +00:00
- _APP_SMTP_HOST
- _APP_SMTP_PORT
- _APP_SMTP_SECURE
- _APP_SMTP_USERNAME
- _APP_SMTP_PASSWORD
- _APP_USAGE_STATS
2020-07-19 15:17:57 +00:00
- _APP_STORAGE_LIMIT
2022-05-17 11:10:50 +00:00
- _APP_STORAGE_PREVIEW_LIMIT
2021-01-02 19:45:59 +00:00
- _APP_STORAGE_ANTIVIRUS
- _APP_STORAGE_ANTIVIRUS_HOST
- _APP_STORAGE_ANTIVIRUS_PORT
2023-08-23 10:08:48 +00:00
- _APP_STORAGE_DEVICE
- _APP_STORAGE_S3_ACCESS_KEY
- _APP_STORAGE_S3_SECRET
- _APP_STORAGE_S3_REGION
- _APP_STORAGE_S3_BUCKET
2024-12-11 20:10:21 +00:00
- _APP_STORAGE_S3_ENDPOINT
2023-08-23 10:08:48 +00:00
- _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
2020-07-19 14:42:46 +00:00
- _APP_FUNCTIONS_TIMEOUT
2025-04-08 10:23:43 +00:00
- _APP_SITES_TIMEOUT
- _APP_COMPUTE_BUILD_TIMEOUT
- _APP_COMPUTE_CPUS
- _APP_COMPUTE_MEMORY
2021-04-29 15:08:59 +00:00
- _APP_FUNCTIONS_RUNTIMES
2024-10-26 16:43:30 +00:00
- _APP_SITES_RUNTIMES
2024-10-22 17:45:49 +00:00
- _APP_DOMAIN_SITES
- _APP_EXECUTOR_SECRET
- _APP_EXECUTOR_HOST
- _APP_LOGGING_CONFIG
2022-03-16 10:11:04 +00:00
- _APP_MAINTENANCE_INTERVAL
- _APP_MAINTENANCE_RETENTION_EXECUTION
2022-08-17 13:02:01 +00:00
- _APP_MAINTENANCE_RETENTION_CACHE
2022-03-16 10:11:04 +00:00
- _APP_MAINTENANCE_RETENTION_ABUSE
- _APP_MAINTENANCE_RETENTION_AUDIT
2025-03-21 07:42:10 +00:00
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE
2022-10-28 09:54:56 +00:00
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY
2023-09-05 10:28:08 +00:00
- _APP_MAINTENANCE_RETENTION_SCHEDULES
- _APP_SMS_PROVIDER
- _APP_SMS_FROM
2022-12-26 10:14:35 +00:00
- _APP_GRAPHQL_MAX_BATCH_SIZE
2022-04-07 06:37:46 +00:00
- _APP_GRAPHQL_MAX_COMPLEXITY
- _APP_GRAPHQL_MAX_DEPTH
2023-07-28 08:53:07 +00:00
- _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
2023-08-08 10:18:29 +00:00
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET
2023-08-20 08:10:42 +00:00
- _APP_ASSISTANT_OPENAI_API_KEY
2023-10-30 20:35:50 +00:00
- _APP_MESSAGE_SMS_TEST_DSN
- _APP_MESSAGE_EMAIL_TEST_DSN
- _APP_MESSAGE_PUSH_TEST_DSN
2024-02-02 14:31:54 +00:00
- _APP_CONSOLE_COUNTRIES_DENYLIST
2024-03-11 09:23:52 +00:00
- _APP_EXPERIMENT_LOGGING_PROVIDER
- _APP_EXPERIMENT_LOGGING_CONFIG
- _APP_DATABASE_SHARED_TABLES
- _APP_DATABASE_SHARED_TABLES_V1
2024-11-21 03:49:49 +00:00
- _APP_DATABASE_SHARED_NAMESPACE
2024-12-12 20:10:22 +00:00
- _APP_FUNCTIONS_CREATION_ABUSE_LIMIT
2025-04-11 14:52:19 +00:00
- _APP_CUSTOM_DOMAIN_DENY_LIST
- _APP_TRUSTED_HEADERS
extra_hosts:
- "host.docker.internal:host-gateway"
2024-07-17 17:24:52 +00:00
appwrite-console:
<<: *x-logging
container_name: appwrite-console
image: appwrite/console:7.4.11
2024-07-17 17:24:52 +00:00
restart: unless-stopped
2024-07-17 20:39:32 +00:00
networks:
- appwrite
2024-07-17 17:24:52 +00:00
labels:
- "traefik.enable=true"
- "traefik.constraint-label-stack=appwrite"
- "traefik.docker.network=appwrite"
2024-07-17 20:39:32 +00:00
- "traefik.http.services.appwrite_console.loadbalancer.server.port=80"
2024-07-17 17:24:52 +00:00
#ws
- traefik.http.routers.appwrite_console_http.entrypoints=appwrite_web
- traefik.http.routers.appwrite_console_http.rule=PathPrefix(`/console`)
- traefik.http.routers.appwrite_console_http.service=appwrite_console
# wss
- traefik.http.routers.appwrite_console_https.entrypoints=appwrite_websecure
- traefik.http.routers.appwrite_console_https.rule=PathPrefix(`/console`)
- traefik.http.routers.appwrite_console_https.service=appwrite_console
- traefik.http.routers.appwrite_console_https.tls=true
2020-07-05 13:51:20 +00:00
2020-10-16 07:50:46 +00:00
appwrite-realtime:
entrypoint: realtime
2022-03-29 09:50:57 +00:00
<<: *x-logging
2020-10-16 07:50:46 +00:00
container_name: appwrite-realtime
image: appwrite-dev
2020-10-16 07:31:09 +00:00
restart: unless-stopped
ports:
2021-01-09 21:58:21 +00:00
- 9505:80
2020-10-16 07:31:09 +00:00
labels:
- "traefik.enable=true"
2021-01-09 21:58:21 +00:00
- "traefik.constraint-label-stack=appwrite"
2020-10-16 07:31:09 +00:00
- "traefik.docker.network=appwrite"
2020-10-16 07:50:46 +00:00
- "traefik.http.services.appwrite_realtime.loadbalancer.server.port=80"
2020-10-16 07:31:09 +00:00
#ws
2020-10-16 07:50:46 +00:00
- 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
2020-10-16 07:31:09 +00:00
# wss
2020-10-16 07:50:46 +00:00
- 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
2020-10-16 07:31:09 +00:00
networks:
- appwrite
2021-02-21 21:22:32 +00:00
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2020-10-16 07:31:09 +00:00
depends_on:
2022-01-02 05:52:07 +00:00
- mariadb
2020-10-16 07:31:09 +00:00
- redis
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
2020-10-20 13:22:46 +00:00
- _APP_OPTIONS_ABUSE
2023-10-04 08:20:32 +00:00
- _APP_OPTIONS_ROUTER_PROTECTION
2020-10-20 13:22:46 +00:00
- _APP_OPENSSL_KEY_V1
2023-08-23 10:08:48 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2020-10-20 13:22:46 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
2021-04-01 10:59:11 +00:00
- _APP_USAGE_STATS
- _APP_LOGGING_CONFIG
2025-11-27 04:28:10 +00:00
- _APP_LOGGING_CONFIG_REALTIME
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2020-07-05 20:38:13 +00:00
appwrite-worker-audits:
entrypoint: worker-audits
2022-03-29 09:50:57 +00:00
<<: *x-logging
2020-07-05 20:38:13 +00:00
container_name: appwrite-worker-audits
image: appwrite-dev
2020-07-05 13:51:20 +00:00
networks:
- appwrite
2020-12-08 22:26:05 +00:00
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2020-07-05 13:51:20 +00:00
depends_on:
- redis
2020-07-05 19:19:14 +00:00
- mariadb
environment:
2020-07-07 17:59:20 +00:00
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2022-03-16 10:11:04 +00:00
- _APP_OPENSSL_KEY_V1
2023-08-23 10:08:48 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2020-07-05 19:19:14 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_LOGGING_CONFIG
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2020-07-05 20:38:13 +00:00
appwrite-worker-webhooks:
entrypoint: worker-webhooks
2022-03-29 09:50:57 +00:00
<<: *x-logging
2020-07-05 20:38:13 +00:00
container_name: appwrite-worker-webhooks
image: appwrite-dev
2020-07-05 19:19:14 +00:00
networks:
- appwrite
2020-12-08 22:26:05 +00:00
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2020-07-05 19:19:14 +00:00
depends_on:
- redis
- mariadb
2025-06-26 16:07:59 +00:00
- request-catcher-sms
- request-catcher-webhook
2020-07-05 13:51:20 +00:00
environment:
2020-07-07 17:59:20 +00:00
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2022-03-16 10:11:04 +00:00
- _APP_OPENSSL_KEY_V1
- _APP_EMAIL_SECURITY
2023-11-14 08:50:26 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
2020-07-05 13:51:20 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
2021-01-31 14:56:06 +00:00
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_LOGGING_CONFIG
2024-01-26 15:55:35 +00:00
- _APP_WEBHOOK_MAX_FAILED_ATTEMPTS
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2020-07-06 07:38:56 +00:00
appwrite-worker-deletes:
entrypoint: worker-deletes
2022-03-29 09:50:57 +00:00
<<: *x-logging
2020-07-06 07:38:56 +00:00
container_name: appwrite-worker-deletes
image: appwrite-dev
2020-07-06 07:38:56 +00:00
networks:
- appwrite
2022-03-16 10:11:04 +00:00
depends_on:
- redis
- mariadb
volumes:
2020-07-06 07:38:56 +00:00
- appwrite-uploads:/storage/uploads:rw
- appwrite-cache:/storage/cache:rw
2022-11-17 19:38:43 +00:00
- appwrite-functions:/storage/functions:rw
2025-02-25 15:42:25 +00:00
- appwrite-sites:/storage/sites:rw
2022-11-17 19:38:43 +00:00
- appwrite-builds:/storage/builds:rw
2021-02-05 12:24:12 +00:00
- appwrite-certificates:/storage/certificates:rw
2020-12-08 22:26:05 +00:00
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2020-07-06 07:38:56 +00:00
environment:
2020-07-07 17:59:20 +00:00
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2022-03-16 10:11:04 +00:00
- _APP_OPENSSL_KEY_V1
2023-08-23 10:08:48 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2020-07-06 07:38:56 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
2023-08-23 10:08:48 +00:00
- _APP_STORAGE_DEVICE
- _APP_STORAGE_S3_ACCESS_KEY
- _APP_STORAGE_S3_SECRET
- _APP_STORAGE_S3_REGION
- _APP_STORAGE_S3_BUCKET
2024-12-11 20:10:21 +00:00
- _APP_STORAGE_S3_ENDPOINT
2023-08-23 10:08:48 +00:00
- _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
2022-03-07 11:31:41 +00:00
- _APP_EXECUTOR_SECRET
- _APP_EXECUTOR_HOST
- _APP_DATABASE_SHARED_TABLES
2024-11-21 03:49:49 +00:00
- _APP_DATABASE_SHARED_TABLES_V1
2024-11-20 10:10:57 +00:00
- _APP_EMAIL_CERTIFICATES
2025-03-20 10:32:36 +00:00
- _APP_MAINTENANCE_RETENTION_AUDIT
2025-03-21 07:42:10 +00:00
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE
2025-03-18 19:40:46 +00:00
2023-10-12 07:10:44 +00:00
appwrite-worker-databases:
2023-10-12 06:12:26 +00:00
entrypoint: worker-databases
2022-03-29 09:50:57 +00:00
<<: *x-logging
2023-10-12 06:12:26 +00:00
container_name: appwrite-worker-databases
image: appwrite-dev
2020-07-06 07:38:56 +00:00
networks:
- appwrite
volumes:
2020-12-08 22:26:05 +00:00
- ./app:/usr/src/code/app
2023-10-17 15:12:24 +00:00
- ./src:/usr/src/code/src
2020-12-08 22:26:05 +00:00
depends_on:
- redis
- mariadb
2020-07-06 07:38:56 +00:00
environment:
2020-07-07 17:59:20 +00:00
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2022-03-16 10:11:04 +00:00
- _APP_OPENSSL_KEY_V1
2023-08-23 10:08:48 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2020-07-06 07:38:56 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
2023-10-16 15:17:02 +00:00
- _APP_LOGGING_CONFIG
2023-10-17 13:55:08 +00:00
- _APP_WORKERS_NUM
- _APP_QUEUE_NAME
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2022-01-23 22:25:46 +00:00
appwrite-worker-builds:
entrypoint: worker-builds
2022-03-29 09:50:57 +00:00
<<: *x-logging
2022-01-23 22:25:46 +00:00
container_name: appwrite-worker-builds
image: appwrite-dev
2022-01-23 22:25:46 +00:00
networks:
- appwrite
volumes:
- appwrite-functions:/storage/functions:rw
2025-02-25 15:42:25 +00:00
- appwrite-sites:/storage/sites:rw
- appwrite-builds:/storage/builds:rw
2025-02-15 00:57:41 +00:00
- appwrite-uploads:/storage/uploads:rw
2022-01-23 22:25:46 +00:00
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
- redis
- mariadb
environment:
2025-07-09 09:26:05 +00:00
- _APP_BROWSER_HOST
2022-01-23 22:25:46 +00:00
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2022-03-16 10:11:04 +00:00
- _APP_OPENSSL_KEY_V1
- _APP_EXECUTOR_SECRET
- _APP_EXECUTOR_HOST
2023-08-23 10:08:48 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2022-01-23 22:25:46 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_LOGGING_CONFIG
2023-07-28 08:53:07 +00:00
- _APP_VCS_GITHUB_APP_NAME
- _APP_VCS_GITHUB_PRIVATE_KEY
- _APP_VCS_GITHUB_APP_ID
2023-07-26 15:09:56 +00:00
- _APP_FUNCTIONS_TIMEOUT
2025-04-08 10:23:43 +00:00
- _APP_SITES_TIMEOUT
- _APP_COMPUTE_BUILD_TIMEOUT
- _APP_COMPUTE_CPUS
- _APP_COMPUTE_MEMORY
- _APP_COMPUTE_SIZE_LIMIT
2023-08-03 19:34:04 +00:00
- _APP_OPTIONS_FORCE_HTTPS
2025-04-16 08:43:02 +00:00
- _APP_OPTIONS_ROUTER_FORCE_HTTPS
2023-08-03 19:34:04 +00:00
- _APP_DOMAIN
2025-06-17 06:45:52 +00:00
- _APP_CONSOLE_DOMAIN
2023-09-13 12:45:19 +00:00
- _APP_STORAGE_DEVICE
- _APP_STORAGE_S3_ACCESS_KEY
- _APP_STORAGE_S3_SECRET
- _APP_STORAGE_S3_REGION
- _APP_STORAGE_S3_BUCKET
2024-12-11 20:10:21 +00:00
- _APP_STORAGE_S3_ENDPOINT
2023-09-13 12:45:19 +00:00
- _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_DATABASE_SHARED_TABLES
2024-10-27 20:10:53 +00:00
- _APP_DOMAIN_SITES
extra_hosts:
- "host.docker.internal:host-gateway"
2025-03-18 19:40:46 +00:00
2020-07-06 07:38:56 +00:00
appwrite-worker-certificates:
entrypoint: worker-certificates
2022-03-29 09:50:57 +00:00
<<: *x-logging
2020-07-06 07:38:56 +00:00
container_name: appwrite-worker-certificates
image: appwrite-dev
2020-07-06 07:38:56 +00:00
networks:
- appwrite
2022-03-16 10:11:04 +00:00
depends_on:
- redis
- mariadb
volumes:
2020-07-06 07:38:56 +00:00
- appwrite-config:/storage/config:rw
- appwrite-certificates:/storage/certificates:rw
2020-12-08 22:26:05 +00:00
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2020-07-06 07:38:56 +00:00
environment:
2020-07-07 17:59:20 +00:00
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2022-03-16 10:11:04 +00:00
- _APP_OPENSSL_KEY_V1
2022-04-10 09:38:22 +00:00
- _APP_DOMAIN
2025-04-08 14:48:50 +00:00
- _APP_DOMAIN_TARGET_CNAME
- _APP_DOMAIN_TARGET_AAAA
- _APP_DOMAIN_TARGET_A
2025-08-05 11:44:06 +00:00
- _APP_DOMAIN_TARGET_CAA
- _APP_DNS
- _APP_DOMAIN_FUNCTIONS
- _APP_DOMAIN_SITES
- _APP_EMAIL_CERTIFICATES
2023-08-23 10:08:48 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2020-07-06 07:38:56 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_LOGGING_CONFIG
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
appwrite-worker-functions:
entrypoint: worker-functions
2022-03-29 09:50:57 +00:00
<<: *x-logging
container_name: appwrite-worker-functions
image: appwrite-dev
networks:
- appwrite
volumes:
2020-12-08 22:26:05 +00:00
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
- redis
- mariadb
2022-11-12 12:51:54 +00:00
- openruntimes-executor
environment:
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2022-03-16 10:11:04 +00:00
- _APP_OPENSSL_KEY_V1
2024-01-29 11:15:07 +00:00
- _APP_DOMAIN
- _APP_OPTIONS_FORCE_HTTPS
2023-08-23 10:08:48 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2020-07-16 12:04:06 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
2020-07-19 14:42:46 +00:00
- _APP_FUNCTIONS_TIMEOUT
2025-04-08 10:23:43 +00:00
- _APP_SITES_TIMEOUT
- _APP_COMPUTE_BUILD_TIMEOUT
- _APP_COMPUTE_CPUS
- _APP_COMPUTE_MEMORY
- _APP_EXECUTOR_SECRET
- _APP_EXECUTOR_HOST
- _APP_USAGE_STATS
2023-01-20 10:40:06 +00:00
- _APP_DOCKER_HUB_USERNAME
- _APP_DOCKER_HUB_PASSWORD
2023-05-24 19:07:41 +00:00
- _APP_LOGGING_CONFIG
- _APP_LOGGING_PROVIDER
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2020-07-05 20:38:13 +00:00
appwrite-worker-mails:
entrypoint: worker-mails
2022-03-29 09:50:57 +00:00
<<: *x-logging
2020-07-05 20:38:13 +00:00
container_name: appwrite-worker-mails
image: appwrite-dev
2020-07-05 20:38:13 +00:00
networks:
- appwrite
2020-12-08 22:26:05 +00:00
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2020-07-05 20:38:13 +00:00
depends_on:
- redis
2020-09-27 14:31:29 +00:00
- maildev
# - smtp
2020-07-05 20:38:13 +00:00
environment:
2020-07-07 17:59:20 +00:00
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2022-03-16 10:11:04 +00:00
- _APP_OPENSSL_KEY_V1
2020-09-27 14:29:06 +00:00
- _APP_SYSTEM_EMAIL_NAME
- _APP_SYSTEM_EMAIL_ADDRESS
2020-07-05 20:38:13 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
2021-01-31 14:56:06 +00:00
- _APP_REDIS_USER
- _APP_REDIS_PASS
2020-07-05 20:38:13 +00:00
- _APP_SMTP_HOST
- _APP_SMTP_PORT
2020-10-26 14:34:19 +00:00
- _APP_SMTP_SECURE
- _APP_SMTP_USERNAME
- _APP_SMTP_PASSWORD
- _APP_LOGGING_CONFIG
- _APP_DOMAIN
- _APP_OPTIONS_FORCE_HTTPS
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2022-06-08 13:57:34 +00:00
appwrite-worker-messaging:
entrypoint: worker-messaging
<<: *x-logging
container_name: appwrite-worker-messaging
restart: unless-stopped
image: appwrite-dev
2022-06-08 13:57:34 +00:00
networks:
- appwrite
volumes:
- appwrite-uploads:/storage/uploads:rw
2022-06-08 13:57:34 +00:00
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
- redis
environment:
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2023-11-02 11:13:24 +00:00
- _APP_OPENSSL_KEY_V1
2022-06-08 13:57:34 +00:00
- _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
2022-06-08 13:57:34 +00:00
- _APP_LOGGING_CONFIG
2023-11-15 20:00:47 +00:00
- _APP_SMS_FROM
- _APP_SMS_PROVIDER
- _APP_SMS_PROJECTS_DENY_LIST
- _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_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2023-08-04 16:21:41 +00:00
appwrite-worker-migrations:
entrypoint: worker-migrations
2023-02-06 09:53:33 +00:00
<<: *x-logging
2023-08-04 16:21:41 +00:00
container_name: appwrite-worker-migrations
restart: unless-stopped
2023-02-06 09:53:33 +00:00
image: appwrite-dev
networks:
- appwrite
volumes:
- appwrite-imports:/storage/imports:rw
2025-09-24 10:38:55 +00:00
- appwrite-uploads:/storage/uploads:rw
2023-02-06 09:53:33 +00:00
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2023-08-04 16:21:41 +00:00
- ./tests:/usr/src/code/tests
2023-02-06 09:53:33 +00:00
depends_on:
2023-08-04 16:21:41 +00:00
- mariadb
2023-02-06 09:53:33 +00:00
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
2023-08-04 16:21:41 +00:00
- _APP_DOMAIN
2025-04-08 14:48:50 +00:00
- _APP_DOMAIN_TARGET_CNAME
- _APP_DOMAIN_TARGET_AAAA
- _APP_DOMAIN_TARGET_A
2025-08-05 11:44:06 +00:00
- _APP_DOMAIN_TARGET_CAA
- _APP_DNS
- _APP_EMAIL_SECURITY
2023-08-04 16:21:41 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2023-02-06 09:53:33 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
2023-08-04 16:21:41 +00:00
- _APP_LOGGING_CONFIG
2023-08-08 10:18:29 +00:00
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET
- _APP_DATABASE_SHARED_TABLES
2025-12-15 18:01:30 +00:00
- _APP_OPTIONS_FORCE_HTTPS
2025-03-18 19:40:46 +00:00
2024-05-07 01:46:15 +00:00
appwrite-task-maintenance:
2020-12-14 16:39:44 +00:00
entrypoint: maintenance
2022-03-29 09:50:57 +00:00
<<: *x-logging
2024-05-15 06:50:59 +00:00
container_name: appwrite-task-maintenance
image: appwrite-dev
2020-12-14 16:39:44 +00:00
networks:
- appwrite
2021-01-17 06:17:54 +00:00
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2020-12-14 16:39:44 +00:00
depends_on:
2025-12-18 09:44:30 +00:00
- mariadb
2020-12-14 16:39:44 +00:00
- redis
environment:
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2022-05-17 11:10:50 +00:00
- _APP_DOMAIN
2025-04-08 14:48:50 +00:00
- _APP_DOMAIN_TARGET_CNAME
- _APP_DOMAIN_TARGET_AAAA
- _APP_DOMAIN_TARGET_A
2025-08-05 11:44:06 +00:00
- _APP_DOMAIN_TARGET_CAA
- _APP_DNS
- _APP_DOMAIN_FUNCTIONS
2022-03-16 10:11:04 +00:00
- _APP_OPENSSL_KEY_V1
2023-08-23 10:08:48 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2022-04-10 09:38:22 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_MAINTENANCE_INTERVAL
2021-01-20 18:23:48 +00:00
- _APP_MAINTENANCE_RETENTION_EXECUTION
2022-08-17 13:02:01 +00:00
- _APP_MAINTENANCE_RETENTION_CACHE
2021-01-20 18:23:48 +00:00
- _APP_MAINTENANCE_RETENTION_ABUSE
- _APP_MAINTENANCE_RETENTION_AUDIT
2025-03-21 07:42:10 +00:00
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE
2023-08-23 10:08:48 +00:00
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY
2022-11-16 12:51:43 +00:00
- _APP_MAINTENANCE_RETENTION_SCHEDULES
- _APP_MAINTENANCE_START_TIME
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2025-12-23 11:02:43 +00:00
appwrite-task-interval:
entrypoint: interval
<<: *x-logging
2025-12-23 11:02:43 +00:00
container_name: appwrite-task-interval
image: appwrite-dev
networks:
- appwrite
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
2025-12-18 09:44:30 +00:00
- mariadb
- redis
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_DOMAIN
- _APP_DOMAIN_TARGET_CNAME
- _APP_DOMAIN_TARGET_AAAA
- _APP_DOMAIN_TARGET_A
- _APP_DOMAIN_TARGET_CAA
- _APP_DNS
- _APP_DOMAIN_FUNCTIONS
- _APP_DOMAIN_SITES
- _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_DATABASE_SHARED_TABLES
2025-12-23 11:02:43 +00:00
- _APP_INTERVAL_DOMAIN_VERIFICATION
appwrite-task-stats-resources:
container_name: appwrite-task-stats-resources
entrypoint: stats-resources
2022-03-29 09:50:57 +00:00
<<: *x-logging
2025-01-27 04:33:33 +00:00
image: appwrite-dev
networks:
- appwrite
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
- redis
- 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
2025-01-30 04:15:03 +00:00
- _APP_STATS_RESOURCES_INTERVAL
2025-03-18 19:40:46 +00:00
2025-01-30 04:05:51 +00:00
appwrite-worker-stats-resources:
entrypoint: worker-stats-resources
<<: *x-logging
container_name: appwrite-worker-stats-resources
image: appwrite-dev
2021-08-11 05:44:08 +00:00
networks:
- appwrite
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
2023-10-25 07:39:59 +00:00
- redis
2021-08-11 05:44:08 +00:00
- mariadb
environment:
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
2022-03-16 10:11:04 +00:00
- _APP_OPENSSL_KEY_V1
2021-08-11 05:44:08 +00:00
- _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
2023-10-15 17:41:09 +00:00
- _APP_USAGE_AGGREGATION_INTERVAL
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:49:28 +00:00
2025-01-30 04:53:53 +00:00
appwrite-worker-stats-usage:
entrypoint: worker-stats-usage
<<: *x-logging
2025-01-30 04:53:53 +00:00
container_name: appwrite-worker-stats-usage
image: appwrite-dev
networks:
- appwrite
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
- redis
- mariadb
environment:
- _APP_ENV
2024-01-28 09:28:59 +00:00
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
2022-08-09 05:52:53 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
2023-02-02 18:16:01 +00:00
- _APP_USAGE_STATS
2023-10-15 17:41:09 +00:00
- _APP_LOGGING_CONFIG
2024-01-28 09:28:59 +00:00
- _APP_USAGE_AGGREGATION_INTERVAL
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2024-05-07 01:46:15 +00:00
appwrite-task-scheduler-functions:
2024-01-11 03:14:38 +00:00
entrypoint: schedule-functions
2022-03-29 09:50:57 +00:00
<<: *x-logging
2024-05-15 06:50:59 +00:00
container_name: appwrite-task-scheduler-functions
image: appwrite-dev
2020-07-06 07:38:56 +00:00
networks:
- appwrite
2020-12-08 22:26:05 +00:00
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2020-07-06 07:38:56 +00:00
depends_on:
2022-11-04 05:12:08 +00:00
- mariadb
2020-07-06 07:38:56 +00:00
- redis
2024-06-17 12:44:12 +00:00
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_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2024-06-17 12:44:12 +00:00
appwrite-task-scheduler-executions:
entrypoint: schedule-executions
2022-03-29 09:50:57 +00:00
<<: *x-logging
2024-06-17 12:44:12 +00:00
container_name: appwrite-task-scheduler-executions
image: appwrite-dev
2020-07-06 07:38:56 +00:00
networks:
- appwrite
2020-12-08 22:26:05 +00:00
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2020-07-06 07:38:56 +00:00
depends_on:
2022-11-04 05:12:08 +00:00
- mariadb
2020-07-06 07:38:56 +00:00
- redis
environment:
2020-07-07 17:59:20 +00:00
- _APP_ENV
2022-11-16 12:19:29 +00:00
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
2020-07-06 07:38:56 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
2021-01-31 14:56:06 +00:00
- _APP_REDIS_USER
- _APP_REDIS_PASS
2022-11-04 05:12:08 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
2025-03-18 19:40:46 +00:00
2024-05-07 01:46:15 +00:00
appwrite-task-scheduler-messages:
2024-01-11 03:14:38 +00:00
entrypoint: schedule-messages
<<: *x-logging
2024-05-15 06:50:59 +00:00
container_name: appwrite-task-scheduler-messages
image: appwrite-dev
2020-07-06 07:38:56 +00:00
networks:
- appwrite
2020-12-08 22:26:05 +00:00
volumes:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
2020-07-06 07:38:56 +00:00
depends_on:
2022-11-04 05:12:08 +00:00
- mariadb
2020-07-06 07:38:56 +00:00
- redis
environment:
2020-07-07 17:59:20 +00:00
- _APP_ENV
2023-08-24 08:28:30 +00:00
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
2020-07-06 07:38:56 +00:00
- _APP_REDIS_HOST
- _APP_REDIS_PORT
2021-01-31 14:56:06 +00:00
- _APP_REDIS_USER
- _APP_REDIS_PASS
2022-11-04 05:12:08 +00:00
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_DATABASE_SHARED_TABLES
2025-03-18 19:40:46 +00:00
2023-08-12 19:08:44 +00:00
appwrite-assistant:
container_name: appwrite-assistant
2025-12-01 14:18:44 +00:00
image: appwrite/assistant:0.8.4
2023-08-12 19:08:44 +00:00
networks:
- appwrite
environment:
- _APP_ASSISTANT_OPENAI_API_KEY
2025-02-15 00:19:21 +00:00
appwrite-browser:
container_name: appwrite-browser
2025-11-21 06:39:33 +00:00
image: appwrite/browser:0.3.2
2025-02-15 00:19:21 +00:00
networks:
- appwrite
2022-11-08 08:49:45 +00:00
openruntimes-executor:
container_name: openruntimes-executor
2024-05-16 08:33:51 +00:00
hostname: exc1
2022-11-08 08:49:45 +00:00
<<: *x-logging
stop_signal: SIGINT
2025-10-24 12:57:12 +00:00
image: openruntimes/executor:0.11.4
restart: unless-stopped
2022-11-08 17:30:18 +00:00
networks:
- appwrite
2022-11-17 19:38:43 +00:00
- runtimes
2022-11-08 17:30:18 +00:00
volumes:
- /var/run/docker.sock:/var/run/docker.sock
2022-11-17 19:38:43 +00:00
- appwrite-builds:/storage/builds:rw
- appwrite-functions:/storage/functions:rw
2025-02-25 15:42:25 +00:00
- appwrite-sites:/storage/sites:rw
2023-03-22 07:45:38 +00:00
# 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)
2022-11-08 17:30:18 +00:00
- /tmp:/tmp:rw
environment:
2025-03-31 16:52:46 +00:00
- OPR_EXECUTOR_IMAGE_PULL=enabled
- OPR_EXECUTOR_INACTIVE_TRESHOLD=$_APP_COMPUTE_INACTIVE_THRESHOLD
- OPR_EXECUTOR_MAINTENANCE_INTERVAL=$_APP_COMPUTE_MAINTENANCE_INTERVAL
- OPR_EXECUTOR_NETWORK=$_APP_COMPUTE_RUNTIMES_NETWORK
2022-11-10 12:04:49 +00:00
- OPR_EXECUTOR_DOCKER_HUB_USERNAME=$_APP_DOCKER_HUB_USERNAME
- OPR_EXECUTOR_DOCKER_HUB_PASSWORD=$_APP_DOCKER_HUB_PASSWORD
2022-11-08 17:30:18 +00:00
- OPR_EXECUTOR_ENV=$_APP_ENV
2024-10-26 16:43:30 +00:00
- OPR_EXECUTOR_RUNTIMES=$_APP_FUNCTIONS_RUNTIMES,$_APP_SITES_RUNTIMES
2022-11-10 09:37:49 +00:00
- OPR_EXECUTOR_SECRET=$_APP_EXECUTOR_SECRET
2025-07-09 09:26:05 +00:00
- OPR_EXECUTOR_RUNTIME_VERSIONS=v5
2022-11-08 17:30:18 +00:00
- OPR_EXECUTOR_LOGGING_CONFIG=$_APP_LOGGING_CONFIG
2023-08-23 11:52:17 +00:00
- 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
2023-08-23 11:52:17 +00:00
- 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
2020-07-06 07:38:56 +00:00
2019-10-01 21:12:48 +00:00
mariadb:
2024-01-21 08:10:18 +00:00
image: mariadb:10.11 # fix issues when upgrading using: mysql_upgrade -u root -p
2022-11-14 09:36:22 +00:00
container_name: appwrite-mariadb
2022-03-29 09:50:57 +00:00
<<: *x-logging
2019-12-05 05:30:23 +00:00
networks:
2020-02-25 09:13:36 +00:00
- appwrite
2019-12-05 05:30:23 +00:00
volumes:
2020-02-29 06:24:46 +00:00
- appwrite-mariadb:/var/lib/mysql:rw
ports:
2021-01-16 10:33:01 +00:00
- "3306:3306"
2019-10-01 21:12:48 +00:00
environment:
2022-03-16 10:11:04 +00:00
- MYSQL_ROOT_PASSWORD=${_APP_DB_ROOT_PASS}
2020-10-25 14:15:27 +00:00
- MYSQL_DATABASE=${_APP_DB_SCHEMA}
2022-03-16 10:11:04 +00:00
- MYSQL_USER=${_APP_DB_USER}
2020-10-25 14:15:27 +00:00
- MYSQL_PASSWORD=${_APP_DB_PASS}
- MARIADB_AUTO_UPGRADE=1
command: "mysqld --innodb-flush-method=fsync"
2022-11-04 05:12:08 +00:00
2020-02-24 15:03:48 +00:00
redis:
image: redis:7.2.4-alpine
2022-03-29 09:50:57 +00:00
<<: *x-logging
2020-07-15 20:29:34 +00:00
container_name: appwrite-redis
2022-06-20 14:32:34 +00:00
command: >
redis-server
--maxmemory 512mb
--maxmemory-policy allkeys-lru
--maxmemory-samples 5
2021-08-20 17:02:44 +00:00
ports:
- "6379:6379"
2019-12-05 05:30:23 +00:00
networks:
2020-02-25 09:13:36 +00:00
- appwrite
2020-02-29 06:24:46 +00:00
volumes:
- appwrite-redis:/data:rw
2019-08-08 21:49:46 +00:00
2025-12-16 06:50:59 +00:00
coredns: # DNS server for testing purposes (Proxy APIs)
image: coredns/coredns:1.12.4
container_name: appwrite-coredns
restart: unless-stopped
<<: *x-logging
command: ["-conf", "/mnt/resources/Corefile"]
# If you need to debug CoreDNS, do it from "appwrite container", or port forward:
# ports:
# - "53:53"
networks:
appwrite:
ipv4_address: 172.16.238.100
volumes:
- ./tests/resources/coredns:/mnt/resources:ro
2021-01-16 10:33:01 +00:00
# Dev Tools Start ------------------------------------------------------------------------------------------
2022-12-11 17:15:38 +00:00
#
2021-01-16 15:10:20 +00:00
# The Appwrite Team uses the following tools to help debug, monitor and diagnose the Appwrite stack
2021-01-16 10:33:01 +00:00
#
# Here is a description of the different tools and why are we using them:
#
# MailCatcher - An SMTP server. Catches all system emails and displays them in a nice UI.
# RequestCatcher - An HTTP server. Catches all system https calls and displays them using a simple HTTP API. Used to debug & tests webhooks and HTTP tasks
2024-02-13 12:26:02 +00:00
# Redis Insight - A nice UI for exploring Redis data
# Adminer - A nice UI for exploring MariaDB data
# GraphQl Explorer - A nice UI for exploring GraphQL API
2021-01-16 10:33:01 +00:00
2020-11-05 15:52:27 +00:00
maildev: # used mainly for dev tests
image: appwrite/mailcatcher:1.1.1
2021-01-02 22:48:50 +00:00
container_name: appwrite-mailcatcher
2022-03-29 09:50:57 +00:00
<<: *x-logging
2020-11-05 15:52:27 +00:00
ports:
- "9503:1080"
2020-11-05 15:52:27 +00:00
networks:
- appwrite
- gateway
labels:
- "traefik.enable=true"
- "traefik.constraint-label-stack=appwrite"
- "traefik.docker.network=gateway"
- "traefik.http.services.appwrite_maildev.loadbalancer.server.port=1080"
- "traefik.http.routers.appwrite_maildev_http.entrypoints=appwrite_web"
- "traefik.http.routers.appwrite_maildev_http.rule=Host(`mail.localhost`)"
- "traefik.http.routers.appwrite_maildev_http.service=appwrite_maildev"
- "traefik.http.routers.appwrite_maildev_https.entrypoints=appwrite_websecure"
- "traefik.http.routers.appwrite_maildev_https.rule=Host(`mail.localhost`)"
- "traefik.http.routers.appwrite_maildev_https.service=appwrite_maildev"
- "traefik.http.routers.appwrite_maildev_https.tls=true"
environment:
- MAILDEV_INCOMING_USER=${_APP_SMTP_USERNAME}
- MAILDEV_INCOMING_PASS=${_APP_SMTP_PASSWORD}
2020-11-05 15:52:27 +00:00
2025-06-26 16:07:59 +00:00
request-catcher-webhook: # used mainly for dev tests (mock HTTP webhook)
2021-01-02 22:48:50 +00:00
image: appwrite/requestcatcher:1.0.0
2025-06-26 16:07:59 +00:00
container_name: appwrite-requestcatcher-webhook
2022-03-29 09:50:57 +00:00
<<: *x-logging
2020-11-05 15:52:27 +00:00
ports:
- "9504:5000"
2020-11-05 15:52:27 +00:00
networks:
- appwrite
2025-06-26 16:07:59 +00:00
request-catcher-sms: # used mainly for dev tests (mock SMS auth secret)
image: appwrite/requestcatcher:1.0.0
container_name: appwrite-requestcatcher-sms
<<: *x-logging
ports:
- "9507:5000"
networks:
- appwrite
2021-01-16 10:33:01 +00:00
adminer:
image: adminer
2021-04-26 12:06:37 +00:00
container_name: appwrite-adminer
2022-03-29 09:50:57 +00:00
<<: *x-logging
2023-08-23 10:08:48 +00:00
restart: always
2021-01-16 10:33:01 +00:00
ports:
2021-02-21 17:15:03 +00:00
- 9506:8080
2021-01-16 10:33:01 +00:00
networks:
- appwrite
- gateway
environment:
- ADMINER_DESIGN=pepa-linha
- ADMINER_DEFAULT_SERVER=mariadb
- ADMINER_DEFAULT_USERNAME=root
- ADMINER_DEFAULT_PASSWORD=rootsecretpassword
- ADMINER_DEFAULT_DB=appwrite
configs:
- source: adminer-index.php
target: /var/www/html/index.php
mode: 0755
labels:
- "traefik.enable=true"
- "traefik.constraint-label-stack=appwrite"
- "traefik.docker.network=gateway"
- "traefik.http.services.appwrite_adminer.loadbalancer.server.port=8080"
- "traefik.http.routers.appwrite_adminer_http.entrypoints=appwrite_web"
- "traefik.http.routers.appwrite_adminer_http.rule=Host(`mysql.localhost`)"
- "traefik.http.routers.appwrite_adminer_http.service=appwrite_adminer"
- "traefik.http.routers.appwrite_adminer_https.entrypoints=appwrite_websecure"
- "traefik.http.routers.appwrite_adminer_https.rule=Host(`mysql.localhost`)"
- "traefik.http.routers.appwrite_adminer_https.service=appwrite_adminer"
- "traefik.http.routers.appwrite_adminer_https.tls=true"
2021-01-16 10:33:01 +00:00
2024-02-13 12:26:02 +00:00
redis-insight:
image: redis/redisinsight:latest
restart: unless-stopped
networks:
- appwrite
- gateway
2024-02-13 12:26:02 +00:00
environment:
- RI_PRE_SETUP_DATABASES_PATH=/mnt/connections.json
configs:
- source: redisinsight-connections.json
target: /mnt/connections.json
mode: 0755
labels:
- "traefik.enable=true"
- "traefik.constraint-label-stack=appwrite"
- "traefik.docker.network=gateway"
- "traefik.http.services.appwrite_redisinsight.loadbalancer.server.port=5540"
- "traefik.http.routers.appwrite_redisinsight_http.entrypoints=appwrite_web"
- "traefik.http.routers.appwrite_redisinsight_http.rule=Host(`redis.localhost`)"
- "traefik.http.routers.appwrite_redisinsight_http.service=appwrite_redisinsight"
- "traefik.http.routers.appwrite_redisinsight_https.entrypoints=appwrite_websecure"
- "traefik.http.routers.appwrite_redisinsight_https.rule=Host(`redis.localhost`)"
- "traefik.http.routers.appwrite_redisinsight_https.service=appwrite_redisinsight"
- "traefik.http.routers.appwrite_redisinsight_https.tls=true"
2024-02-13 12:26:02 +00:00
ports:
- "8081:5540"
graphql-explorer:
container_name: appwrite-graphql-explorer
2022-12-12 12:47:07 +00:00
image: appwrite/altair:0.3.0
restart: unless-stopped
networks:
- appwrite
2021-11-25 08:04:39 +00:00
ports:
- "9509:3000"
2020-06-22 12:03:36 +00:00
environment:
- SERVER_URL=http://localhost/v1/graphql
2021-01-16 10:33:01 +00:00
# Dev Tools End ------------------------------------------------------------------------------------------
2020-07-04 19:18:37 +00:00
2019-12-05 05:30:23 +00:00
networks:
2020-02-25 07:55:55 +00:00
gateway:
2022-11-10 09:37:49 +00:00
name: gateway
2019-12-05 05:30:23 +00:00
appwrite:
2022-11-10 09:37:49 +00:00
name: appwrite
2025-12-16 06:50:59 +00:00
ipam:
config:
- subnet: 172.16.238.0/24
2022-11-17 19:38:43 +00:00
runtimes:
name: runtimes
configs:
redisinsight-connections.json:
content: |
[
{
"compressor": "NONE",
"id": "104dc90a-21ef-4d5e-8912-b30baabb152f",
"host": "redis",
"port": 6379,
"name": "redis:6379",
"db": 0,
"username": "default",
"password": null,
"connectionType": "STANDALONE",
"nameFromProvider": null,
"provider": "REDIS",
"lastConnection": "2025-10-16T09:22:02.591Z",
"modules": [
{
"name": "ReJSON",
"version": 20808,
"semanticVersion": "2.8.8"
},
{
"name": "search",
"version": 21015,
"semanticVersion": "2.10.15"
}
],
"tls": false,
"tlsServername": null,
"verifyServerCert": null,
"caCert": null,
"clientCert": null,
"ssh": false,
"sshOptions": null,
"forceStandalone": false,
"tags": []
}
]
adminer-index.php:
content: |
<?php
if(!count($$_GET)) {
$$_POST['auth'] = [
'server' => $$_ENV['ADMINER_DEFAULT_SERVER'],
'driver' => 'server', /* seems to autodetect the driver from server settings */
'username' => $$_ENV['ADMINER_DEFAULT_USERNAME'],
'password' => $$_ENV['ADMINER_DEFAULT_PASSWORD'],
'db' => $$_ENV['ADMINER_DEFAULT_DB'],
];
}
include './adminer.php';
volumes:
2020-02-29 06:24:46 +00:00
appwrite-mariadb:
appwrite-redis:
appwrite-cache:
appwrite-uploads:
2025-04-17 03:29:30 +00:00
appwrite-imports:
2020-02-23 08:56:27 +00:00
appwrite-certificates:
2022-11-17 19:38:43 +00:00
appwrite-functions:
2025-02-25 15:42:25 +00:00
appwrite-sites:
2022-11-17 19:38:43 +00:00
appwrite-builds:
appwrite-config: