mirror of
https://github.com/Dokploy/templates.git
synced 2026-06-15 20:25:24 +02:00
* Update Appwrite version docker images and environment variables * Add separate domains for functions and sites, update environment variables, replace insecure default passwords * Update Appwrite version from 1.6.1 to 1.7.4 in `meta.json` * Fix envs and update domains * Add missing volume mounts for sites * Fix config file syntax * Update runtimes network configuration in template.toml * Update Appwrite to 1.8 * Update appwrite image version to 1.8.0 * Add logging configuration to docker-compose * New Templates (#586) * feat(librechat): add LibreChat blueprint with compose, toml, metadata, links and tags * fix: rename templates to template.toml * fix(librechat): rename api service to librechat in docker-compose.yml * Update blueprints/librechat/template.toml * Update blueprints/librechat/template.toml * fix(librechat): add version under [config] and remove stray [config.mounts] header * fix(librechat): remove predefined persistent volume mounts from template.toml * docs(librechat): add authentication reference link to docker-compose.yml * feat: add Rote template - Add Rote deployment template with frontend, backend, and PostgreSQL services - Configure domain routing for frontend (port 80) and backend (port 3000) - Set up automatic password generation and environment variables - Use latest image tag by default - Add logo and metadata to meta.json * fix: process meta.json to fix formatting and sorting * Update GitHub workflows to target 'canary' branch for meta validation * Update pnpm-lock.yaml to upgrade various dependencies, including '@codemirror/autocomplete', '@radix-ui/react-dialog', and React packages to their latest versions. This includes updates to '@types/react' and '@types/react-dom' for improved compatibility and performance. * Enhance GitHub workflows: add production deployment configuration and target 'canary' branch for pull requests. * Refactor GitHub workflow: comment out build preview steps for clarity and future modifications. * Remove unnecessary blank line in deploy-preview.yml for improved readability. * Refactor GitHub workflow: uncomment build preview steps for improved deployment process and clarity. * Update template.toml (#555) * Update template.toml * Update template.toml * Update template.toml * fix: change VITE_API_BASE to http:// for traefik.me compatibility * changed image from sknnr/enshrouded-dedicated-server to mornedhels/enshrouded-server for autoupdate and easier config * Add Openinary Template (#567) * feat: add Openinary template * feat: update Openinary configuration to support ALLOWED_ORIGIN and refactor domain variable * fix: correct DEFAULT_DOMAIN environment variable reference in docker-compose.yml (#562) * add rustfs template (#568) * feat: add pull request template for improved contribution guidelines * fix: update pull request template to clarify issue closing keywords * feat: add validation scripts and configuration for Docker Compose and template files - Introduced a GitHub Actions workflow to validate Docker Compose files and template.toml on pull requests. - Added helper functions for generating random values and processing variables in templates. - Implemented validation scripts for checking the structure, syntax, and best practices of Docker Compose and template files. - Created necessary TypeScript types and configuration files for the build scripts. * Add Passbolt template blueprint to Dokploy templates (#376) * feat(templates): add Passbolt blueprint for Dokploy - Add docker-compose.yml defining services for Passbolt and MariaDB - Create template.toml with configurable domain, email, and database credentials - Add meta.json with metadata, tags, and link to logo * fix(meta): sort meta.json entries * fix: passbolt template had several issues that broke deployment - env variables were using old array format, changed to new table format - mariadb healthcheck was broken (wrong command for mariadb 11) - missing volume mounts for gpg keys, jwt tokens, and database - setup instructions weren't visible to users, moved to docker-compose - email config had circular references causing warnings - tested admin user creation and confirmed working everything works now, fully tested * Update blueprints/passbolt/template.toml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat: Add Kokoro TTS FastAPI template (#353) (#403) * feat: Add Kokoro TTS FastAPI template (#353) - Add CPU-optimized docker-compose.yml with source build - Add GPU-optimized docker-compose-gpu.yml for NVIDIA support - Add comprehensive template.toml with OpenAI-compatible API docs - Add kokoro-tts.svg logo and meta.json entry - Support streaming audio, timestamps, and multi-language TTS - Resolves #353 * updated the meta.json for the build errors * removed the docker-compose-gpu.yml file * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * chore: remove package-lock.json file from the app directory * chore: update Tolgee to latest version and fix SMTP config typo (#432) * chore: update Tolgee to latest version and fix SMTP config typo * Update docker-compose.yml * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * fix: improve Docker Compose validation workflow to handle subshell issues - Converted the handling of COMPOSE_FILES from a pipe to an array to ensure error propagation in the parent shell. - Updated the loop to iterate over the array for better reliability in the validation process. * refactor: enhance Docker Compose validation workflow to improve error handling - Replaced the pipe with an array to handle directory names, ensuring that errors within the loop propagate correctly to the parent shell. - Updated the loop structure for better reliability in processing the directories. * Feat: Add parseable (#460) * Add parseable * Update docker-compose.yml * Update docker-compose.yml * Update blueprints/parseable/template.toml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com> * feat: add ChirpStack LoRaWAN Network Server template (#486) * feat: add ChirpStack LoRaWAN Network Server template Add complete ChirpStack v4 template with: - Main ChirpStack server with web UI - UDP and Basics Station gateway bridges - REST API interface - PostgreSQL database with PostGIS extensions - Redis cache - Mosquitto MQTT broker Default configuration for EU868 region with secure random credentials. Supports all LoRaWAN frequency bands globally. * fix(chirpstack): use original configurations from chirpstack-docker repo Update template.toml to use exact configuration files from the chirpstack-docker repository instead of simplified versions: - Use original chirpstack.toml with all 15 enabled regions - Use original gateway bridge configuration with documentation links - Use complete Basics Station EU868 config with frequency plans - Keep original Mosquitto and PostgreSQL initialization scripts Template size increased from 131 to 219 lines (4.7KB) to include comprehensive default configurations that match the official setup. * feat: add all 38 region configuration files * fix(chirpstack): add volume mounts to expose config files to containers * fix(chirpstack): remove read-only flag * fix(chirpstack): correct file paths for configuration mounts in docker-compose and template files * fix: update volume paths to be on correct directory level * fix: configure template for dokploy-network with proper DNS resolution - Add dokploy-network configuration to docker-compose.yml - Replace environment variable placeholders with actual service hostnames - Change PostgreSQL DSN from $POSTGRESQL_HOST to postgres - Change Redis server from $REDIS_HOST to redis - Replace $MQTT_BROKER_HOST with mosquitto in all 39 region configurations These changes ensure Docker DNS resolution works correctly by: - Using dokploy-network (overlay) instead of bridge network - Using service names directly in TOML config files (TOML doesn't expand env vars) - Enabling proper service discovery between containers This resolves DNS resolution failures that caused ChirpStack to fail connecting to PostgreSQL and MQTT services during deployment. * fix: add missing network configurations for all services in docker-compose * feat: add internal services to config.domains for proper network configuration * Update docker-compose.yml * fix: enhance domain validation in template validator - Updated the TemplateValidator to ensure that if the 'host' field is provided, it must be a valid string. - Added comments to clarify that 'host' is optional for internal services. * refactor: remove redundant host validation in template validator - Removed the validation for the 'host' field in the TemplateValidator, as it is optional for internal services and does not require a type check if not provided. * refactor: remove internal service domain configurations from template - Eliminated the domain configurations for internal services (Postgres, Redis, Mosquitto) from the template.toml file, streamlining the configuration for better clarity and maintainability. --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com> * Update section title from 'Suggestions' to 'Requirements' * Feat : Add MCSManager template support (#521) (#522) * feat: Add MCSManager template support (#521) * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat: Add MediaCMS template (#524) * Feat : Add Quant-Ux template -#173 (#525) * Feat : Add Quant-Ux template -#173 * Remove extra newline in docker-compose.yml * Update blueprints/quant-ux/docker-compose.yml * Update blueprints/quant-ux/docker-compose.yml * Update blueprints/quant-ux/docker-compose.yml * Update blueprints/quant-ux/docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * fix(rustdesk): use explicit ports, use port 21118 on hbbs instead of hbbr (#526) * fix: use explicit ports, use port 21118 on hbbs instead of hbbr * fix: whitespace character in rustdesk * feat: Add anytype template (#527) * add anytype template * sort * Update name field for Anytype in meta.json * Update meta.json * Update docker-compose.yml * Update blueprints/anytype/docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * refactor: remove dokploy-network configurations from multiple docker-compose files - Removed the external dokploy-network configuration from various services' docker-compose.yml files to streamline network management. - This change simplifies the setup and ensures consistency across blueprints. * chore: upgrade Infisical from v0.90.1 to v0.135.0 (#529) * chore: upgrade Infisical from v0.90.1 to v0.135.0 * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * fix: update pull request template link for clarity - Changed the link in the pull request template from 'general suggestions' to 'general requirements' to better reflect the content and ensure users follow the correct guidelines when creating templates. * chore: add section for screenshots or videos in pull request template - Introduced a new section in the pull request template to encourage contributors to include screenshots or videos, enhancing the clarity and context of their submissions. * Feat : Add MuleSoft ESB Runtime Template (#498) * added the mulesoft esb template * updated the compose and the meta.json * feat(mulesoft-esb): update image and add dynamic env configuration - Updated image to hari1367709/mule-esb:latest - Added dynamic HTTP_PORT for runtime port configuration - Added MULE_VERSION environment variable for Mule ESB version selection * updated the meta.json to use the version as latest * added a comment line to the template file * updated the mule runtime image * fix(mulesoft-esb): update ports configuration to follow guidelines * updated the port to use the env(HTTP_PORT) * Update docker-compose.yml * Update docker-compose.yml * Update blueprints/mulesoft-esb/docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat(blueprint): update trmnl-byos-laravel template (#533) * feat(blueprint): update trmnl-byos-laravel template * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat(blueprint): peerdb template (#579) * feat(blueprint): initial attempt at peerdb template * fix: entrypoint and healthcheck * fix: entrypoint * fix: temporarily remove network * fix: temporal port * chore: remove 36987 for minio * fix: remove peerdb 9900 port exposure * fix: port for console * fix: minio env fix * fix: expose peerdb and minio to dokploy network * fix(peerdb): add defaults * fix: remove extra hosts * fix: remove network entries * fix: use consistent environment variables * feat: add Bluesky PDS template (#542) * feat: Bluesky PDS template * chore: add bluesky pds svg * chore: metadata for bluesky pds * yaml > yml * pnpm lock * fix: correct rotation key config * fix volumes * fix: volumes in the pds compose * define volumes in compose * fix: 32 bit rotation key * create pds.env correctly * some extra fixes * more extra fixes * a blank line * update pnpm lock * Add dokploy-prom-monitoring-extension template with comprehensive tests and documentation (#548) * Add dokploy-prom-monitoring-extension template with comprehensive tests and documentation * Fix METRICS_CONFIG environment variable: use single-line JSON format * Fix template.toml: use correct [config.env] syntax for environment variables * Fix docker-compose.yml: add env_file reference to load environment variables * Delete blueprints/dokploy-prom-monitoring-extension/README.md * Delete test-dokploy-prom-monitoring-extension.sh --------- Co-authored-by: Sanjeevi Subramani <ssanjeevi.ss@gmail.com> Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat: improve RustDesk template configuration (#571) * feat: improve RustDesk template configuration - Add comprehensive environment variables for RustDesk server - Add RELAY_HOST, API_SERVER, ID_SERVER, and ENCRYPTION_KEY variables - Follow Dokploy best practices (no container_name, proper port format) - Use restart: unless-stopped policy - Add encryption key generation with password helper * fix: use explicit port mapping for RustDesk services RustDesk requires explicit port bindings (host:container format) to function properly. The service uses specific ports for: - 21115-21116 (TCP/UDP): hbbs service for ID and NAT traversal - 21117-21119 (TCP): hbbr relay service Without explicit port mapping, RustDesk clients cannot establish connections to the server. This is an exception to Dokploy's general port guidelines due to RustDesk's specific networking requirements. --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat: add Mumble voice chat server template (#572) * feat: add Mumble voice chat server template - Add Mumble VoIP server blueprint with docker-compose.yml - Configure environment variables for superuser password, welcome text, and max users - Add template.toml with auto-generated secure password - Follow Dokploy best practices (no container_name, proper port format) - Add Mumble metadata to meta.json with proper tags - Support for TCP and UDP on port 64738 * Update template.toml * fix: correct JSON formatting in meta.json for Mumble template entry --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com> * fix: update WireGuard Easy template for proper functionality (#573) * fix: update WireGuard Easy template for proper functionality - Changed to named volume (etc_wireguard) instead of host path mount - Added explicit port mappings (51820:51820/udp, 51821:51821/tcp) required for WireGuard - Updated environment variables to use correct WG_HOST and PASSWORD format - Added all required WireGuard environment variables: - WG_PORT, PORT, WG_MTU, WG_DEFAULT_DNS, WG_ALLOWED_IPS - WG_POST_UP/WG_POST_DOWN for iptables rules - Added NET_RAW capability for proper network operations - Simplified template.toml to use WIREGUARD_HOST and WIREGUARD_PASSWORD - Removed explicit networks config to enable Dokploy's isolated deployment - Template now works with Dokploy's automatic network isolation This configuration has been tested and confirmed working with isolated deployment enabled. * Update template.toml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * add: restart policy to MinIO service (#576) restart: unless-stopped is a Docker restart policy that automatically restarts a container if it stops due to an error or Docker daemon restart --------- Co-authored-by: Sunil Shrestha <sunil.shrestha@tekkon.com.np> Co-authored-by: Rabithua <rabithua@gmail.com> Co-authored-by: Mauricio Siu <siumauricio@hotmail.com> Co-authored-by: Scan <103391616+scanash00@users.noreply.github.com> Co-authored-by: Crackvignoule <kiki.kalagan@gmail.com> Co-authored-by: florianheysen <39408021+florianheysen@users.noreply.github.com> Co-authored-by: Thiago MadPin <madpin@gmail.com> Co-authored-by: BlinkStrike <18644035+BlinkStrike@users.noreply.github.com> Co-authored-by: M Jupri Amin <127651222+Juupeee@users.noreply.github.com> Co-authored-by: Harikrishnan Dhanasekaran <harikrishnan@mulecraft.in> Co-authored-by: Kamil Dzieniszewski <kamil.dzieniszewski@gmail.com> Co-authored-by: Nick Anderson <nbrookie@gmail.com> Co-authored-by: lefolalan <alan.lefol@omirion.com> Co-authored-by: Chris <31969757+ChrisvanChip@users.noreply.github.com> Co-authored-by: kipavy <88386090+kipavy@users.noreply.github.com> Co-authored-by: Benjamin Nussbaum <bnussbau@users.noreply.github.com> Co-authored-by: Khiet Tam Nguyen <86177399+nktnet1@users.noreply.github.com> Co-authored-by: Vidhya LKG for IT <24915474+VidhyaSanjeevi@users.noreply.github.com> Co-authored-by: Sanjeevi Subramani <ssanjeevi.ss@gmail.com> Co-authored-by: Muzaffer Kadir YILMAZ <34358176+muzafferkadir@users.noreply.github.com> Co-authored-by: Jemg <murksopps@gmail.com> * Remove `container_name` from all containers * Remove expliced networks * Update blueprints/appwrite/docker-compose.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update password variables to use 32-character length * Update Appwrite description and tags in meta.json * Fix JSON formatting in meta.json by adding missing closing bracket * Fix formatting in meta.json by removing trailing spaces in tags array * Add missing SMS and Backblaze storage configuration options in template.toml * Update docker-compose.yml --------- Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de> Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Sunil Shrestha <sunil.shrestha@tekkon.com.np> Co-authored-by: Rabithua <rabithua@gmail.com> Co-authored-by: Mauricio Siu <siumauricio@hotmail.com> Co-authored-by: Scan <103391616+scanash00@users.noreply.github.com> Co-authored-by: Crackvignoule <kiki.kalagan@gmail.com> Co-authored-by: florianheysen <39408021+florianheysen@users.noreply.github.com> Co-authored-by: Thiago MadPin <madpin@gmail.com> Co-authored-by: BlinkStrike <18644035+BlinkStrike@users.noreply.github.com> Co-authored-by: M Jupri Amin <127651222+Juupeee@users.noreply.github.com> Co-authored-by: Harikrishnan Dhanasekaran <harikrishnan@mulecraft.in> Co-authored-by: Kamil Dzieniszewski <kamil.dzieniszewski@gmail.com> Co-authored-by: Nick Anderson <nbrookie@gmail.com> Co-authored-by: lefolalan <alan.lefol@omirion.com> Co-authored-by: Chris <31969757+ChrisvanChip@users.noreply.github.com> Co-authored-by: kipavy <88386090+kipavy@users.noreply.github.com> Co-authored-by: Benjamin Nussbaum <bnussbau@users.noreply.github.com> Co-authored-by: Khiet Tam Nguyen <86177399+nktnet1@users.noreply.github.com> Co-authored-by: Vidhya LKG for IT <24915474+VidhyaSanjeevi@users.noreply.github.com> Co-authored-by: Sanjeevi Subramani <ssanjeevi.ss@gmail.com> Co-authored-by: Muzaffer Kadir YILMAZ <34358176+muzafferkadir@users.noreply.github.com> Co-authored-by: Jemg <murksopps@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
830 lines
23 KiB
YAML
830 lines
23 KiB
YAML
version: "3.8"
|
|
|
|
x-logging: &x-logging
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-file: "5"
|
|
max-size: "10m"
|
|
services:
|
|
appwrite:
|
|
image: appwrite/appwrite:1.8.0
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.constraint-label-stack=appwrite
|
|
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:
|
|
- mariadb
|
|
- redis
|
|
# - clamav
|
|
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
|
|
- _APP_OPTIONS_ROUTER_FORCE_HTTPS
|
|
- _APP_OPENSSL_KEY_V1
|
|
- _APP_DOMAIN
|
|
- _APP_DOMAIN_TARGET_CNAME
|
|
- _APP_DOMAIN_TARGET_AAAA
|
|
- _APP_DOMAIN_TARGET_A
|
|
- _APP_DOMAIN_TARGET_CAA
|
|
- _APP_DNS
|
|
- _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
|
|
image: appwrite/console:7.4.7
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.constraint-label-stack=appwrite"
|
|
|
|
appwrite-realtime:
|
|
image: appwrite/appwrite:1.8.0
|
|
entrypoint: realtime
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.constraint-label-stack=appwrite"
|
|
depends_on:
|
|
- mariadb
|
|
- 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.8.0
|
|
entrypoint: worker-audits
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- mariadb
|
|
environment:
|
|
- _APP_ENV
|
|
- _APP_WORKER_PER_CORE
|
|
- _APP_OPENSSL_KEY_V1
|
|
- _APP_REDIS_HOST
|
|
- _APP_REDIS_PORT
|
|
- _APP_REDIS_USER
|
|
- _APP_REDIS_PASS
|
|
- _APP_DB_HOST
|
|
- _APP_DB_PORT
|
|
- _APP_DB_SCHEMA
|
|
- _APP_DB_USER
|
|
- _APP_DB_PASS
|
|
- _APP_LOGGING_CONFIG
|
|
|
|
appwrite-worker-webhooks:
|
|
image: appwrite/appwrite:1.8.0
|
|
entrypoint: worker-webhooks
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- 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.8.0
|
|
entrypoint: worker-deletes
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- 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.8.0
|
|
entrypoint: worker-databases
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- mariadb
|
|
environment:
|
|
- _APP_ENV
|
|
- _APP_WORKER_PER_CORE
|
|
- _APP_OPENSSL_KEY_V1
|
|
- _APP_REDIS_HOST
|
|
- _APP_REDIS_PORT
|
|
- _APP_REDIS_USER
|
|
- _APP_REDIS_PASS
|
|
- _APP_DB_HOST
|
|
- _APP_DB_PORT
|
|
- _APP_DB_SCHEMA
|
|
- _APP_DB_USER
|
|
- _APP_DB_PASS
|
|
- _APP_LOGGING_CONFIG
|
|
|
|
appwrite-worker-builds:
|
|
image: appwrite/appwrite:1.8.0
|
|
entrypoint: worker-builds
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- 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.8.0
|
|
entrypoint: worker-certificates
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- mariadb
|
|
volumes:
|
|
- appwrite-config:/storage/config:rw
|
|
- appwrite-certificates:/storage/certificates:rw
|
|
environment:
|
|
- _APP_ENV
|
|
- _APP_WORKER_PER_CORE
|
|
- _APP_OPENSSL_KEY_V1
|
|
- _APP_DOMAIN
|
|
- _APP_DOMAIN_TARGET_CNAME
|
|
- _APP_DOMAIN_TARGET_AAAA
|
|
- _APP_DOMAIN_TARGET_A
|
|
- _APP_DOMAIN_TARGET_CAA
|
|
- _APP_DNS
|
|
- _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.8.0
|
|
entrypoint: worker-functions
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- 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.8.0
|
|
entrypoint: worker-mails
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- 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.8.0
|
|
entrypoint: worker-messaging
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
volumes:
|
|
- appwrite-uploads:/storage/uploads:rw
|
|
depends_on:
|
|
- 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.8.0
|
|
entrypoint: worker-migrations
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
volumes:
|
|
- appwrite-imports:/storage/imports:rw
|
|
depends_on:
|
|
- 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_DOMAIN_TARGET_CAA
|
|
- _APP_DNS
|
|
- _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.8.0
|
|
entrypoint: maintenance
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- 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_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.8.0
|
|
entrypoint: stats-resources
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
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
|
|
- _APP_STATS_RESOURCES_INTERVAL
|
|
|
|
appwrite-worker-stats-resources:
|
|
image: appwrite/appwrite:1.8.0
|
|
entrypoint: worker-stats-resources
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
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_STATS_RESOURCES_INTERVAL
|
|
|
|
appwrite-worker-stats-usage:
|
|
image: appwrite/appwrite:1.8.0
|
|
entrypoint: worker-stats-usage
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
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_USAGE_AGGREGATION_INTERVAL
|
|
|
|
appwrite-task-scheduler-functions:
|
|
image: appwrite/appwrite:1.8.0
|
|
entrypoint: schedule-functions
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- mariadb
|
|
- redis
|
|
environment:
|
|
- _APP_ENV
|
|
- _APP_WORKER_PER_CORE
|
|
- _APP_OPENSSL_KEY_V1
|
|
- _APP_REDIS_HOST
|
|
- _APP_REDIS_PORT
|
|
- _APP_REDIS_USER
|
|
- _APP_REDIS_PASS
|
|
- _APP_DB_HOST
|
|
- _APP_DB_PORT
|
|
- _APP_DB_SCHEMA
|
|
- _APP_DB_USER
|
|
- _APP_DB_PASS
|
|
|
|
appwrite-task-scheduler-executions:
|
|
image: appwrite/appwrite:1.8.0
|
|
entrypoint: schedule-executions
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- mariadb
|
|
- redis
|
|
environment:
|
|
- _APP_ENV
|
|
- _APP_WORKER_PER_CORE
|
|
- _APP_OPENSSL_KEY_V1
|
|
- _APP_REDIS_HOST
|
|
- _APP_REDIS_PORT
|
|
- _APP_REDIS_USER
|
|
- _APP_REDIS_PASS
|
|
- _APP_DB_HOST
|
|
- _APP_DB_PORT
|
|
- _APP_DB_SCHEMA
|
|
- _APP_DB_USER
|
|
- _APP_DB_PASS
|
|
|
|
appwrite-task-scheduler-messages:
|
|
image: appwrite/appwrite:1.8.0
|
|
entrypoint: schedule-messages
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- mariadb
|
|
- redis
|
|
environment:
|
|
- _APP_ENV
|
|
- _APP_WORKER_PER_CORE
|
|
- _APP_OPENSSL_KEY_V1
|
|
- _APP_REDIS_HOST
|
|
- _APP_REDIS_PORT
|
|
- _APP_REDIS_USER
|
|
- _APP_REDIS_PASS
|
|
- _APP_DB_HOST
|
|
- _APP_DB_PORT
|
|
- _APP_DB_SCHEMA
|
|
- _APP_DB_USER
|
|
- _APP_DB_PASS
|
|
|
|
appwrite-assistant:
|
|
image: appwrite/assistant:0.8.3
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
environment:
|
|
- _APP_ASSISTANT_OPENAI_API_KEY
|
|
|
|
appwrite-browser:
|
|
image: appwrite/browser:0.2.4
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
|
|
openruntimes-executor:
|
|
hostname: exc1
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
stop_signal: SIGINT
|
|
image: openruntimes/executor:0.7.22
|
|
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 necessary 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
|
|
|
|
mariadb:
|
|
image: mariadb:10.11 # fix issues when upgrading using: mysql_upgrade -u root -p
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
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}
|
|
- MARIADB_AUTO_UPGRADE=1
|
|
command: "mysqld --innodb-flush-method=fsync"
|
|
|
|
redis:
|
|
image: redis:7.2.4-alpine
|
|
<<: *x-logging
|
|
restart: unless-stopped
|
|
command: >
|
|
redis-server
|
|
--maxmemory 512mb
|
|
--maxmemory-policy allkeys-lru
|
|
--maxmemory-samples 5
|
|
volumes:
|
|
- appwrite-redis:/data:rw
|
|
|
|
# clamav:
|
|
# image: appwrite/clamav:1.2.0
|
|
# restart: unless-stopped
|
|
# volumes:
|
|
# - appwrite-uploads:/storage/uploads
|
|
|
|
volumes:
|
|
appwrite-mariadb:
|
|
appwrite-redis:
|
|
appwrite-cache:
|
|
appwrite-uploads:
|
|
appwrite-imports:
|
|
appwrite-certificates:
|
|
appwrite-functions:
|
|
appwrite-sites:
|
|
appwrite-builds:
|
|
appwrite-config:
|