version: "3.9"
services:
  app:
    hostname: ma.app
    build: .
    volumes:
      - ./aime:/app/aime
      - ./configs/config:/app/config
      - ./cert:/app/cert

    environment:
      CFG_DEV: 1
      CFG_CORE_SERVER_HOSTNAME: 0.0.0.0
      CFG_CORE_DATABASE_HOST: ma.db
      CFG_CORE_MEMCACHED_HOSTNAME: ma.memcached
      CFG_CORE_AIMEDB_KEY: <INSERT AIMEDB KEY HERE>
      CFG_CHUNI_SERVER_LOGLEVEL: debug
    
    ##Note: comment 80 and 8443 when you plan to use with nginx
    ports:
      - "80:80"
      - "8443:8443"
      - "22345:22345"

      - "8080:8080"
      - "8090:8090"

    depends_on:
      db:
        condition: service_healthy

  db:
    hostname: ma.db
    image: yobasystems/alpine-mariadb:10.11.5
    environment:
      MYSQL_DATABASE: aime
      MYSQL_USER: aime
      MYSQL_PASSWORD: aime
      MYSQL_ROOT_PASSWORD: AimeRootPassword
      MYSQL_CHARSET: utf8mb4
      MYSQL_COLLATION: utf8mb4_general_ci
    ##Note: expose port 3306 to allow read.py importer into database, comment out when not needed
    #ports:
    #  - "3306:3306"
    ##Note: uncomment to allow mysql to create a persistent database, leave commented if you want to rebuild database from scratch often
    #volumes:
    #  - ./AimeDB:/var/lib/mysql
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-pAimeRootPassword"]
      timeout: 5s
      retries: 5

  memcached:
    hostname: ma.memcached
    image: memcached:1.6.22-alpine3.18
    command: [ "memcached", "-m", "1024", "-I", "128m" ]

  phpmyadmin:
    hostname: ma.phpmyadmin
    image: phpmyadmin:latest
    environment:
      PMA_HOSTS: ma.db
      PMA_USER: root
      PMA_PASSWORD: AimeRootPassword
      APACHE_PORT: 8080
    ports:
    - "9090:8080"

  ##Note: uncomment to allow use nginx with artemis, don't forget to comment 80 and 8443 ports on artemis
  #nginx:
  #  hostname: ma.nginx
  #  image: nginx:latest
  #  ports:
  #    - "80:80"
  #    - "443:443"
  #    - "8443:8443"
  #  volumes:
  ##Note: copy example_config/example_nginx.conf to configs/nginx folder, edit it and rename to nginx.conf
  #    - ./configs/nginx:/etc/nginx/conf.d
  #    - ./cert:/etc/nginx/cert
  #    - ./logs/nginx:/var/log/nginx
  #  depends_on:
  #    - app