Skip to content

Instantly share code, notes, and snippets.

@svallory
Last active June 14, 2025 06:16
Show Gist options
  • Save svallory/df3bf922ceb9191551a1b14911d6802e to your computer and use it in GitHub Desktop.
Save svallory/df3bf922ceb9191551a1b14911d6802e to your computer and use it in GitHub Desktop.
Appwrite 1.7.4 on Coolify

Appwrite 1.7.4 on Coolify 4.0.0 beta 418

Instructions

  1. Download the appwrite.env and edit with your options (domain, keys, etc)

Important

  • DO NOT set a password for Redis unless you are connecting to an external one
  • Keep the *_FORCE_HTTPS variables disabled or it will not work.
    Don't worry, Coolify will handle https.
  1. Go to Coolify and create a new resource selecting "Docker Compose Empty"
image
  1. Paste the docker-compose.yml file from this gist

  2. Go straight to Environment Variables and paste the code of the appwrite.env you edited

  3. Configure the URLs and disable the "Strip Prefixes" option for the containers below

    • Apprite -> https://<your-domain>
    • Apprite Console -> https://<your-domain>/console
    • Apprite Realtime -> https://<your-domain>/v1/realtime
image
# Appwrite Environment Variables for Coolify
# Replace placeholder values with your actual configuration.
# --- General Appwrite Settings ---
_APP_ENV=production # development or production
_APP_WORKER_PER_CORE=6 # Number of workers per CPU core
_APP_LOCALE=en # Default locale
_APP_COMPRESSION_MIN_SIZE_BYTES=1000 # Min size for response compression
_APP_CONSOLE_WHITELIST_ROOT=enabled # 'enabled' or 'disabled' for root account access to console
_APP_CONSOLE_WHITELIST_EMAILS= # Comma-separated list of emails allowed to access console
_APP_CONSOLE_SESSION_ALERTS=enabled # 'enabled' or 'disabled'
_APP_CONSOLE_WHITELIST_IPS= # Comma-separated list of IPs allowed to access console
_APP_CONSOLE_HOSTNAMES= # Comma-separated list of hostnames allowed for console access (e.g., console.yourdomain.com)
# --- System Email ---
_APP_SYSTEM_EMAIL_NAME=Appwrite # Sender name for system emails
[email protected] # Sender email address for system emails
_APP_EMAIL_SECURITY= # Path to custom CA bundle for email security (optional)
_APP_SYSTEM_SECURITY_EMAIL_ADDRESS= # Email address to send security alerts to (optional)
_APP_EMAIL_CERTIFICATES=enabled # 'enabled' or 'disabled' for using custom certificates for emails
# --- System & Security Options ---
_APP_SYSTEM_RESPONSE_FORMAT= # Default response format version
_APP_OPTIONS_ABUSE=enabled # 'enabled' or 'disabled' for abuse protection
_APP_OPTIONS_ROUTER_PROTECTION=enabled # 'enabled' or 'disabled' for router protection
_APP_OPTIONS_FORCE_HTTPS=disabled # Let Coolify handle HTTPS
_APP_OPTIONS_ROUTER_FORCE_HTTPS=disabled # Let Coolify handle HTTPS
# --- Encryption Key ---
_APP_OPENSSL_KEY_V1=your-super-secret-openssl-key # IMPORTANT: Generate a strong, unique 32-char random string
# --- Domain & CNAME ---
_APP_DOMAIN=appwrite.yourdomain.com # Your main Appwrite domain (e.g., appwrite.example.com) - MUST MATCH TRAEFIK RULE
_APP_DOMAIN_FUNCTIONS= # Domain for Appwrite functions (e.g., functions.yourdomain.com)
_APP_DOMAIN_SITES= # Domain for Appwrite sites (e.g., sites.yourdomain.com)
# these CANNOT be null and Coolify has issues with proper handling of env variables
# So I'm setting them to fake values
_APP_DOMAIN_TARGET_CNAME=cname.rcsagents.io
_APP_DOMAIN_TARGET_AAAA=aaaa.rcsagents.io
_APP_DOMAIN_TARGET_A=back.rcsagents.io
# --- Redis Configuration (usually managed by Coolify if using its Redis service) ---
_APP_REDIS_HOST=appwrite-redis # Service name of Redis container
_APP_REDIS_PORT=6379 # Redis port
_APP_REDIS_USER= # Redis username (if applicable)
_APP_REDIS_PASS= # Redis password (if applicable)
# --- MariaDB Configuration (usually managed by Coolify if using its MariaDB service) ---
_APP_DB_HOST=appwrite-mariadb # Service name of MariaDB container
_APP_DB_PORT=3306 # MariaDB port
_APP_DB_SCHEMA=appwrite # Database name
_APP_DB_USER=appwrite_user # Database user
_APP_DB_PASS=your-strong-db-password # Database password - IMPORTANT: Set a strong password
_APP_DB_ROOT_PASS=your-strong-db-root-password # MariaDB root password - IMPORTANT: Set a strong password
# --- SMTP (Email) Configuration ---
_APP_SMTP_HOST= # Your SMTP server host (e.g., smtp.mailgun.org)
_APP_SMTP_PORT= # Your SMTP server port (e.g., 587)
_APP_SMTP_SECURE=tls # 'tls', 'ssl', or empty
_APP_SMTP_USERNAME= # Your SMTP username
_APP_SMTP_PASSWORD= # Your SMTP password
# --- Usage Statistics ---
_APP_USAGE_STATS=enabled # 'enabled' or 'disabled' to send anonymous usage stats to Appwrite
# --- Storage Settings ---
_APP_STORAGE_LIMIT=5000000000 # Max storage limit in bytes (e.g., 5GB)
_APP_STORAGE_PREVIEW_LIMIT=10000000 # Max preview file size in bytes (e.g., 10MB)
_APP_STORAGE_ANTIVIRUS=disabled # 'enabled' or 'disabled' for ClamAV
_APP_STORAGE_ANTIVIRUS_HOST=appwrite-clamav # ClamAV service name (if enabled)
_APP_STORAGE_ANTIVIRUS_PORT=3310 # ClamAV port (if enabled)
_APP_STORAGE_DEVICE=local # 'local', 's3', 'dospaces', 'backblaze', 'linode', 'wasabi'
# --- S3 Storage (if _APP_STORAGE_DEVICE=s3) ---
_APP_STORAGE_S3_ACCESS_KEY=
_APP_STORAGE_S3_SECRET=
_APP_STORAGE_S3_REGION=
_APP_STORAGE_S3_BUCKET=
_APP_STORAGE_S3_ENDPOINT= # e.g., https://s3.amazonaws.com or MinIO endpoint
# --- DigitalOcean Spaces (if _APP_STORAGE_DEVICE=dospaces) ---
_APP_STORAGE_DO_SPACES_ACCESS_KEY=
_APP_STORAGE_DO_SPACES_SECRET=
_APP_STORAGE_DO_SPACES_REGION=
_APP_STORAGE_DO_SPACES_BUCKET=
# --- Backblaze B2 (if _APP_STORAGE_DEVICE=backblaze) ---
_APP_STORAGE_BACKBLAZE_ACCESS_KEY=
_APP_STORAGE_BACKBLAZE_SECRET=
_APP_STORAGE_BACKBLAZE_REGION=
_APP_STORAGE_BACKBLAZE_BUCKET=
# --- Linode Object Storage (if _APP_STORAGE_DEVICE=linode) ---
_APP_STORAGE_LINODE_ACCESS_KEY=
_APP_STORAGE_LINODE_SECRET=
_APP_STORAGE_LINODE_REGION=
_APP_STORAGE_LINODE_BUCKET=
# --- Wasabi (if _APP_STORAGE_DEVICE=wasabi) ---
_APP_STORAGE_WASABI_ACCESS_KEY=
_APP_STORAGE_WASABI_SECRET=
_APP_STORAGE_WASABI_REGION=
_APP_STORAGE_WASABI_BUCKET=
# --- Compute Settings (Functions & Sites) ---
_APP_COMPUTE_SIZE_LIMIT=10000000 # Max size for function/site code in bytes (e.g., 10MB)
_APP_FUNCTIONS_TIMEOUT=900 # Max execution time for functions in seconds (15 minutes)
_APP_SITES_TIMEOUT=300 # Max execution time for sites in seconds (5 minutes)
_APP_COMPUTE_BUILD_TIMEOUT=900 # Max build time for functions/sites in seconds
_APP_COMPUTE_CPUS=0 # Number of CPUs for compute (0 for unlimited)
_APP_COMPUTE_MEMORY=0 # Memory limit for compute in MB (0 for unlimited)
_APP_FUNCTIONS_RUNTIMES=node-18.0,php-8.0,python-3.9,ruby-3.0,deno-1.21,dart-2.17,swift-5.5,kotlin-1.6,java-11.0,cpp-17,dotnet-6.0 # Comma-separated list of enabled runtimes
_APP_SITES_RUNTIMES=node-18.0,php-8.0,python-3.9,ruby-3.0,deno-1.21,dart-2.17 # Comma-separated list of enabled site runtimes
_APP_COMPUTE_INACTIVE_THRESHOLD=600 # Seconds before an inactive runtime is removed
_APP_COMPUTE_MAINTENANCE_INTERVAL=86400 # Seconds between executor maintenance cycles
_APP_COMPUTE_RUNTIMES_NETWORK=runtimes # Docker network for runtimes
# --- Executor Settings ---
_APP_EXECUTOR_SECRET=your-super-secret-executor-key # IMPORTANT: Generate a strong, unique random string
_APP_EXECUTOR_HOST=http://openruntimes-executor:3000 # Hostname of the executor service
# --- Logging ---
_APP_LOGGING_CONFIG= # JSON logging configuration (optional)
# --- Maintenance Settings ---
_APP_MAINTENANCE_INTERVAL=86400 # Interval for maintenance tasks in seconds (24 hours)
_APP_MAINTENANCE_DELAY=3600 # Delay before starting maintenance in seconds (1 hour)
_APP_MAINTENANCE_START_TIME=00:00 # Start time for maintenance (HH:MM)
_APP_MAINTENANCE_RETENTION_EXECUTION=7776000 # Execution logs retention in seconds (90 days)
_APP_MAINTENANCE_RETENTION_CACHE=2592000 # Cache retention in seconds (30 days)
_APP_MAINTENANCE_RETENTION_ABUSE=2592000 # Abuse logs retention in seconds (30 days)
_APP_MAINTENANCE_RETENTION_AUDIT=1209600 # Audit logs retention in seconds (14 days)
_APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE=1209600 # Console audit logs retention in seconds (14 days)
_APP_MAINTENANCE_RETENTION_USAGE_HOURLY=7776000 # Hourly usage stats retention in seconds (90 days)
_APP_MAINTENANCE_RETENTION_SCHEDULES=2592000 # Schedule logs retention in seconds (30 days)
# --- SMS Provider ---
_APP_SMS_PROVIDER= # e.g., twilio://<ACCOUNT_SID>:<AUTH_TOKEN>@<API_HOST_AND_VERSION_MAYBE>
_APP_SMS_FROM= # Your SMS sender phone number
# --- GraphQL Settings ---
_APP_GRAPHQL_MAX_BATCH_SIZE=10 # Max batch size for GraphQL queries
_APP_GRAPHQL_MAX_COMPLEXITY=1000 # Max complexity for GraphQL queries
_APP_GRAPHQL_MAX_DEPTH=10 # Max depth for GraphQL queries
# --- VCS (Version Control System) - GitHub App ---
_APP_VCS_GITHUB_APP_NAME= # Your GitHub App name
_APP_VCS_GITHUB_PRIVATE_KEY= # Your GitHub App private key (multiline, ensure correct formatting)
_APP_VCS_GITHUB_APP_ID= # Your GitHub App ID
_APP_VCS_GITHUB_WEBHOOK_SECRET= # Your GitHub App webhook secret
_APP_VCS_GITHUB_CLIENT_SECRET= # Your GitHub App client secret
_APP_VCS_GITHUB_CLIENT_ID= # Your GitHub App client ID
# --- Migrations (Firebase) ---
_APP_MIGRATIONS_FIREBASE_CLIENT_ID=
_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=
# --- AI Assistant (OpenAI) ---
_APP_ASSISTANT_OPENAI_API_KEY= # Your OpenAI API Key (optional)
# --- Docker Hub Credentials (for pulling custom runtimes) ---
_APP_DOCKER_HUB_USERNAME=
_APP_DOCKER_HUB_PASSWORD=
# --- Database Shared Tables (for usage stats) ---
_APP_DATABASE_SHARED_TABLES=enabled # 'enabled' or 'disabled'
# --- Stats Intervals ---
_APP_STATS_RESOURCES_INTERVAL=1800 # Interval for resource stats collection in seconds (30 minutes)
_APP_USAGE_AGGREGATION_INTERVAL=3600 # Interval for usage aggregation in seconds (1 hour)
version: '3.8'
x-logging: &x-logging
logging:
driver: 'json-file'
options:
max-file: '5'
max-size: '10m'
services:
appwrite-traefik:
image: traefik:2.11
container_name: appwrite-traefik
<<: *x-logging
command:
- --providers.file.directory=/storage/config
- --providers.file.watch=true
- --providers.docker=true
- --providers.docker.exposedByDefault=false
- --providers.docker.constraints=Label(`traefik.constraint-label-stack`,`appwrite`)
- --entrypoints.appwrite_web.address=:8123
- --entrypoints.appwrite_websecure.address=:44333
restart: unless-stopped
ports:
- 8123:8123
- 44333:44333
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- appwrite-config:/storage/config:ro
- appwrite-certificates:/storage/certificates:ro
depends_on:
- appwrite
networks:
- gateway
- appwrite
appwrite:
image: appwrite/appwrite:1.7.4
container_name: appwrite
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
labels:
- "traefik.docker.network=appwrite"
# HTTP Router for appwrite API
- "traefik.http.routers.appwrite-http.entrypoints=web"
- "traefik.http.routers.appwrite-http.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/`)"
- "traefik.http.routers.appwrite-http.service=appwrite-api-svc"
# HTTPS Router for appwrite API
- "traefik.http.routers.appwrite-https.entrypoints=websecure"
- "traefik.http.routers.appwrite-https.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/`)"
- "traefik.http.routers.appwrite-https.service=appwrite-api-svc"
- "traefik.http.routers.appwrite-https.tls=true"
- "traefik.http.routers.appwrite-https.tls.certresolver=letsencrypt" # Standard resolver name
# Service definition for appwrite API
- "traefik.http.services.appwrite-api-svc.loadbalancer.server.port=8123"
volumes:
- appwrite-uploads:/storage/uploads:rw
- appwrite-imports:/storage/imports:rw
- appwrite-cache:/storage/cache:rw
- appwrite-config:/storage/config:rw
- appwrite-certificates:/storage/certificates:rw
- appwrite-functions:/storage/functions:rw
- appwrite-sites:/storage/sites:rw
- appwrite-builds:/storage/builds:rw
depends_on:
- appwrite-mariadb
- appwrite-redis
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_LOCALE
- _APP_COMPRESSION_MIN_SIZE_BYTES
- _APP_CONSOLE_WHITELIST_ROOT
- _APP_CONSOLE_WHITELIST_EMAILS
- _APP_CONSOLE_SESSION_ALERTS
- _APP_CONSOLE_WHITELIST_IPS
- _APP_CONSOLE_HOSTNAMES
- _APP_SYSTEM_EMAIL_NAME
- _APP_SYSTEM_EMAIL_ADDRESS
- _APP_EMAIL_SECURITY
- _APP_SYSTEM_RESPONSE_FORMAT
- _APP_OPTIONS_ABUSE
- _APP_OPTIONS_ROUTER_PROTECTION
- _APP_OPTIONS_FORCE_HTTPS=disabled # you don't need this on coolify
- _APP_OPTIONS_ROUTER_FORCE_HTTPS=disabled # you don't need this on coolify
- _APP_OPENSSL_KEY_V1
- _APP_DOMAIN
- _APP_DOMAIN_TARGET_CNAME=""
- _APP_DOMAIN_TARGET_AAAA=""
- _APP_DOMAIN_TARGET_A=""
- _APP_DOMAIN_FUNCTIONS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_SMTP_HOST
- _APP_SMTP_PORT
- _APP_SMTP_SECURE
- _APP_SMTP_USERNAME
- _APP_SMTP_PASSWORD
- _APP_USAGE_STATS
- _APP_STORAGE_LIMIT
- _APP_STORAGE_PREVIEW_LIMIT
- _APP_STORAGE_ANTIVIRUS
- _APP_STORAGE_ANTIVIRUS_HOST
- _APP_STORAGE_ANTIVIRUS_PORT
- _APP_STORAGE_DEVICE
- _APP_STORAGE_S3_ACCESS_KEY
- _APP_STORAGE_S3_SECRET
- _APP_STORAGE_S3_REGION
- _APP_STORAGE_S3_BUCKET
- _APP_STORAGE_S3_ENDPOINT
- _APP_STORAGE_DO_SPACES_ACCESS_KEY
- _APP_STORAGE_DO_SPACES_SECRET
- _APP_STORAGE_DO_SPACES_REGION
- _APP_STORAGE_DO_SPACES_BUCKET
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY
- _APP_STORAGE_BACKBLAZE_SECRET
- _APP_STORAGE_BACKBLAZE_REGION
- _APP_STORAGE_BACKBLAZE_BUCKET
- _APP_STORAGE_LINODE_ACCESS_KEY
- _APP_STORAGE_LINODE_SECRET
- _APP_STORAGE_LINODE_REGION
- _APP_STORAGE_LINODE_BUCKET
- _APP_STORAGE_WASABI_ACCESS_KEY
- _APP_STORAGE_WASABI_SECRET
- _APP_STORAGE_WASABI_REGION
- _APP_STORAGE_WASABI_BUCKET
- _APP_COMPUTE_SIZE_LIMIT
- _APP_FUNCTIONS_TIMEOUT
- _APP_SITES_TIMEOUT
- _APP_COMPUTE_BUILD_TIMEOUT
- _APP_COMPUTE_CPUS
- _APP_COMPUTE_MEMORY
- _APP_FUNCTIONS_RUNTIMES
- _APP_SITES_RUNTIMES
- _APP_DOMAIN_SITES
- _APP_EXECUTOR_SECRET
- _APP_EXECUTOR_HOST
- _APP_LOGGING_CONFIG
- _APP_MAINTENANCE_INTERVAL
- _APP_MAINTENANCE_DELAY
- _APP_MAINTENANCE_START_TIME
- _APP_MAINTENANCE_RETENTION_EXECUTION
- _APP_MAINTENANCE_RETENTION_CACHE
- _APP_MAINTENANCE_RETENTION_ABUSE
- _APP_MAINTENANCE_RETENTION_AUDIT
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY
- _APP_MAINTENANCE_RETENTION_SCHEDULES
- _APP_SMS_PROVIDER
- _APP_SMS_FROM
- _APP_GRAPHQL_MAX_BATCH_SIZE
- _APP_GRAPHQL_MAX_COMPLEXITY
- _APP_GRAPHQL_MAX_DEPTH
- _APP_VCS_GITHUB_APP_NAME
- _APP_VCS_GITHUB_PRIVATE_KEY
- _APP_VCS_GITHUB_APP_ID
- _APP_VCS_GITHUB_WEBHOOK_SECRET
- _APP_VCS_GITHUB_CLIENT_SECRET
- _APP_VCS_GITHUB_CLIENT_ID
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET
- _APP_ASSISTANT_OPENAI_API_KEY
appwrite-console:
<<: *x-logging
container_name: appwrite-console
image: appwrite/console:6.0.13
restart: unless-stopped
networks:
- appwrite
labels:
- "traefik.docker.network=appwrite"
# HTTP Router for appwrite console
- "traefik.http.routers.appwrite-console-http.entrypoints=web"
- "traefik.http.routers.appwrite-console-http.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/console`)"
- "traefik.http.routers.appwrite-console-http.service=appwrite-console-svc"
# HTTPS Router for appwrite console
- "traefik.http.routers.appwrite-console-https.entrypoints=websecure"
- "traefik.http.routers.appwrite-console-https.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/console`)"
- "traefik.http.routers.appwrite-console-https.service=appwrite-console-svc"
- "traefik.http.routers.appwrite-console-https.tls=true"
- "traefik.http.routers.appwrite-console-https.tls.certresolver=letsencrypt"
# Service definition for appwrite console
- "traefik.http.services.appwrite-console-svc.loadbalancer.server.port=8123"
appwrite-realtime:
image: appwrite/appwrite:1.7.4
entrypoint: realtime
container_name: appwrite-realtime
<<: *x-logging
restart: unless-stopped
labels:
- "traefik.docker.network=appwrite"
# HTTP Router for appwrite realtime
- "traefik.http.routers.appwrite-realtime-http.entrypoints=web"
- "traefik.http.routers.appwrite-realtime-http.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/v1/realtime`)"
- "traefik.http.routers.appwrite-realtime-http.service=appwrite-realtime-svc"
# HTTPS Router for appwrite realtime
- "traefik.http.routers.appwrite-realtime-https.entrypoints=websecure"
- "traefik.http.routers.appwrite-realtime-https.rule=Host(`${_APP_DOMAIN}`) && PathPrefix(`/v1/realtime`)"
- "traefik.http.routers.appwrite-realtime-https.service=appwrite-realtime-svc"
- "traefik.http.routers.appwrite-realtime-https.tls=true"
- "traefik.http.routers.appwrite-realtime-https.tls.certresolver=letsencrypt"
# Service definition for appwrite realtime
- "traefik.http.services.appwrite-realtime-svc.loadbalancer.server.port=8123"
networks:
- appwrite
depends_on:
- appwrite-mariadb
- appwrite-redis
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPTIONS_ABUSE
- _APP_OPTIONS_ROUTER_PROTECTION
- _APP_OPENSSL_KEY_V1
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_USAGE_STATS
- _APP_LOGGING_CONFIG
appwrite-worker-audits:
image: appwrite/appwrite:1.7.4
entrypoint: worker-audits
<<: *x-logging
container_name: appwrite-worker-audits
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
- appwrite-mariadb
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_LOGGING_CONFIG
appwrite-worker-webhooks:
image: appwrite/appwrite:1.7.4
entrypoint: worker-webhooks
<<: *x-logging
container_name: appwrite-worker-webhooks
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
- appwrite-mariadb
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_EMAIL_SECURITY
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_LOGGING_CONFIG
appwrite-worker-deletes:
image: appwrite/appwrite:1.7.4
entrypoint: worker-deletes
<<: *x-logging
container_name: appwrite-worker-deletes
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
- appwrite-mariadb
volumes:
- appwrite-uploads:/storage/uploads:rw
- appwrite-cache:/storage/cache:rw
- appwrite-functions:/storage/functions:rw
- appwrite-sites:/storage/sites:rw
- appwrite-builds:/storage/builds:rw
- appwrite-certificates:/storage/certificates:rw
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_STORAGE_DEVICE
- _APP_STORAGE_S3_ACCESS_KEY
- _APP_STORAGE_S3_SECRET
- _APP_STORAGE_S3_REGION
- _APP_STORAGE_S3_BUCKET
- _APP_STORAGE_S3_ENDPOINT
- _APP_STORAGE_DO_SPACES_ACCESS_KEY
- _APP_STORAGE_DO_SPACES_SECRET
- _APP_STORAGE_DO_SPACES_REGION
- _APP_STORAGE_DO_SPACES_BUCKET
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY
- _APP_STORAGE_BACKBLAZE_SECRET
- _APP_STORAGE_BACKBLAZE_REGION
- _APP_STORAGE_BACKBLAZE_BUCKET
- _APP_STORAGE_LINODE_ACCESS_KEY
- _APP_STORAGE_LINODE_SECRET
- _APP_STORAGE_LINODE_REGION
- _APP_STORAGE_LINODE_BUCKET
- _APP_STORAGE_WASABI_ACCESS_KEY
- _APP_STORAGE_WASABI_SECRET
- _APP_STORAGE_WASABI_REGION
- _APP_STORAGE_WASABI_BUCKET
- _APP_LOGGING_CONFIG
- _APP_EXECUTOR_SECRET
- _APP_EXECUTOR_HOST
- _APP_MAINTENANCE_RETENTION_ABUSE
- _APP_MAINTENANCE_RETENTION_AUDIT
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE
- _APP_MAINTENANCE_RETENTION_EXECUTION
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_EMAIL_CERTIFICATES
appwrite-worker-databases:
image: appwrite/appwrite:1.7.4
entrypoint: worker-databases
<<: *x-logging
container_name: appwrite-worker-databases
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
- appwrite-mariadb
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_LOGGING_CONFIG
appwrite-worker-builds:
image: appwrite/appwrite:1.7.4
entrypoint: worker-builds
<<: *x-logging
container_name: appwrite-worker-builds
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
- appwrite-mariadb
volumes:
- appwrite-functions:/storage/functions:rw
- appwrite-sites:/storage/sites:rw
- appwrite-builds:/storage/builds:rw
- appwrite-uploads:/storage/uploads:rw
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_EXECUTOR_SECRET
- _APP_EXECUTOR_HOST
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_LOGGING_CONFIG
- _APP_VCS_GITHUB_APP_NAME
- _APP_VCS_GITHUB_PRIVATE_KEY
- _APP_VCS_GITHUB_APP_ID
- _APP_FUNCTIONS_TIMEOUT
- _APP_SITES_TIMEOUT
- _APP_COMPUTE_BUILD_TIMEOUT
- _APP_COMPUTE_CPUS
- _APP_COMPUTE_MEMORY
- _APP_COMPUTE_SIZE_LIMIT
- _APP_OPTIONS_FORCE_HTTPS
- _APP_OPTIONS_ROUTER_FORCE_HTTPS
- _APP_DOMAIN
- _APP_STORAGE_DEVICE
- _APP_STORAGE_S3_ACCESS_KEY
- _APP_STORAGE_S3_SECRET
- _APP_STORAGE_S3_REGION
- _APP_STORAGE_S3_BUCKET
- _APP_STORAGE_S3_ENDPOINT
- _APP_STORAGE_DO_SPACES_ACCESS_KEY
- _APP_STORAGE_DO_SPACES_SECRET
- _APP_STORAGE_DO_SPACES_REGION
- _APP_STORAGE_DO_SPACES_BUCKET
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY
- _APP_STORAGE_BACKBLAZE_SECRET
- _APP_STORAGE_BACKBLAZE_REGION
- _APP_STORAGE_BACKBLAZE_BUCKET
- _APP_STORAGE_LINODE_ACCESS_KEY
- _APP_STORAGE_LINODE_SECRET
- _APP_STORAGE_LINODE_REGION
- _APP_STORAGE_LINODE_BUCKET
- _APP_STORAGE_WASABI_ACCESS_KEY
- _APP_STORAGE_WASABI_SECRET
- _APP_STORAGE_WASABI_REGION
- _APP_STORAGE_WASABI_BUCKET
- _APP_DOMAIN_SITES
appwrite-worker-certificates:
image: appwrite/appwrite:1.7.4
entrypoint: worker-certificates
<<: *x-logging
container_name: appwrite-worker-certificates
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
- appwrite-mariadb
volumes:
- appwrite-config:/storage/config:rw
- appwrite-certificates:/storage/certificates:rw
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_DOMAIN
- _APP_DOMAIN_TARGET_CNAME
- _APP_DOMAIN_TARGET_AAAA
- _APP_DOMAIN_TARGET_A
- _APP_DOMAIN_FUNCTIONS
- _APP_EMAIL_CERTIFICATES
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_LOGGING_CONFIG
appwrite-worker-functions:
image: appwrite/appwrite:1.7.4
entrypoint: worker-functions
<<: *x-logging
container_name: appwrite-worker-functions
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
- appwrite-mariadb
- openruntimes-executor
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_DOMAIN
- _APP_OPTIONS_FORCE_HTTPS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_FUNCTIONS_TIMEOUT
- _APP_SITES_TIMEOUT
- _APP_COMPUTE_BUILD_TIMEOUT
- _APP_COMPUTE_CPUS
- _APP_COMPUTE_MEMORY
- _APP_EXECUTOR_SECRET
- _APP_EXECUTOR_HOST
- _APP_USAGE_STATS
- _APP_DOCKER_HUB_USERNAME
- _APP_DOCKER_HUB_PASSWORD
- _APP_LOGGING_CONFIG
appwrite-worker-mails:
image: appwrite/appwrite:1.7.4
entrypoint: worker-mails
<<: *x-logging
container_name: appwrite-worker-mails
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_SYSTEM_EMAIL_NAME
- _APP_SYSTEM_EMAIL_ADDRESS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_SMTP_HOST
- _APP_SMTP_PORT
- _APP_SMTP_SECURE
- _APP_SMTP_USERNAME
- _APP_SMTP_PASSWORD
- _APP_LOGGING_CONFIG
- _APP_DOMAIN
- _APP_OPTIONS_FORCE_HTTPS
appwrite-worker-messaging:
image: appwrite/appwrite:1.7.4
entrypoint: worker-messaging
<<: *x-logging
container_name: appwrite-worker-messaging
restart: unless-stopped
networks:
- appwrite
volumes:
- appwrite-uploads:/storage/uploads:rw
depends_on:
- appwrite-redis
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_LOGGING_CONFIG
- _APP_SMS_FROM
- _APP_SMS_PROVIDER
- _APP_STORAGE_DEVICE
- _APP_STORAGE_S3_ACCESS_KEY
- _APP_STORAGE_S3_SECRET
- _APP_STORAGE_S3_REGION
- _APP_STORAGE_S3_BUCKET
- _APP_STORAGE_S3_ENDPOINT
- _APP_STORAGE_DO_SPACES_ACCESS_KEY
- _APP_STORAGE_DO_SPACES_SECRET
- _APP_STORAGE_DO_SPACES_REGION
- _APP_STORAGE_DO_SPACES_BUCKET
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY
- _APP_STORAGE_BACKBLAZE_SECRET
- _APP_STORAGE_BACKBLAZE_REGION
- _APP_STORAGE_BACKBLAZE_BUCKET
- _APP_STORAGE_LINODE_ACCESS_KEY
- _APP_STORAGE_LINODE_SECRET
- _APP_STORAGE_LINODE_REGION
- _APP_STORAGE_LINODE_BUCKET
- _APP_STORAGE_WASABI_ACCESS_KEY
- _APP_STORAGE_WASABI_SECRET
- _APP_STORAGE_WASABI_REGION
- _APP_STORAGE_WASABI_BUCKET
appwrite-worker-migrations:
image: appwrite/appwrite:1.7.4
entrypoint: worker-migrations
<<: *x-logging
container_name: appwrite-worker-migrations
restart: unless-stopped
networks:
- appwrite
volumes:
- appwrite-imports:/storage/imports:rw
depends_on:
- appwrite-mariadb
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_DOMAIN
- _APP_DOMAIN_TARGET_CNAME
- _APP_DOMAIN_TARGET_AAAA
- _APP_DOMAIN_TARGET_A
- _APP_EMAIL_SECURITY
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_LOGGING_CONFIG
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET
appwrite-task-maintenance:
image: appwrite/appwrite:1.7.4
entrypoint: maintenance
<<: *x-logging
container_name: appwrite-task-maintenance
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_DOMAIN
- _APP_DOMAIN_TARGET_CNAME
- _APP_DOMAIN_TARGET_AAAA
- _APP_DOMAIN_TARGET_A
- _APP_DOMAIN_FUNCTIONS
- _APP_OPENSSL_KEY_V1
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_MAINTENANCE_INTERVAL
- _APP_MAINTENANCE_RETENTION_EXECUTION
- _APP_MAINTENANCE_RETENTION_CACHE
- _APP_MAINTENANCE_RETENTION_ABUSE
- _APP_MAINTENANCE_RETENTION_AUDIT
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY
- _APP_MAINTENANCE_RETENTION_SCHEDULES
appwrite-task-stats-resources:
image: appwrite/appwrite:1.7.4
container_name: appwrite-task-stats-resources
entrypoint: stats-resources
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
- appwrite-mariadb
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_USAGE_STATS
- _APP_LOGGING_CONFIG
- _APP_DATABASE_SHARED_TABLES
- _APP_STATS_RESOURCES_INTERVAL
appwrite-worker-stats-resources:
image: appwrite/appwrite:1.7.4
entrypoint: worker-stats-resources
container_name: appwrite-worker-stats-resources
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
- appwrite-mariadb
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_USAGE_STATS
- _APP_LOGGING_CONFIG
- _APP_STATS_RESOURCES_INTERVAL
appwrite-worker-stats-usage:
image: appwrite/appwrite:1.7.4
entrypoint: worker-stats-usage
container_name: appwrite-worker-stats-usage
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-redis
- appwrite-mariadb
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_USAGE_STATS
- _APP_LOGGING_CONFIG
- _APP_USAGE_AGGREGATION_INTERVAL
appwrite-task-scheduler-functions:
image: appwrite/appwrite:1.7.4
entrypoint: schedule-functions
container_name: appwrite-task-scheduler-functions
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-mariadb
- appwrite-redis
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
appwrite-task-scheduler-executions:
image: appwrite/appwrite:1.7.4
entrypoint: schedule-executions
container_name: appwrite-task-scheduler-executions
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-mariadb
- appwrite-redis
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
appwrite-task-scheduler-messages:
image: appwrite/appwrite:1.7.4
entrypoint: schedule-messages
container_name: appwrite-task-scheduler-messages
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
depends_on:
- appwrite-mariadb
- appwrite-redis
environment:
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_REDIS_USER
- _APP_REDIS_PASS
- _APP_DB_HOST
- _APP_DB_PORT
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
appwrite-assistant:
image: appwrite/assistant:0.4.0
container_name: appwrite-assistant
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
environment:
- _APP_ASSISTANT_OPENAI_API_KEY
appwrite-browser:
image: appwrite/browser:0.2.4
container_name: appwrite-browser
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
openruntimes-executor:
container_name: openruntimes-executor
hostname: exc1
<<: *x-logging
restart: unless-stopped
stop_signal: SIGINT
image: openruntimes/executor:0.7.14
networks:
- appwrite
- runtimes
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- appwrite-builds:/storage/builds:rw
- appwrite-functions:/storage/functions:rw
- appwrite-sites:/storage/sites:rw
# Host mount nessessary to share files between executor and runtimes.
# It's not possible to share mount file between 2 containers without host mount (copying is too slow)
- /tmp:/tmp:rw
environment:
- OPR_EXECUTOR_INACTIVE_TRESHOLD=$_APP_COMPUTE_INACTIVE_THRESHOLD
- OPR_EXECUTOR_MAINTENANCE_INTERVAL=$_APP_COMPUTE_MAINTENANCE_INTERVAL
- OPR_EXECUTOR_NETWORK=$_APP_COMPUTE_RUNTIMES_NETWORK
- OPR_EXECUTOR_DOCKER_HUB_USERNAME=$_APP_DOCKER_HUB_USERNAME
- OPR_EXECUTOR_DOCKER_HUB_PASSWORD=$_APP_DOCKER_HUB_PASSWORD
- OPR_EXECUTOR_ENV=$_APP_ENV
- 'OPR_EXECUTOR_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES},${_APP_SITES_RUNTIMES}'
- OPR_EXECUTOR_SECRET=$_APP_EXECUTOR_SECRET
- OPR_EXECUTOR_RUNTIME_VERSIONS=v5
- OPR_EXECUTOR_LOGGING_CONFIG=$_APP_LOGGING_CONFIG
- OPR_EXECUTOR_STORAGE_DEVICE=$_APP_STORAGE_DEVICE
- OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY=$_APP_STORAGE_S3_ACCESS_KEY
- OPR_EXECUTOR_STORAGE_S3_SECRET=$_APP_STORAGE_S3_SECRET
- OPR_EXECUTOR_STORAGE_S3_REGION=$_APP_STORAGE_S3_REGION
- OPR_EXECUTOR_STORAGE_S3_BUCKET=$_APP_STORAGE_S3_BUCKET
- OPR_EXECUTOR_STORAGE_S3_ENDPOINT=$_APP_STORAGE_S3_ENDPOINT
- OPR_EXECUTOR_STORAGE_DO_SPACES_ACCESS_KEY=$_APP_STORAGE_DO_SPACES_ACCESS_KEY
- OPR_EXECUTOR_STORAGE_DO_SPACES_SECRET=$_APP_STORAGE_DO_SPACES_SECRET
- OPR_EXECUTOR_STORAGE_DO_SPACES_REGION=$_APP_STORAGE_DO_SPACES_REGION
- OPR_EXECUTOR_STORAGE_DO_SPACES_BUCKET=$_APP_STORAGE_DO_SPACES_BUCKET
- OPR_EXECUTOR_STORAGE_BACKBLAZE_ACCESS_KEY=$_APP_STORAGE_BACKBLAZE_ACCESS_KEY
- OPR_EXECUTOR_STORAGE_BACKBLAZE_SECRET=$_APP_STORAGE_BACKBLAZE_SECRET
- OPR_EXECUTOR_STORAGE_BACKBLAZE_REGION=$_APP_STORAGE_BACKBLAZE_REGION
- OPR_EXECUTOR_STORAGE_BACKBLAZE_BUCKET=$_APP_STORAGE_BACKBLAZE_BUCKET
- OPR_EXECUTOR_STORAGE_LINODE_ACCESS_KEY=$_APP_STORAGE_LINODE_ACCESS_KEY
- OPR_EXECUTOR_STORAGE_LINODE_SECRET=$_APP_STORAGE_LINODE_SECRET
- OPR_EXECUTOR_STORAGE_LINODE_REGION=$_APP_STORAGE_LINODE_REGION
- OPR_EXECUTOR_STORAGE_LINODE_BUCKET=$_APP_STORAGE_LINODE_BUCKET
- OPR_EXECUTOR_STORAGE_WASABI_ACCESS_KEY=$_APP_STORAGE_WASABI_ACCESS_KEY
- OPR_EXECUTOR_STORAGE_WASABI_SECRET=$_APP_STORAGE_WASABI_SECRET
- OPR_EXECUTOR_STORAGE_WASABI_REGION=$_APP_STORAGE_WASABI_REGION
- OPR_EXECUTOR_STORAGE_WASABI_BUCKET=$_APP_STORAGE_WASABI_BUCKET
appwrite-mariadb:
image: mariadb:10.11 # fix issues when upgrading using: mysql_upgrade -u root -p
container_name: appwrite-mariadb
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
volumes:
- appwrite-mariadb:/var/lib/mysql:rw
environment:
- MYSQL_ROOT_PASSWORD=${_APP_DB_ROOT_PASS}
- MYSQL_DATABASE=${_APP_DB_SCHEMA}
- MYSQL_USER=${_APP_DB_USER}
- MYSQL_PASSWORD=${_APP_DB_PASS}
- appwrite-MARIADB_AUTO_UPGRADE=1
command: 'mysqld --innodb-flush-method=fsync'
appwrite-redis:
image: redis:7.2.4-alpine
container_name: appwrite-redis
<<: *x-logging
restart: unless-stopped
command: >
redis-server
--maxmemory 512mb
--maxmemory-policy allkeys-lru
--maxmemory-samples 5
networks:
- appwrite
volumes:
- appwrite-redis:/data:rw
networks:
appwrite:
name: rcsagents-appwrite
gateway:
name: rcsagents-gateway
runtimes:
name: runtimes
external: true
volumes:
appwrite-mariadb: {}
appwrite-redis: {}
appwrite-cache: {}
appwrite-uploads: {}
appwrite-imports: {}
appwrite-certificates: {}
appwrite-functions: {}
appwrite-sites: {}
appwrite-builds: {}
appwrite-config: {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment