# WARNING: This is a DEVELOPMENT docker-compose file, it should not be used for production.
version: "3.5"
services:
  npm:
    image: nginxproxymanager:dev
    container_name: npm_core
    build:
      context: ./
      dockerfile: ./dev/Dockerfile
    ports:
      - 3080:80
      - 3081:81
      - 3443:443
    networks:
      - nginx_proxy_manager
    environment:
      NODE_ENV: "development"
      FORCE_COLOR: 1
      DEVELOPMENT: "true"
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # DB_SQLITE_FILE: "/data/database.sqlite"
      # DISABLE_IPV6: "true"
    volumes:
      - npm_data:/data
      - le_data:/etc/letsencrypt
      - ../backend:/app
      - ../frontend:/app/frontend
      - ../global:/app/global
    depends_on:
      - db
    working_dir: /app

  db:
    image: jc21/mariadb-aria
    container_name: npm_db
    ports:
      - 33306:3306
    networks:
      - nginx_proxy_manager
    environment:
      MYSQL_ROOT_PASSWORD: "npm"
      MYSQL_DATABASE: "npm"
      MYSQL_USER: "npm"
      MYSQL_PASSWORD: "npm"
    volumes:
      - db_data:/var/lib/mysql

volumes:
  npm_data:
    name: npm_core_data
  le_data:
    name: npm_le_data
  db_data:
    name: npm_db_data

networks:
  nginx_proxy_manager:
    name: npm_network