Skip to content

Commit

Permalink
♻️ Update and refactor components
Browse files Browse the repository at this point in the history
  • Loading branch information
Poeschl committed Jul 29, 2023
1 parent 4c672cf commit de755ad
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 18 deletions.
8 changes: 3 additions & 5 deletions .env.template
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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=

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 `<monitoring_url>/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:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand All @@ -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
Expand All @@ -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'
Expand All @@ -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:
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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 !
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit de755ad

Please sign in to comment.