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: