version: '2.1'

services:
  nginx:
    build: ./docker-nginx-http3
#    image: nwtgck/nginx-http3
#    image: ranadeeppolavarapu/nginx-http3
#    build: ./nginx
    hostname: nginx
    container_name: nginx
    restart: always
#    entrypoint:
#      - /bin/bash
#      - /etc/nginx/entrypoint.sh
    volumes:
      - ./nginx:/etc/nginx
      - /opt/docker/secure/fullchain.pem:/etc/nginx/hatthieves.crt:ro
      - /opt/docker/secure/privkey.pem:/etc/nginx/hatthieves.key:ro
      - /root/letsencrypt/hatthieves.com/fullchain.pem:/etc/nginx/hatthieves.com.crt:ro
      - /root/letsencrypt/hatthieves.com/privkey.pem:/etc/nginx/hatthieves.com.key:ro
      - ./nginx/nginx.conf:/usr/local/nginx/conf/nginx.conf
      - ./logs:/usr/local/nginx/logs
    ports:
      - "80:80"
#      - "2001:ba0:1800:80e0::1:80:80"
      - "443:443"
#      - "2001:ba0:1800:80e0::1:443:443"
      - "443:443/udp"
#      - "2001:ba0:1800:80e0::1:443:443/udp"
#    cap_add:
#      - NET_BIND_SERVICE
#    sysctls:
#      - net.ipv6.conf.all.disable_ipv6=0
#      - net.ipv6.bindv6only=0
#      - net.ipv6.conf.all.forwarding=1
#    cap_add:
#      - NET_ADMIN
    networks:
      mynet:
        ipv4_address: 172.10.0.101
        ipv6_address: 2001:db8:2::101
      gollum:
      haraka:
      gitea:
      pad:
      rocket:
      defaultdrop:
      registry:
      pleroma:
      ipfs:
      doom:
      nextcloud:
      magicworld:
      peertube:
      g:
      pleroma-test:
      icecast2:
      gnusocial:
      jitsi:
      tpmw:
      wordpress:
      familyark:
      crossposter:
      kamailio:
      privatebin:
      glances:
      tail:
      arjion:
      kanban:
      theia:
      nms:
      dvwa:
      bbb:
      traefik:
      elk:
      codimd:
      netdata:
      youtube:
      mumbleweb:
      p2p:

networks:
  mynet:
    enable_ipv6: true
    driver: bridge
    ipam:
      config:
      - subnet: 172.10.0.0/24
      - subnet: 2001:db8:2::/64

  gollum:
    external:
      name: gollum_mynet

  haraka:
    external:
      name: harakawildduck_mynet

  gitea:
    external:
      name: gitea_mynet

  pad:
    external:
      name: etherpad_mynet

  rocket:
    external:
      name: rocket_mynet

  defaultdrop:
    external:
      name: bikini 

  registry:
    external:
      name: registry_mynet

  pleroma:
    external:
      name: pleroma_mynet

  ipfs:
    external:
      name: ipfs_mynet

  doom:
    external:
      name: web_mynet

  nextcloud:
    external:
      name: nextcloud_mynet

  magicworld:
    external:
      name: magicworld_mynet

  peertube:
    external:
      name: peertube_mynet

  g:
    external:
      name: g_mynet

  pleroma-test:
    external:
      name: pleromatest_mynet

  icecast2:
    external:
      name: icecast2_mynet

  gnusocial:
    external:
      name: gnusocial_mynet

  jitsi:
    external:
      name: jitsimeet_mynet

  tpmw:
    external:
      name: magicworldphoenix_mynet

  wordpress:
    external:
      name: wordpress_mynet

  familyark:
    external:
      name: familyark_mynet

  crossposter:
    external:
      name: crossposter_mynet

  kamailio:
    external:
      name: kamailio_mynet

  privatebin:
    external:
      name: privatebin_mynet

  glances:
    external:
      name: glances_mynet

  tail:
    external:
      name: tail_mynet

  arjion:
    external:
      name: arjion_mynet

  kanban:
    external:
      name: kanban_mynet

  theia:
    external:
      name: theia_mynet

  nms:
    external:
      name: nms_mynet

  dvwa:
    external:
      name: dvwa_mynet

  bbb:
    external:
      name: bigbluebutton_mynet

  traefik:
    external:
      name: traefik_mynet

  elk:
    external:
      name: elk_mynet

  codimd:
    external:
      name: codimd_mynet

  netdata:
    external:
      name: netdata_mynet

  youtube:
    external:
      name: youtube_mynet

  mumbleweb:
    external:
      name: mumbleweb_mynet

  p2p:
    external:
      name: p2p_mynet

