version: '3'
services:
  watchtower:
    container_name: watchtower
    image: containrrr/watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/frankette/.docker/config.json:/config.json
    environment:
      - TZ=Europe/Paris
      - WATCHTOWER_SCHEDULE= * */5 * * * *
      - WATCHTOWER_CLEANUP=true
    restart: unless-stopped

  portainer:
    image: portainer/portainer
    container_name: portainer
    command: -H unix:///var/run/docker.sock
    ports:
      - 9000:9000
      - 9001:8000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/frankette/Docker/portainer:/data
    restart: unless-stopped

  plex:
    container_name: plex
    image: plexinc/pms-docker
    restart: unless-stopped
    environment:
      - TZ=Europe/Paris
      - PLEX_CLAIM=claim-ex-PXjU4EVpj3F8jf-Rj
    network_mode: host
    volumes:
      - /home/frankette/Docker/plex/database:/config
      - /home/frankette/Docker/plex/transcode/temp:/transcode
      - /mnt/GwenDiskStation/video:/data
      - /mnt/GwenDiskStation/photo:/photo
      - /mnt/GwenDiskStation/music:/music
      - /mnt/GwenDiskStation/usbshare/video:/dataUSB

  transmission-openvpn:
    image: haugene/transmission-openvpn
    container_name: transmission
    cap_add:
      - NET_ADMIN
    environment:
      - OPENVPN_PROVIDER=custom
      - OPENVPN_CONFIG=openvpn
      - OPENVPN_USERNAME=XUfmktEtgH
      - OPENVPN_PASSWORD=nUs6ytwzjU
      - LOCAL_NETWORK=192.168.1.0/24
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - TRANSMISSION_WEB_UI=combustion
      - TRANSMISSION_RPC_USERNAME=frankette
      - TRANSMISSION_RPC_PASSWORD=frankette
      - TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=true
    logging:
      driver: json-file
      options:
        max-size: 10m
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    volumes:
      - /home/frankette/Documents/Scripts/UnixShell:/scripts
      - /home/frankette/Docker/transmission-openvpn/:/data
      - /home/frankette/Docker/transmission-openvpn/cyberghost/:/etc/openvpn/custom/
    restart: unless-stopped

  proxy-transmission:
    image: haugene/transmission-openvpn-proxy
    container_name: transmission-proxy
    depends_on:
      - transmission-openvpn
    ports:
      - 9092:8080
    volumes:
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped

  gbrmediaapi:
    image: ghcr.io/spideraddict/gbrmediaapi
    container_name: gbrmediaapi
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - /home/frankette/Docker/gbrmediaapi/uploads:/upload
    ports:
      - 5000:5000
    restart: unless-stopped

  gbrmediaapp:
    image: ghcr.io/spideraddict/gbrmediaapp
    container_name: gbrmediaapp
    ports:
      - 5001:80
    restart: unless-stopped

  gbrjobserver:
    image: ghcr.io/spideraddict/gbrjobserver
    container_name: gbrjobserver
    volumes:
      - /home/frankette/Docker/gbrjobserver/config:/config
      - /home/frankette/Docker/plex/database/Library/Application Support/Plex Media Server/Plug-in Support/Databases:/plexdata
    restart: unless-stopped

  mylittlepharmacy:
    image: ghcr.io/spideraddict/mylittlepharmacy
    container_name: mylittlepharmacy
    ports:
      - 5002:80
    restart: unless-stopped

  mylittlepharmacy-api:
    image: ghcr.io/spideraddict/mylittlepharmacy-api
    container_name: mylittlepharmacy-api
    depends_on:
      - mylittlepharmacy
    volumes:
      - /home/frankette/Docker/mylittlepharmacy-api:/database
    ports:
      - 5003:3001
    restart: unless-stopped

  flaresolverr:
    image: ghcr.io/flaresolverr/flaresolverr:latest
    container_name: flaresolverr
    environment:
      - LOG_HTML=false
      - CAPTCHA_SOLVER=none
      - TZ=Europe/Paris
      - LOG_LEVEL=info
    ports:
      - 8191:8191
    restart: unless-stopped

  jackett:
    depends_on:
      - flaresolverr
    image: linuxserver/jackett
    container_name: jackett
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - AUTO_UPDATE=true #optional
    volumes:
      - /home/frankette/Docker/jackett/config:/config
      - /home/frankette/Docker/jackett/downloads:/downloads
    ports:
      - 9117:9117
    restart: unless-stopped

  sonarr:
    image: ghcr.io/linuxserver/sonarr
    container_name: sonarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - UMASK_SET=022 #optional
    volumes:
      - /home/frankette/Docker/sonarr/config:/config
      - /mnt/GwenDiskStation/video/TVShows:/tv/Series
      - /mnt/GwenDiskStation/usbshare/video/TVShows:/tv/usb/Series
      - /mnt/GwenDiskStation/video/Animes:/tv/Animes
      - /mnt/GwenDiskStation/usbshare/video/Animes:/tv/usb/Animes
      - /home/frankette/Docker/transmission-openvpn:/data
      - /home/frankette/Documents/Scripts/UnixShell:/scripts  <=== A supprimer ?
    ports:
      - 8989:8989
    restart: unless-stopped

  couchpotato:
    image: ghcr.io/linuxserver/couchpotato
    container_name: couchpotato
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - /home/frankette/Docker/couchpotato/config:/config
      - /mnt/GwenDiskStation/video/Movies:/movies
      - /home/frankette/Docker/transmission-openvpn:/downloads
    ports:
      - 5050:5050
    restart: unless-stopped

  dokuwiki:
    image: ghcr.io/linuxserver/dokuwiki
    container_name: dokuwiki
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - /home/frankette/Docker/dokuwiki/config:/config
    ports:
      - 9010:80

  calibre:
    image: linuxserver/calibre
    container_name: calibre
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - UMASK_SET=022 #optional
    volumes:
      - /home/frankette/Docker/calibre/config:/config
      - /home/frankette/Docker/calibre/books:/books
      - /home/frankette/Documents/Scripts/UnixShell/calibre:/scripts
      - /mnt/GwenDiskStation/book:/ebook
    ports:
      - 8080:8080
      - 8081:8081

  calibre-web:
    depends_on:
      - calibre
    image: linuxserver/calibre-web
    container_name: calibre-web
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - DOCKER_MODS=linuxserver/calibre-web:calibre
    volumes:
      - /home/frankette/Docker/calibre-web/config:/config
      - /home/frankette/Docker/calibre/config/gbrBookShelter:/books
    ports:
      - 8083:8083