services:

  homepage:
    image: ghcr.io/gethomepage/homepage:latest
    container_name: homepage
    volumes:
      - /dockers/homepage:/app/config # Make sure your local config directory exists
      - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations, see alternative methods
    environment:
      PUID: 1000 # read them from .env
      PGID: 1000 # read them from .env

  watchyourlan:
    image: aceberg/watchyourlan:v2
    container_name: watchyourlan
    network_mode: host        
    restart: unless-stopped
    volumes:
      - /dockers/wyl:/data/WatchYourLAN
    environment:
      TZ: America/New_York
      IFACES: "enp7s0"
      HOST: "0.0.0.0"
      PORT: "8840"
      TIMEOUT: "120"
      THEME: "darkly"
      COLOR: "dark"
  
  mealie:
    container_name: mealie
    image: ghcr.io/mealie-recipes/mealie:v1.0.0-RC1.1
    restart: always
    deploy:
      resources:
        limits:
          memory: 1000M # 
    volumes:
      - /dockers/mealie:/app/data/
    environment:
    # Set Backend ENV Variables Here
      - ALLOW_SIGNUP=true
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - MAX_WORKERS=1
      - WEB_CONCURRENCY=1
      - BASE_URL=https://mealie.theburgess.family

    # Database Settings
      - DB_ENGINE=postgres
      - POSTGRES_USER=mealie
      - POSTGRES_PASSWORD=$POSTGRES_PASSWORD
      - POSTGRES_SERVER=postgres
      - POSTGRES_PORT=5432
      - POSTGRES_DB=mealie

  thelounge:
    container_name: thelounge
    image: thelounge/thelounge:latest
    restart: always
    volumes:
      - /dockers/thelounge:/var/opt/thelounge # bind lounge config from the host's file system

  unifi-network-application:
    image: lscr.io/linuxserver/unifi-network-application:latest
    container_name: unifi-network-application
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - MONGO_USER=$MONGO_USER
      - MONGO_PASS=$MONGO_PASS
      - MONGO_HOST=mongo
      - MONGO_PORT=27017
      - MONGO_DBNAME=unifi
      - MEM_LIMIT=1024 #optional
      - MEM_STARTUP=1024 #optional
    volumes:
      - /dockers/unifi-network-application/data:/config
    ports:
      - 8443:8443
      - 3478:3478/udp
      - 10001:10001/udp
      - 8080:8080
      - 1900:1900/udp #optional
      - 8843:8843 #optional
      - 8880:8880 #optional
      - 6789:6789 #optional
      - 5514:5514/udp #optional

  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    volumes:
      - /dockers/vaultwarden:/data/

networks:
  default:
    name: dockers_default
    external: true