# WARNING: This is a DEVELOPMENT docker-compose file, it should not be used for production.
version: '3.8'
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:
      PUID: 1000
      PGID: 1000
      FORCE_COLOR: 1
      # specifically for dev:
      DEBUG: 'true'
      DEVELOPMENT: 'true'
      LE_STAGING: 'true'
      # db:
      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