84 lines
2.1 KiB
Docker
84 lines
2.1 KiB
Docker
# DOMAIN=example.com docker stack deploy -c appwrite.yml appwrite
|
|
|
|
services:
|
|
appwrite:
|
|
image: appwrite/appwrite:${VERSION:-0.11.0}
|
|
volumes:
|
|
- ${VOLUME_PATH}uploads:/storage/uploads
|
|
- ${VOLUME_PATH}cache:/storage/cache
|
|
- ${VOLUME_PATH}config:/storage/config
|
|
environment:
|
|
- _APP_ENV=production
|
|
- _APP_OPENSSL_KEY_V1=your-secret-key
|
|
- _APP_DOMAIN=localhost
|
|
- _APP_DOMAIN_TARGET=localhost
|
|
- _APP_REDIS_HOST=redis
|
|
- _APP_REDIS_PORT=6379
|
|
- _APP_DB_HOST=mariadb
|
|
- _APP_DB_PORT=3306
|
|
- _APP_DB_SCHEMA=appwrite
|
|
- _APP_DB_USER=user
|
|
- _APP_DB_PASS=password
|
|
- _APP_INFLUXDB_HOST=influxdb
|
|
- _APP_INFLUXDB_PORT=8086
|
|
- _APP_STATSD_HOST=telegraf
|
|
- _APP_STATSD_PORT=8125
|
|
- _APP_SMTP_HOST=smtp
|
|
- _APP_SMTP_PORT=25
|
|
deploy:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.appwrite-${NUMBER:-1}.rule=Host(`${DOMAIN:-appwrite.localhost}`)
|
|
- traefik.http.routers.appwrite-${NUMBER:-1}.entrypoints=${SCHEME:-https}
|
|
- traefik.http.routers.appwrite-${NUMBER:-1}.service=appwrite-${NUMBER:-1}
|
|
- traefik.http.routers.appwrite-${NUMBER:-1}.tls.certresolver=letsencrypt
|
|
- traefik.http.services.appwrite-${NUMBER:-1}.loadbalancer.server.port=80
|
|
networks:
|
|
- internal
|
|
- traefik
|
|
|
|
mariadb:
|
|
image: appwrite/mariadb:1.5.0
|
|
command: 'mysqld --innodb-flush-method=fsync'
|
|
volumes:
|
|
- ${VOLUME_PATH}mariadb:/var/lib/mysql
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=rootsecretpassword
|
|
- MYSQL_DATABASE=appwrite
|
|
- MYSQL_USER=user
|
|
- MYSQL_PASSWORD=password
|
|
networks:
|
|
- internal
|
|
|
|
redis:
|
|
image: redis:6-alpine
|
|
networks:
|
|
- internal
|
|
|
|
influxdb:
|
|
image: influxdb:1.6
|
|
volumes:
|
|
- ${VOLUME_PATH}influxdb:/var/lib/influxdb
|
|
networks:
|
|
- internal
|
|
|
|
telegraf:
|
|
image: appwrite/telegraf:1.2.0
|
|
networks:
|
|
- internal
|
|
|
|
volumes:
|
|
mariadb:
|
|
redis:
|
|
cache:
|
|
uploads:
|
|
influxdb:
|
|
config:
|
|
|
|
networks:
|
|
internal:
|
|
driver: overlay
|
|
attachable: true
|
|
traefik:
|
|
external: true
|
|
name: traefik-net
|