| 
									
										
										
										
											2023-07-19 23:04:59 +00:00
										 |  |  | version: '3.9'
 | 
					
						
							|  |  |  | services:
 | 
					
						
							|  |  |  |   owncast:
 | 
					
						
							|  |  |  |     container_name: owncast
 | 
					
						
							| 
									
										
										
										
											2024-04-07 22:52:11 +00:00
										 |  |  |     image: owncast/owncast:0.1.3
 | 
					
						
							| 
									
										
										
										
											2023-07-19 23:04:59 +00:00
										 |  |  |     volumes:
 | 
					
						
							|  |  |  |       - ${APP_DATA_DIR}/data:/app/data
 | 
					
						
							|  |  |  |     ports:
 | 
					
						
							|  |  |  |       - ${APP_PORT}:8080 # App Port
 | 
					
						
							|  |  |  |       - 1935:1935 # RTMP Port
 | 
					
						
							|  |  |  |     restart: unless-stopped
 | 
					
						
							|  |  |  |     networks:
 | 
					
						
							|  |  |  |       - tipi_main_network
 | 
					
						
							|  |  |  |     labels:
 | 
					
						
							|  |  |  |       # Main
 | 
					
						
							|  |  |  |       traefik.enable: true
 | 
					
						
							|  |  |  |       traefik.http.middlewares.owncast-web-redirect.redirectscheme.scheme: https
 | 
					
						
							|  |  |  |       traefik.http.services.owncast.loadbalancer.server.port: 8080
 | 
					
						
							|  |  |  |       traefik.tcp.services.owncast-rtmp.loadbalancer.server.port: 1935
 | 
					
						
							|  |  |  |       # Web
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-insecure.rule: Host(`${APP_DOMAIN}`)
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-insecure.entrypoints: web
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-insecure.service: owncast
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-insecure.middlewares: owncast-web-redirect
 | 
					
						
							|  |  |  |       traefik.tcp.routers.owncast-rtmp-insecure.rule: HostSNI(`${APP_DOMAIN}`)
 | 
					
						
							|  |  |  |       # Websecure
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast.rule: Host(`${APP_DOMAIN}`)
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast.entrypoints: websecure
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast.service: owncast
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast.tls.certresolver: myresolver
 | 
					
						
							|  |  |  |       traefik.tcp.routers.owncast-rtmp.rule: HostSNI(`${APP_DOMAIN}`)
 | 
					
						
							|  |  |  |       # Local domain
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-local-insecure.rule: Host(`owncast.${LOCAL_DOMAIN}`)
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-local-insecure.entrypoints: web
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-local-insecure.service: owncast
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-local-insecure.middlewares: owncast-web-redirect
 | 
					
						
							|  |  |  |       traefik.tcp.routers.owncast-rtmp-local-insecure.rule: HostSNI(`owncast.${LOCAL_DOMAIN}`)
 | 
					
						
							|  |  |  |       # Local domain secure
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-local.rule: Host(`owncast.${LOCAL_DOMAIN}`)
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-local.entrypoints: websecure
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-local.service: owncast
 | 
					
						
							|  |  |  |       traefik.http.routers.owncast-local.tls: true
 | 
					
						
							|  |  |  |       traefik.tcp.routers.owncast-rtmp-local.rule: HostSNI(`owncast.${LOCAL_DOMAIN}`)
 |