2020-07-29 18:56:39 +12:00
|
|
|
<?php
|
|
|
|
|
|
|
|
$httpPort = $this->getParam('httpPort', '');
|
|
|
|
$httpsPort = $this->getParam('httpsPort', '');
|
|
|
|
$version = $this->getParam('version', '');
|
|
|
|
?>version: '3'
|
|
|
|
|
|
|
|
services:
|
|
|
|
traefik:
|
2020-09-28 04:18:18 +13:00
|
|
|
image: traefik:2.3
|
2020-07-29 18:56:39 +12:00
|
|
|
container_name: appwrite-traefik
|
|
|
|
command:
|
|
|
|
- --providers.file.directory=/storage/config
|
|
|
|
- --providers.file.watch=true
|
|
|
|
- --providers.docker=true
|
2020-12-17 02:58:12 +13:00
|
|
|
- --providers.docker.exposedByDefault=false
|
|
|
|
- --providers.docker.constraints=Label(`traefik.constraint-label-stack`,`appwrite`)
|
2020-07-29 18:56:39 +12:00
|
|
|
- --entrypoints.web.address=:80
|
|
|
|
- --entrypoints.websecure.address=:443
|
|
|
|
restart: unless-stopped
|
|
|
|
ports:
|
|
|
|
- <?php echo $httpPort; ?>:80
|
|
|
|
- <?php echo $httpsPort; ?>:443
|
|
|
|
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:
|
2020-08-01 00:49:52 +12:00
|
|
|
image: appwrite/appwrite:<?php echo $version."\n"; ?>
|
2020-07-29 18:56:39 +12:00
|
|
|
container_name: appwrite
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
labels:
|
2020-12-17 02:58:12 +13:00
|
|
|
- traefik.enable=true
|
|
|
|
- traefik.constraint-label-stack=appwrite
|
2020-07-29 18:56:39 +12:00
|
|
|
- traefik.http.routers.appwrite.rule=PathPrefix(`/`)
|
|
|
|
- traefik.http.routers.appwrite-secure.rule=PathPrefix(`/`)
|
|
|
|
- traefik.http.routers.appwrite-secure.tls=true
|
|
|
|
volumes:
|
|
|
|
- appwrite-uploads:/storage/uploads:rw
|
|
|
|
- appwrite-cache:/storage/cache:rw
|
|
|
|
- appwrite-config:/storage/config:rw
|
|
|
|
- appwrite-certificates:/storage/certificates:rw
|
|
|
|
- appwrite-functions:/storage/functions:rw
|
|
|
|
depends_on:
|
|
|
|
- mariadb
|
|
|
|
- redis
|
|
|
|
- clamav
|
|
|
|
- influxdb
|
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
2020-09-28 03:29:06 +13:00
|
|
|
- _APP_SYSTEM_EMAIL_NAME
|
|
|
|
- _APP_SYSTEM_EMAIL_ADDRESS
|
|
|
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
2020-07-29 18:56:39 +12:00
|
|
|
- _APP_OPTIONS_ABUSE
|
|
|
|
- _APP_OPTIONS_FORCE_HTTPS
|
|
|
|
- _APP_OPENSSL_KEY_V1
|
|
|
|
- _APP_DOMAIN
|
|
|
|
- _APP_DOMAIN_TARGET
|
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
- _APP_DB_HOST
|
|
|
|
- _APP_DB_PORT
|
|
|
|
- _APP_DB_SCHEMA
|
|
|
|
- _APP_DB_USER
|
|
|
|
- _APP_DB_PASS
|
2020-11-19 22:00:24 +13:00
|
|
|
- _APP_SMTP_HOST
|
|
|
|
- _APP_SMTP_PORT
|
|
|
|
- _APP_SMTP_SECURE
|
|
|
|
- _APP_SMTP_USERNAME
|
|
|
|
- _APP_SMTP_PASSWORD
|
2021-01-13 00:56:40 +13:00
|
|
|
- _APP_USAGE_STATS
|
2020-07-29 18:56:39 +12:00
|
|
|
- _APP_INFLUXDB_HOST
|
|
|
|
- _APP_INFLUXDB_PORT
|
|
|
|
- _APP_STORAGE_LIMIT
|
|
|
|
- _APP_FUNCTIONS_TIMEOUT
|
|
|
|
- _APP_FUNCTIONS_CONTAINERS
|
2020-12-15 07:04:57 +13:00
|
|
|
- _APP_FUNCTIONS_CPUS
|
|
|
|
- _APP_FUNCTIONS_MEMORY
|
|
|
|
- _APP_FUNCTIONS_MEMORY_SWAP
|
2020-07-29 18:56:39 +12:00
|
|
|
|
|
|
|
appwrite-worker-usage:
|
2020-08-01 00:49:52 +12:00
|
|
|
image: appwrite/appwrite:<?php echo $version."\n"; ?>
|
2020-07-29 18:56:39 +12:00
|
|
|
entrypoint: worker-usage
|
|
|
|
container_name: appwrite-worker-usage
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- telegraf
|
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
- _APP_STATSD_HOST
|
|
|
|
- _APP_STATSD_PORT
|
|
|
|
|
|
|
|
appwrite-worker-audits:
|
2020-08-01 00:49:52 +12:00
|
|
|
image: appwrite/appwrite:<?php echo $version."\n"; ?>
|
2020-07-29 18:56:39 +12:00
|
|
|
entrypoint: worker-audits
|
|
|
|
container_name: appwrite-worker-audits
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- mariadb
|
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
- _APP_DB_HOST
|
|
|
|
- _APP_DB_PORT
|
|
|
|
- _APP_DB_SCHEMA
|
|
|
|
- _APP_DB_USER
|
|
|
|
- _APP_DB_PASS
|
|
|
|
|
|
|
|
appwrite-worker-webhooks:
|
2020-08-01 00:49:52 +12:00
|
|
|
image: appwrite/appwrite:<?php echo $version."\n"; ?>
|
2020-07-29 18:56:39 +12:00
|
|
|
entrypoint: worker-webhooks
|
|
|
|
container_name: appwrite-worker-webhooks
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- mariadb
|
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
2020-09-28 03:29:06 +13:00
|
|
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
2020-07-29 18:56:39 +12:00
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
- _APP_DB_HOST
|
|
|
|
- _APP_DB_PORT
|
|
|
|
- _APP_DB_SCHEMA
|
|
|
|
- _APP_DB_USER
|
|
|
|
- _APP_DB_PASS
|
|
|
|
|
|
|
|
appwrite-worker-tasks:
|
2020-08-01 00:49:52 +12:00
|
|
|
image: appwrite/appwrite:<?php echo $version."\n"; ?>
|
2020-07-29 18:56:39 +12:00
|
|
|
entrypoint: worker-tasks
|
|
|
|
container_name: appwrite-worker-tasks
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- mariadb
|
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
2020-09-28 03:29:06 +13:00
|
|
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
2020-07-29 18:56:39 +12:00
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
- _APP_DB_HOST
|
|
|
|
- _APP_DB_PORT
|
|
|
|
- _APP_DB_SCHEMA
|
|
|
|
- _APP_DB_USER
|
|
|
|
- _APP_DB_PASS
|
|
|
|
|
|
|
|
appwrite-worker-deletes:
|
2020-08-01 00:49:52 +12:00
|
|
|
image: appwrite/appwrite:<?php echo $version."\n"; ?>
|
2020-07-29 18:56:39 +12:00
|
|
|
entrypoint: worker-deletes
|
|
|
|
container_name: appwrite-worker-deletes
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- mariadb
|
|
|
|
volumes:
|
|
|
|
- appwrite-uploads:/storage/uploads:rw
|
|
|
|
- appwrite-cache:/storage/cache:rw
|
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
- _APP_DB_HOST
|
|
|
|
- _APP_DB_PORT
|
|
|
|
- _APP_DB_SCHEMA
|
|
|
|
- _APP_DB_USER
|
|
|
|
- _APP_DB_PASS
|
|
|
|
|
|
|
|
appwrite-worker-certificates:
|
2020-08-01 00:49:52 +12:00
|
|
|
image: appwrite/appwrite:<?php echo $version."\n"; ?>
|
2020-07-29 18:56:39 +12:00
|
|
|
entrypoint: worker-certificates
|
|
|
|
container_name: appwrite-worker-certificates
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- mariadb
|
|
|
|
volumes:
|
|
|
|
- appwrite-config:/storage/config:rw
|
|
|
|
- appwrite-certificates:/storage/certificates:rw
|
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
2020-09-28 03:29:06 +13:00
|
|
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
2020-07-29 18:56:39 +12:00
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
- _APP_DB_HOST
|
|
|
|
- _APP_DB_PORT
|
|
|
|
- _APP_DB_SCHEMA
|
|
|
|
- _APP_DB_USER
|
|
|
|
- _APP_DB_PASS
|
|
|
|
|
|
|
|
appwrite-worker-functions:
|
2020-08-01 00:49:52 +12:00
|
|
|
image: appwrite/appwrite:<?php echo $version."\n"; ?>
|
2020-07-29 18:56:39 +12:00
|
|
|
entrypoint: worker-functions
|
|
|
|
container_name: appwrite-worker-functions
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- mariadb
|
|
|
|
volumes:
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
- appwrite-functions:/storage/functions:rw
|
2020-12-11 05:58:27 +13:00
|
|
|
- /tmp:/tmp:rw
|
2020-07-29 18:56:39 +12:00
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
- _APP_DB_HOST
|
|
|
|
- _APP_DB_PORT
|
|
|
|
- _APP_DB_SCHEMA
|
|
|
|
- _APP_DB_USER
|
|
|
|
- _APP_DB_PASS
|
|
|
|
- _APP_FUNCTIONS_TIMEOUT
|
|
|
|
- _APP_FUNCTIONS_CONTAINERS
|
2020-12-15 07:04:57 +13:00
|
|
|
- _APP_FUNCTIONS_CPUS
|
|
|
|
- _APP_FUNCTIONS_MEMORY
|
|
|
|
- _APP_FUNCTIONS_MEMORY_SWAP
|
2021-01-13 18:57:15 +13:00
|
|
|
- _APP_USAGE_STATS
|
2020-07-29 18:56:39 +12:00
|
|
|
|
|
|
|
appwrite-worker-mails:
|
2020-08-01 00:49:52 +12:00
|
|
|
image: appwrite/appwrite:<?php echo $version."\n"; ?>
|
2020-07-29 18:56:39 +12:00
|
|
|
entrypoint: worker-mails
|
|
|
|
container_name: appwrite-worker-mails
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- smtp
|
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
2020-09-28 03:29:06 +13:00
|
|
|
- _APP_SYSTEM_EMAIL_NAME
|
|
|
|
- _APP_SYSTEM_EMAIL_ADDRESS
|
2020-07-29 18:56:39 +12:00
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
- _APP_SMTP_HOST
|
|
|
|
- _APP_SMTP_PORT
|
2020-10-28 17:52:20 +13:00
|
|
|
- _APP_SMTP_SECURE
|
|
|
|
- _APP_SMTP_USERNAME
|
|
|
|
- _APP_SMTP_PASSWORD
|
2020-12-23 03:19:29 +13:00
|
|
|
|
|
|
|
appwrite-maintenance:
|
|
|
|
entrypoint: maintenance
|
|
|
|
container_name: appwrite-maintenance
|
|
|
|
build:
|
|
|
|
context: .
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
- _APP_MAINTENANCE_INTERVAL
|
|
|
|
- _APP_DB_HOST
|
|
|
|
- _APP_DB_PORT
|
|
|
|
- _APP_DB_SCHEMA
|
|
|
|
- _APP_DB_USER
|
|
|
|
- _APP_DB_PASS
|
2020-07-29 18:56:39 +12:00
|
|
|
|
|
|
|
appwrite-schedule:
|
2020-08-01 00:49:52 +12:00
|
|
|
image: appwrite/appwrite:<?php echo $version."\n"; ?>
|
2020-07-29 18:56:39 +12:00
|
|
|
entrypoint: schedule
|
|
|
|
container_name: appwrite-schedule
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
environment:
|
|
|
|
- _APP_ENV
|
|
|
|
- _APP_REDIS_HOST
|
|
|
|
- _APP_REDIS_PORT
|
|
|
|
|
|
|
|
mariadb:
|
2020-12-13 07:31:57 +13:00
|
|
|
image: appwrite/mariadb:1.2.0 # fix issues when upgrading using: mysql_upgrade -u root -p
|
2020-07-29 18:56:39 +12:00
|
|
|
container_name: appwrite-mariadb
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
volumes:
|
|
|
|
- appwrite-mariadb:/var/lib/mysql:rw
|
|
|
|
ports:
|
|
|
|
- "3306:3306"
|
|
|
|
environment:
|
|
|
|
- MYSQL_ROOT_PASSWORD=rootsecretpassword
|
2020-10-26 03:15:27 +13:00
|
|
|
- MYSQL_DATABASE=${_APP_DB_SCHEMA}
|
|
|
|
- MYSQL_USER=${_APP_DB_USER}
|
|
|
|
- MYSQL_PASSWORD=${_APP_DB_PASS}
|
2020-07-29 18:56:39 +12:00
|
|
|
command: 'mysqld --innodb-flush-method=fsync'
|
|
|
|
|
|
|
|
smtp:
|
|
|
|
image: appwrite/smtp:1.0.1
|
|
|
|
container_name: appwrite-smtp
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
environment:
|
|
|
|
- MAILNAME=appwrite
|
|
|
|
- RELAY_NETWORKS=:192.168.0.0/24:10.0.0.0/16
|
|
|
|
|
|
|
|
redis:
|
2020-09-28 03:57:44 +13:00
|
|
|
image: redis:6.0-alpine3.12
|
2020-07-29 18:56:39 +12:00
|
|
|
container_name: appwrite-redis
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
volumes:
|
|
|
|
- appwrite-redis:/data:rw
|
|
|
|
|
|
|
|
clamav:
|
2020-10-26 03:49:15 +13:00
|
|
|
image: appwrite/clamav:1.2.0
|
2020-07-29 18:56:39 +12:00
|
|
|
container_name: appwrite-clamav
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
volumes:
|
|
|
|
- appwrite-uploads:/storage/uploads
|
|
|
|
|
|
|
|
influxdb:
|
2020-09-28 03:57:44 +13:00
|
|
|
image: influxdb:1.8-alpine
|
2020-07-29 18:56:39 +12:00
|
|
|
container_name: appwrite-influxdb
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
volumes:
|
|
|
|
- appwrite-influxdb:/var/lib/influxdb:rw
|
|
|
|
|
|
|
|
telegraf:
|
|
|
|
image: appwrite/telegraf:1.0.0
|
|
|
|
container_name: appwrite-telegraf
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- appwrite
|
|
|
|
|
|
|
|
networks:
|
|
|
|
gateway:
|
|
|
|
appwrite:
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
appwrite-mariadb:
|
|
|
|
appwrite-redis:
|
|
|
|
appwrite-cache:
|
|
|
|
appwrite-uploads:
|
|
|
|
appwrite-certificates:
|
|
|
|
appwrite-functions:
|
|
|
|
appwrite-influxdb:
|
|
|
|
appwrite-config:
|