networks:
  internal:
    internal: true
  traefik:
    external: true

volumes:
  db:

services:
  relnet:
    image: ghcr.io/philipredstone/relnet:latest
    build: .
    networks:
      - internal
      - traefik
    environment:
      - PORT=80
      - MONGODB_URI=mongodb://relnet-db:27017/friendship-network
      - JWT_SECRET=your_jwt_secret_key_change_this
      - APP_URL=http://localhost:80
      - ENABLE_REGISTRATION=true
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.relnet.rule=Host(`relnet`)"
      - "traefik.http.routers.relnet.entrypoints=websecure"
      - "traefik.http.routers.relnet.tls.certresolver=letsencrypt"
      - "traefik.http.services.relnet.loadbalancer.server.port=80"
      
  relnet-db:
    image: mongo:latest
    networks:
      - internal
    restart: always
    volumes:
      - db:/data/db