allianceauth/docker/docker-compose.yml

97 lines
2.4 KiB
YAML

version: '3.8'
services:
auth_mysql:
image: mysql:8.0
command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --default-authentication-plugin=mysql_native_password]
volumes:
- ./mysql-data:/var/lib/mysql
- ./setup.sql:/docker-entrypoint-initdb.d/setup.sql
environment:
- MYSQL_ROOT_PASSWORD=${AA_DB_ROOT_PASSWORD?err}
healthcheck:
test: ["CMD", "mysqladmin", "-uroot", "-proot", "-h", "localhost", "ping"]
interval: 5s
timeout: 10s
retries: 3
restart: unless-stopped
nginx:
image: nginx:1.21
restart: always
volumes:
- ./conf/nginx.conf:/etc/nginx/conf.d/default.conf
- static-volume:/var/www/myauth/static
depends_on:
- allianceauth
redis:
image: redis:6.2
command: redis-server
restart: always
volumes:
- "redis-data:/data"
allianceauth:
image: ${AA_DOCKER_TAG?err}
# build:
# context: .
# dockerfile: custom.dockerfile
# args:
# AA_DOCKER_TAG: ${AA_DOCKER_TAG?err}
restart: always
env_file:
- ./.env
volumes:
- ./conf/local.py:/home/allianceauth/myauth/myauth/settings/local.py
- ./templates:/home/allianceauth/myauth/myauth/templates/
- ./conf/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
- static-volume:/var/www/myauth/static
depends_on:
- redis
- auth_mysql
grafana:
image: grafana/grafana:8.2
restart: always
depends_on:
- auth_mysql
volumes:
- grafana-data:/var/lib/grafana
proxy:
image: 'jc21/nginx-proxy-manager:latest'
restart: always
ports:
- '${PROXY_HTTP_PORT:-80}:80'
- '${PROXY_DASH_PORT:-81}:81'
- '${PROXY_HTTPS_PORT:-443}:443'
environment:
DB_MYSQL_HOST: "proxy-db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "${PROXY_MYSQL_PASS?err}"
DB_MYSQL_NAME: "npm"
volumes:
- proxy-data:/data
- proxy-le:/etc/letsencrypt
proxy-db:
image: 'jc21/mariadb-aria:latest'
restart: always
environment:
MYSQL_ROOT_PASSWORD: "${PROXY_MYSQL_PASS_ROOT?err}"
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: "${PROXY_MYSQL_PASS?err}"
ports:
- 3306
volumes:
- proxy-db:/var/lib/mysql
volumes:
redis-data:
static-volume:
grafana-data:
proxy-data:
proxy-le:
proxy-db: