Compare commits

...
Author SHA1 Message Date
forust 41e4a72836 feat(streaming): public routes jelly/seerr via forust.xyz
renovate-ci / validate-renovate (push) Skipped
ci / lint-shellcheck (push) Successful in 9s
ci / lint-prettier (push) Successful in 14s
ci / lint-ruff (push) Successful in 5s
ci / lint-dockerfiles (push) Successful in 4s
ci / validate (push) Successful in 7s
ci / lint-compose (push) Successful in 9s
ci / lint-actionlint (push) Successful in 5s
ci / lint-yaml (push) Successful in 8s
ci / build (push) Skipped
2026-10-05 00:23:40 +02:00
forust 5f483e7090 merge: fold abandoned feat/streaming experiments into streaming stack
renovate-ci / validate-renovate (push) Skipped
ci / lint-compose (push) Successful in 9s
ci / lint-actionlint (push) Successful in 4s
ci / lint-shellcheck (push) Successful in 6s
ci / lint-prettier (push) Successful in 14s
ci / lint-ruff (push) Successful in 7s
ci / lint-yaml (push) Successful in 10s
ci / lint-dockerfiles (push) Successful in 6s
ci / validate (push) Successful in 7s
ci / build (push) Skipped
2026-10-04 20:43:48 +02:00
forust aad73bf9e8 feat(streaming): persist lampac passwd/init.conf via seed volume
ci / lint-actionlint (push) Successful in 5s
ci / lint-shellcheck (push) Successful in 7s
ci / lint-prettier (push) Successful in 15s
ci / lint-ruff (push) Successful in 7s
ci / lint-yaml (push) Successful in 11s
renovate-ci / validate-renovate (push) Skipped
ci / lint-compose (push) Successful in 10s
ci / lint-dockerfiles (push) Successful in 6s
ci / validate (push) Successful in 7s
ci / build (push) Skipped
2026-10-04 19:18:40 +02:00
forust 4093888749 feat(streaming): add lampac online-viewing backend
ci / lint-shellcheck (push) Successful in 7s
ci / lint-prettier (push) Successful in 16s
ci / lint-ruff (push) Successful in 8s
ci / lint-dockerfiles (push) Successful in 8s
ci / validate (push) Successful in 8s
ci / build (push) Skipped
renovate-ci / validate-renovate (push) Skipped
ci / lint-compose (push) Successful in 9s
ci / lint-actionlint (push) Successful in 4s
ci / lint-yaml (push) Successful in 9s
2026-10-04 19:13:20 +02:00
forust 50a27873c1 feat(streaming): replace dead jellyseerr with seerr-team/seerr (jellyfin 12 auth fix)
renovate-ci / validate-renovate (push) Skipped
ci / lint-compose (push) Successful in 10s
ci / lint-actionlint (push) Successful in 5s
ci / lint-shellcheck (push) Successful in 7s
ci / lint-prettier (push) Successful in 15s
ci / lint-ruff (push) Successful in 7s
ci / lint-yaml (push) Successful in 11s
ci / lint-dockerfiles (push) Successful in 6s
ci / validate (push) Successful in 6s
ci / build (push) Skipped
2026-10-04 18:52:57 +02:00
forust 3be9556eb4 feat: add radarr 2026-01-19 20:50:08 +01:00
forust e952c8161a feat: add qbittorrent 2026-01-19 20:39:29 +01:00
forust 8d665a7f34 feat: jellyfin (starting from scratch) 2026-01-19 20:19:12 +01:00
forust 6e4f8c06b4 Merge branch 'main' into feat/streaming 2026-01-19 18:47:22 +01:00
forust 8cd122d50d feat: prowlarr service 2025-11-27 22:50:21 +01:00
forust f531393481 feat: qbittorrent 2025-11-27 22:21:51 +01:00
forust ce43b34ce0 chore: better readability 2025-11-27 20:17:52 +01:00
forust ddb755e7e5 feat: sonarr service 2025-11-27 20:14:11 +01:00
forust 682a5b949f chore: ignore sonarr, radarr, data files 2025-11-27 20:12:41 +01:00
forust 6c72acc59e refactor: change directory mappings, readability 2025-11-27 20:12:17 +01:00
forust b381c7b012 feat: jellyseerr service 2025-11-27 11:57:08 +01:00
forust a3c12855fe chore: volumes best-practices for jellyfin, ports for pre-traefik debugging 2025-11-27 01:56:38 +01:00
forust bbd374590e chore: gitingore jellyfin's config files 2025-11-27 01:51:20 +01:00
forust fd72b415c5 fix: add traefik-proxy network for jellyfin 2025-11-27 01:47:56 +01:00
forust 97f6aeb538 feat: basic jellyfin service 2025-11-27 01:46:25 +01:00
4 changed files with 134 additions and 27 deletions

No files matched your search

+30 -1
View File
@@ -87,8 +87,9 @@ services:
- streaming
jellyseerr:
image: fallenbagel/jellyseerr:latest
image: ghcr.io/seerr-team/seerr:latest
container_name: jellyseerr
init: true
restart: unless-stopped
environment:
- TZ=${TZ:-Europe/Berlin}
@@ -116,6 +117,31 @@ services:
networks:
- streaming
lampac:
image: ghcr.io/lampac-nextgen/lampac:latest
container_name: lampac
restart: unless-stopped
shm_size: 1024mb
# Restore persisted passwd/init.conf from seed volume before start,
# so config survives container recreation (upstream entrypoint is
# ENTRYPOINT ["dotnet", "Core.dll"], WORKDIR /lampac, USER lampac).
entrypoint:
[
"/bin/sh",
"-c",
"if [ -f /seed/passwd ] && [ ! -f /lampac/passwd ]; then cp /seed/passwd /lampac/passwd; fi; if [ -f /seed/init.conf ] && [ ! -f /lampac/init.conf ]; then cp /seed/init.conf /lampac/init.conf; fi; exec /usr/share/dotnet/dotnet Core.dll",
]
environment:
- TZ=${TZ:-Europe/Berlin}
volumes:
- lampac-seed:/seed
- lampac-cache:/lampac/cache
- lampac-db:/lampac/database
ports:
- "19118:9118"
networks:
- streaming
volumes:
jellyfin-cfg:
qbittorrent-cfg:
@@ -124,6 +150,9 @@ volumes:
prowlarr-cfg:
jellyseerr-cfg:
bazarr-cfg:
lampac-seed:
lampac-cache:
lampac-db:
downloads:
movies:
tv:
+26 -26
View File
@@ -13,19 +13,32 @@ spec:
issuerRef:
name: internal-ca
kind: ClusterIssuer
# ---
# apiVersion: cert-manager.io/v1
# kind: Certificate
# metadata:
# name: jellyfin-prod-tls
# namespace: streaming
# spec:
# secretName: jellyfin-prod-tls
# dnsNames:
# - jellyfin.forust.xyz
# issuerRef:
# name: letsencrypt-prod
# kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: jelly-prod-tls
namespace: streaming
spec:
secretName: jelly-prod-tls
dnsNames:
- jelly.forust.xyz
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: seerr-prod-tls
namespace: streaming
spec:
secretName: seerr-prod-tls
dnsNames:
- seerr.forust.xyz
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
# ---
# apiVersion: cert-manager.io/v1
# kind: Certificate
@@ -78,16 +91,3 @@ spec:
# issuerRef:
# name: letsencrypt-prod
# kind: ClusterIssuer
# ---
# apiVersion: cert-manager.io/v1
# kind: Certificate
# metadata:
# name: jellyseerr-prod-tls
# namespace: streaming
# spec:
# secretName: jellyseerr-prod-tls
# dnsNames:
# - jellyseerr.forust.xyz
# issuerRef:
# name: letsencrypt-prod
# kind: ClusterIssuer
@@ -186,3 +186,30 @@ endpoints:
- "192.168.88.100"
conditions:
ready: true
---
apiVersion: v1
kind: Service
metadata:
name: lampac
namespace: streaming
spec:
ports:
- port: 19118
targetPort: 19118
---
apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata:
name: lampac
namespace: streaming
labels:
kubernetes.io/service-name: lampac
addressType: IPv4
ports:
- port: 19118
protocol: TCP
endpoints:
- addresses:
- "192.168.88.100"
conditions:
ready: true
+51
View File
@@ -116,3 +116,54 @@ spec:
port: 16767
tls:
secretName: internal-wildcard-tls
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: lampac-local
namespace: streaming
spec:
entryPoints:
- websecure
routes:
- match: Host(`lampac.workstation.internal`)
kind: Rule
services:
- name: lampac
port: 19118
tls:
secretName: internal-wildcard-tls
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: jellyfin-prod
namespace: streaming
spec:
entryPoints:
- websecure
routes:
- match: Host(`jelly.forust.xyz`)
kind: Rule
services:
- name: jellyfin
port: 18096
tls:
secretName: jelly-prod-tls
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: seerr-prod
namespace: streaming
spec:
entryPoints:
- websecure
routes:
- match: Host(`seerr.forust.xyz`)
kind: Rule
services:
- name: jellyseerr
port: 15055
tls:
secretName: seerr-prod-tls