iproxy 0.3.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=containerscrew.com
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro

  iproxy:
    # build:
    #   context: .
    #   dockerfile: ./Dockerfile
    image: docker.io/containerscrew/iproxy:v0.2.0
    restart: unless-stopped
    container_name: iproxy
    networks:
      - iproxy
    environment:
      - CONFIG_FILE_PATH=/app/config.toml
    volumes:
      - $PWD/config.toml:/app/config.toml:ro

  mongodb:
    image: docker.io/mongo:latest
    container_name: mongo
    networks:
      - iproxy
    restart: unless-stopped
    environment:
      - MONGO_INITDB_ROOT_USERNAME=admin
      - MONGO_INITDB_ROOT_PASSWORD=mongodbpassword
      - MONGO_INITDB_DATABASE=iproxy
    volumes:
      - iproxy_mongodb:/data/db

networks:
  iproxy:
    driver: bridge
    external: false

volumes:
  iproxy_mongodb:
    driver: local
    # driver_opts:
    #   type: none
    #   device: /mnt/ssd/iproxy
    #   o: bind