From 5b4acfc76a87a570f78544525d5a0c35d01ad7dc Mon Sep 17 00:00:00 2001 From: Darren Sisson Date: Sat, 9 Nov 2024 20:22:38 +0000 Subject: [PATCH] first pass appwrite fix --- templates/compose/appwrite.yaml | 203 +++++++++++++++++++++++--------- 1 file changed, 145 insertions(+), 58 deletions(-) diff --git a/templates/compose/appwrite.yaml b/templates/compose/appwrite.yaml index 5eaa7bf8f..6865d98e3 100644 --- a/templates/compose/appwrite.yaml +++ b/templates/compose/appwrite.yaml @@ -3,19 +3,10 @@ # tags: backend-as-a-service, platform # logo: svgs/appwrite.svg - -x-logging: &x-logging - logging: - driver: 'json-file' - options: - max-file: '5' - max-size: '10m' - services: appwrite: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 container_name: appwrite - <<: *x-logging volumes: - appwrite-uploads:/storage/uploads:rw - appwrite-cache:/storage/cache:rw @@ -36,10 +27,13 @@ services: - _APP_CONSOLE_HOSTNAMES=${_APP_CONSOLE_HOSTNAMES:-localhost,appwrite.io,*.appwrite.io} - _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite} - _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io} - - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io} + - _APP_SYSTEM_TEAM_EMAIL=${_APP_SYSTEM_TEAM_EMAIL:-team@appwrite.io} + - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} - _APP_SYSTEM_RESPONSE_FORMAT=${_APP_SYSTEM_RESPONSE_FORMAT} - _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled} + - _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION:-disabled} - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} + - _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS:-disabled} - _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} - _APP_DOMAIN=$SERVICE_FQDN_APPWRITE - _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE @@ -118,11 +112,24 @@ services: - _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} + - _APP_MESSAGE_SMS_TEST_DSN=${_APP_MESSAGE_SMS_TEST_DSN} + - _APP_MESSAGE_EMAIL_TEST_DSN=${_APP_MESSAGE_EMAIL_TEST_DSN} + - _APP_MESSAGE_PUSH_TEST_DSN=${_APP_MESSAGE_PUSH_TEST_DSN} + - _APP_CONSOLE_COUNTRIES_DENYLIST=${_APP_CONSOLE_COUNTRIES_DENYLIST} + - _APP_EXPERIMENT_LOGGING_PROVIDER=${_APP_EXPERIMENT_LOGGING_PROVIDER} + - _APP_EXPERIMENT_LOGGING_CONFIG=${_APP_EXPERIMENT_LOGGING_CONFIG} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + + appwrite-console: + image: appwrite/console:5.0.12 + container_name: appwrite-console + environment: + - SERVICE_FQDN_APPWRITE=/console appwrite-realtime: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: realtime - <<: *x-logging + container_name: appwrite-realtime depends_on: - appwrite-mariadb - appwrite-redis @@ -144,11 +151,11 @@ services: - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-audits: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-audits - <<: *x-logging container_name: appwrite-worker-audits depends_on: - appwrite-redis @@ -168,11 +175,11 @@ services: - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-webhooks: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-webhooks - <<: *x-logging container_name: appwrite-worker-webhooks depends_on: - appwrite-redis @@ -181,18 +188,19 @@ services: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} - - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io} + - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_WEBHOOK_MAX_FAILED_ATTEMPTS=${_APP_WEBHOOK_MAX_FAILED_ATTEMPTS:-3} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-deletes: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-deletes - <<: *x-logging container_name: appwrite-worker-deletes depends_on: - appwrite-redis @@ -241,11 +249,11 @@ services: - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-databases: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-databases - <<: *x-logging container_name: appwrite-worker-databases depends_on: - appwrite-redis @@ -265,11 +273,13 @@ services: - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_WORKERS_NUM=${_APP_WORKERS_NUM:-1} + - _APP_QUEUE_NAME=${_APP_QUEUE_NAME:-appwrite} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-builds: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-builds - <<: *x-logging container_name: appwrite-worker-builds depends_on: - appwrite-redis @@ -324,11 +334,11 @@ services: - _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} - _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1} - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-certificates: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-certificates - <<: *x-logging container_name: appwrite-worker-certificates depends_on: - appwrite-redis @@ -343,7 +353,8 @@ services: - _APP_DOMAIN=$SERVICE_FQDN_APPWRITE - _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE - _APP_DOMAIN_FUNCTIONS=$SERVICE_FQDN_APPWRITE - - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io} + - _APP_EMAIL_CERTIFICATES=${_APP_EMAIL_CERTIFICATES:-enabled} + - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} @@ -355,11 +366,11 @@ services: - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-functions: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-functions - <<: *x-logging container_name: appwrite-worker-functions depends_on: - appwrite-redis @@ -369,6 +380,8 @@ services: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} + - _APP_DOMAIN=$SERVICE_FQDN_APPWRITE + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} @@ -390,11 +403,11 @@ services: - _APP_DOCKER_HUB_EMAIL=${_APP_DOCKER_HUB_EMAIL} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-mails: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-mails - <<: *x-logging container_name: appwrite-worker-mails depends_on: - appwrite-redis @@ -415,12 +428,16 @@ services: - _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD} - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_DOMAIN=$SERVICE_FQDN_APPWRITE + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-messaging: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-messaging - <<: *x-logging container_name: appwrite-worker-messaging + volumes: + - appwrite-uploads:/storage/uploads:rw depends_on: - appwrite-redis environment: @@ -440,11 +457,33 @@ services: - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_SMS_FROM=${_APP_SMS_FROM} - _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER} + - _APP_SMS_PROJECTS_DENY_LIST=${_APP_SMS_PROJECTS_DENY_LIST} + - _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} + - _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} + - _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET} + - _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1} + - _APP_STORAGE_S3_BUCKET=${_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:-us-east-1} + - _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:-us-west-004} + - _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:-eu-central-1} + - _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:-eu-central-1} + - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-migrations: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-migrations - <<: *x-logging container_name: appwrite-worker-migrations depends_on: - appwrite-mariadb @@ -454,7 +493,7 @@ services: - _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} - _APP_DOMAIN=$SERVICE_FQDN_APPWRITE - _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE - - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io} + - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} @@ -468,11 +507,11 @@ services: - _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} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-maintenance: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: maintenance - <<: *x-logging container_name: appwrite-maintenance depends_on: - appwrite-redis @@ -499,12 +538,13 @@ services: - _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600} - _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000} - _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400} + - _APP_MAINTENANCE_DELAY=${_APP_MAINTENANCE_DELAY} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-usage: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-usage container_name: appwrite-worker-usage - <<: *x-logging restart: unless-stopped depends_on: - appwrite-redis @@ -526,11 +566,11 @@ services: - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-worker-usage-dump: - image: appwrite/appwrite:1.6 + image: appwrite/appwrite:1.6.0 entrypoint: worker-usage-dump - <<: *x-logging container_name: appwrite-worker-usage-dump depends_on: - appwrite-redis @@ -552,13 +592,12 @@ services: - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - appwrite-scheduler-functions: - image: appwrite/appwrite:1.6 + appwrite-task-scheduler-functions: + image: appwrite/appwrite:1.6.0 entrypoint: schedule-functions - container_name: appwrite-scheduler-functions - <<: *x-logging - restart: unless-stopped + container_name: appwrite-task-scheduler-functions depends_on: - appwrite-mariadb - appwrite-redis @@ -575,13 +614,12 @@ services: - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - appwrite-scheduler-messages: - image: appwrite/appwrite:1.6 - entrypoint: schedule-messages - container_name: appwrite-scheduler-messages - <<: *x-logging - restart: unless-stopped + appwrite-task-scheduler-executions: + image: appwrite/appwrite:1.6.0 + entrypoint: schedule-executions + container_name: appwrite-task-scheduler-executions depends_on: - appwrite-mariadb - appwrite-redis @@ -598,18 +636,43 @@ services: - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + + appwrite-task-scheduler-messages: + image: appwrite/appwrite:1.6.0 + entrypoint: schedule-messages + container_name: appwrite-task-scheduler-messages + depends_on: + - appwrite-mariadb + - appwrite-redis + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} appwrite-assistant: image: appwrite/assistant:0.4.0 container_name: appwrite-assistant 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.9 + image: openruntimes/executor:0.6.11 + networks: + - runtimes volumes: - /var/run/docker.sock:/var/run/docker.sock - appwrite-builds:/storage/builds:rw @@ -618,12 +681,13 @@ services: 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_NETWORK=${_APP_FUNCTIONS_RUNTIMES_NETWORK:-runtimes} - OPR_EXECUTOR_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME} - OPR_EXECUTOR_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD} - OPR_EXECUTOR_ENV=${_APP_ENV:-production} - OPR_EXECUTOR_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES} - OPR_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE + - OPR_EXECUTOR_RUNTIME_VERSIONS=v2,v4 - OPR_EXECUTOR_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - OPR_EXECUTOR_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - OPR_EXECUTOR_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} @@ -648,10 +712,28 @@ services: - 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 + stop_signal: SIGINT + image: openruntimes/proxy:0.5.5 + networks: + - runtimes + environment: + - OPR_PROXY_WORKER_PER_CORE=${OPR_PROXY_WORKER_PER_CORE:-1} + - OPR_PROXY_ENV=${_APP_ENV:-production} + - OPR_PROXY_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE + - OPR_PROXY_SECRET=$SERVICE_PASSWORD_64_APPWRITE + - OPR_PROXY_LOGGING_CONFIG=$_APP_LOGGING_CONFIG + - OPR_PROXY_ALGORITHM=random + - OPR_PROXY_EXECUTORS=exc1 + - OPR_PROXY_HEALTHCHECK_INTERVAL=10000 + - OPR_PROXY_MAX_TIMEOUT=600 + - OPR_PROXY_HEALTHCHECK=enabled + appwrite-mariadb: image: mariadb:10.11 container_name: appwrite-mariadb - <<: *x-logging volumes: - appwrite-mariadb:/var/lib/mysql:rw environment: @@ -659,11 +741,12 @@ services: - MYSQL_DATABASE=${_APP_DB_SCHEMA:-appwrite} - MYSQL_USER=$SERVICE_USER_MARIADB - MYSQL_PASSWORD=$SERVICE_PASSWORD_MARIADB + - MARIADB_AUTO_UPGRADE=1 command: 'mysqld --innodb-flush-method=fsync' + appwrite-redis: image: redis:7.2.4-alpine container_name: appwrite-redis - <<: *x-logging command: > redis-server --maxmemory 512mb @@ -671,6 +754,10 @@ services: --maxmemory-samples 5 volumes: - appwrite-redis:/data:rw +networks: + runtimes: + name: runtimes + volumes: appwrite-mariadb: appwrite-redis: