iproxy 0.1.0

Proxy server for IP geolocation. Use external services to get the geolocation of an IP address.
services:
  nginx-proxy:
    image: docker.io/nginx:1.27.2-alpine
    container_name: nginx-proxy
    restart: unless-stopped
    ports:
      - 8080:80
    networks:
      - iproxy
    environment:
      - VIRTUAL_HOST=/run/secrets/VIRTUAL_HOST
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
    cap_add:
      - NET_BIND_SERVICE

  iproxy:
    build:
      context: .
      dockerfile: ./Dockerfile
    restart: unless-stopped
    container_name: iproxy
    networks:
      - iproxy

  mongodb:
    image: docker.io/mongo:latest
    container_name: mongo
    networks:
      - iproxy
    restart: unless-stopped
    environment:
      - MONGO_INITDB_ROOT_USERNAME=/run/secrets/MONGO_INITDB_ROOT_USERNAME
      - MONGO_INITDB_ROOT_PASSWORD=/run/secrets/MONGO_INITDB_ROOT_PASSWORD
      - MONGO_INITDB_DATABASE=/run/secrets/MONGO_INITDB_DATABASE
    volumes:
      - /mnt/ssd/iproxy:/data/db

networks:
  iproxy:
    driver: bridge
    external: false

secrets:
  MONGO_INITDB_DATABASE:
    file: .env
  MONGO_INITDB_ROOT_USERNAME:
    file: .env
  MONGO_INITDB_ROOT_PASSWORD:
    file: .env
  VIRTUAL_HOST:
    file: .env