diff --git a/.env.template b/.env.template index 99c6915..5ef942b 100644 --- a/.env.template +++ b/.env.template @@ -1,15 +1,13 @@ ## Pixelflut Infrastructure settings -# Please enter internal ip or domain of the pixelflut server. +# Please enter the *internal* ip of the pixelflut server. # (`localhost` on a single instance for monitoring and Pixelflut) pixelflut_host= # Please enter the VNC port of the pixelflut server (When using the included docker-compose's, 5901 is fine) pixelflut_port_vnc=5901 -# Please enter the statistics port of the pixelflut server -pixelflut_port_statistics=1235 # Enter the description the Pixelflut server should display in the top text line -pixelflut_description=Pixelflut +pixelflut_description=Pixelflut | play.pixelflut.xyz # Enter the dimensions of the Pixelflut canvas pixelflut_canvas_width=1920 pixelflut_canvas_height=1080 @@ -22,7 +20,7 @@ grafana_anonymous_access=true # Enter the domain the monitoring host is available. Under this domain the Owncast streaming server as well as the Grafana # dashboards are available. It will be using Let's encrypt for TLS. -monitoring_domain=schenklflut.de +monitoring_domain=play.pixelflut.xyz # Enter a e-mail address of yours. Its will be sent to Let's Encyrpt to send out automated cert expiry warnings. letsencrypt_email= diff --git a/README.md b/README.md index d77b89d..3c9c745 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,8 @@ For a secure TLS connection Traefik is used for the monitoring server and provid The certificate for the connection is recieved from Let's encrypt and is stored in a internal volume, so it stays persistant between restarts. The traefik Dashboard is available under `/traefik`, in case the domain correctly entered in the `.env` file. +For your own sanity, the project uses the staging env as default. To get production-ready certificates, change the marked line in the docker-compose. + ### Routes Traefik has the following routes setup by default: diff --git a/docker-compose.monitoring-host.yml b/monitoring-host.docker-compose.yaml similarity index 92% rename from docker-compose.monitoring-host.yml rename to monitoring-host.docker-compose.yaml index 9bc66f5..2318915 100644 --- a/docker-compose.monitoring-host.yml +++ b/monitoring-host.docker-compose.yaml @@ -3,7 +3,7 @@ services: prometheus: restart: unless-stopped - image: "prom/prometheus:v2.41.0" + image: "prom/prometheus:v2.46.0" volumes: - "./prometheus/pixelflut.yml:/etc/prometheus/prometheus.yml" - 'prometheus-data:/prometheus' @@ -15,7 +15,7 @@ services: grafana: restart: unless-stopped - image: grafana/grafana:9.3.2 + image: grafana/grafana:10.0.3 networks: - proxy - monitoring_internal @@ -38,7 +38,7 @@ services: - 'traefik.http.routers.grafana.entrypoints=websecure' traefik: - image: "traefik:v2.9" + image: "traefik:v2.10" restart: unless-stopped command: - '--api' @@ -58,6 +58,8 @@ services: - '--certificatesresolvers.letsencrypt.acme.email=${letsencrypt_email}' - '--certificatesresolvers.letsencrypt.acme.storage=/acme/acme.json' - '--certificatesresolvers.letsencrypt.acme.tlschallenge=true' + # Comment out next line to get letsencrypt production certificates + - '--certificatesresolvers.letsencrypt.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory' #- '--log.level=DEBUG' networks: @@ -87,11 +89,10 @@ services: - 'traefik.http.middlewares.dashboard-redirect.redirectregex.replacement=$${1}/traefik/dashboard/' owncast: - image: gabekangas/owncast:0.0.13 + image: gabekangas/owncast:0.1.1 restart: unless-stopped volumes: - "./owncast/logs:/app/data/logs" - - "./owncast/owncast.db:/app/data/owncast.db" - "owncast-data:/app/data" networks: - proxy @@ -103,7 +104,7 @@ services: - 'traefik.http.services.owncast.loadbalancer.server.port=8080' glances: - image: nicolargo/glances:3.3.0-full + image: nicolargo/glances:3.4.0.3-full restart: unless-stopped pid: host network_mode: host @@ -135,18 +136,16 @@ services: ofelia.job-run.wiper.container: "canvas_wiper" vnc2rtmp: - image: restreamio/gstreamer:2022-12-12T14-46-07Z-prod-dbg + image: restreamio/gstreamer:2023-05-15T14-10-06Z-prod-dbg restart: unless-stopped volumes: - "./record:/record" networks: - proxy - extra_hosts: - - "host.pixelflut:${pixelflut_host}" entrypoint: > /bin/sh -c ' gst-launch-1.0 - rfbsrc host=host.pixelflut port=5901 shared=false view-only=true ! + rfbsrc host=${pixelflut_host} port=5901 shared=false view-only=true ! videoconvert ! x264enc speed-preset=veryfast tune=zerolatency bitrate=${stream_bitrate} ! tee name=videoSplit ! queue ! flvmux name=mux metadatacreator="${record_file_identifier}" encoder="Pixelflut VNC Bridge" ! queue ! diff --git a/docker-compose.pixelflut-host.yml b/pixelflut-host.docker-compose.yaml similarity index 68% rename from docker-compose.pixelflut-host.yml rename to pixelflut-host.docker-compose.yaml index 5d4807c..61ce2d4 100644 --- a/docker-compose.pixelflut-host.yml +++ b/pixelflut-host.docker-compose.yaml @@ -3,13 +3,13 @@ services: breakwater: restart: unless-stopped - image: sbernauer/breakwater:0.0.9 + image: sbernauer/breakwater:0.12.0 entrypoint: ["breakwater", "-l", "[::]:1234", "--vnc-port", "5901"] - command: -w ${pixelflut_canvas_width} -h ${pixelflut_canvas_height} -t "${pixelflut_description}" + command: --width ${pixelflut_canvas_width} --height ${pixelflut_canvas_height} --text "${pixelflut_description}" network_mode: "host" glances: - image: nicolargo/glances:3.3.0-full + image: nicolargo/glances:3.4.0.3-full restart: unless-stopped network_mode: host pid: host