diff --git a/netbootxyz/compose.yml b/netbootxyz/compose.yml new file mode 100644 index 0000000..9963558 --- /dev/null +++ b/netbootxyz/compose.yml @@ -0,0 +1,46 @@ +services: + netbootxyz: + image: ghcr.io/netbootxyz/netbootxyz + container_name: netbootxyz + hostname: netbootxyz + environment: + - NGINX_PORT=80 + - WEB_APP_PORT=3000 + volumes: + - /etc/localtime:/etc/localtime:ro + - /home/fejy/docker/netbootxyz/config:/config + - /home/fejy/docker/netbootxyz/assets:/assets + ports: + - 69:69/udp + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3000"] + interval: 2s + timeout: 2s + retries: 10 + start_period: 3s + networks: + - proxy + - netbootxyz + labels: + # web configuration interface + - "traefik.enable=true" + - "traefik.http.routers.netbootxyz.entrypoints=web" + - "traefik.http.routers.netbootxyz.rule=Host(`netbootxyz.nearfuture`)" + - "traefik.http.routers.netbootxyz.service=netbootxyz" + - "traefik.http.services.netbootxyz.loadbalancer.server.port=3000" + - "traefik.http.services.netbootxyz.loadbalancer.passhostheader=true" + - "traefik.docker.network=proxy" + # NGINX server for hosting assets + - "traefik.http.routers.netboot-assets.entrypoints=web" + - "traefik.http.routers.netboot-assets.rule=Host(`netboot-assets.nearfuture`)" + - "traefik.http.routers.netboot-assets.service=netboot-assets" + - "traefik.http.services.netboot-assets.loadbalancer.server.port=80" + - "traefik.http.services.netboot-assets.loadbalancer.passhostheader=true" + +networks: + proxy: + name: proxy + external: true + netbootxyz: + name: netbootxyz