From 53e93785166ab9305f3be8dfa648930856939d36 Mon Sep 17 00:00:00 2001 From: Teck Meng Date: Sun, 5 May 2024 19:16:03 +0800 Subject: [PATCH] chore: Add jellyfin_app service to traefik.yml and production.yml --- compose/traefik/traefik.yml | 15 +++++ jellyfin-cache/.gitignore | 2 + jellyfin-config/.gitignore | 2 + production.yml | 115 +++++++++++++++++++++--------------- 4 files changed, 87 insertions(+), 47 deletions(-) create mode 100644 jellyfin-cache/.gitignore create mode 100644 jellyfin-config/.gitignore diff --git a/compose/traefik/traefik.yml b/compose/traefik/traefik.yml index e36f890..3156f11 100644 --- a/compose/traefik/traefik.yml +++ b/compose/traefik/traefik.yml @@ -139,6 +139,17 @@ http: tls: certResolver: letsencrypt + jellyfin-router: + rule: "Host(`media.furyhawk.lol`)" + entryPoints: + - auth + - web-secure + middlewares: + - csrf + service: jellyfin_app + tls: + certResolver: letsencrypt + forum-router: rule: "Host(`forum.furyhawk.lol`)" entryPoints: @@ -422,6 +433,10 @@ http: loadBalancer: servers: - url: http://kestra:8080 + jellyfin_app: + loadBalancer: + servers: + - url: http://jellyfin:8096 forum_server: loadBalancer: servers: diff --git a/jellyfin-cache/.gitignore b/jellyfin-cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/jellyfin-cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/jellyfin-config/.gitignore b/jellyfin-config/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/jellyfin-config/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/production.yml b/production.yml index e1bd0bf..de80e18 100644 --- a/production.yml +++ b/production.yml @@ -58,53 +58,6 @@ services: - net - default - kestra: - image: kestra/kestra:latest-full - container_name: kestra - pull_policy: always - # Note that this is meant for development only. Refer to the documentation for production deployments of Kestra which runs without a root user. - user: "root" - command: server standalone --worker-thread=128 - environment: - KESTRA_CONFIGURATION: | - datasources: - postgres: - url: jdbc:postgresql://postgres:5432/kestra - driverClassName: org.postgresql.Driver - username: ${POSTGRES_USER} - password: ${POSTGRES_PASSWORD} - kestra: - server: - basic-auth: - enabled: true - username: ${EMAIL_FROM} # it must be a valid email address - password: ${EMAIL_PASSWORD} - repository: - type: postgres - storage: - type: local - local: - base-path: "/app/storage" - queue: - type: postgres - tasks: - tmp-dir: - path: /tmp/kestra-wd/tmp - url: http://kestra.furyhawk.lol/ - volumes: - - ./kestra-data:/app/storage - - /var/run/docker.sock:/var/run/docker.sock - - /tmp/kestra-wd:/tmp/kestra-wd - expose: - - "8080" - - "8081" - networks: - - net - - default - depends_on: - postgres: - condition: service_started - osrm-backend: environment: # OSRM manager setup @@ -199,6 +152,74 @@ services: - net - default + kestra: + image: kestra/kestra:latest-full + container_name: kestra + pull_policy: always + # Note that this is meant for development only. Refer to the documentation for production deployments of Kestra which runs without a root user. + user: "root" + command: server standalone --worker-thread=128 + environment: + KESTRA_CONFIGURATION: | + datasources: + postgres: + url: jdbc:postgresql://postgres:5432/kestra + driverClassName: org.postgresql.Driver + username: ${POSTGRES_USER} + password: ${POSTGRES_PASSWORD} + kestra: + server: + basic-auth: + enabled: true + username: ${EMAIL_FROM} # it must be a valid email address + password: ${EMAIL_PASSWORD} + repository: + type: postgres + storage: + type: local + local: + base-path: "/app/storage" + queue: + type: postgres + tasks: + tmp-dir: + path: /tmp/kestra-wd/tmp + url: http://kestra.furyhawk.lol/ + volumes: + - ./kestra-data:/app/storage + - /var/run/docker.sock:/var/run/docker.sock + - /tmp/kestra-wd:/tmp/kestra-wd + expose: + - "8080" + - "8081" + networks: + - net + - default + depends_on: + postgres: + condition: service_started + + jellyfin: + image: jellyfin/jellyfin + container_name: jellyfin + user: 1000:1000 + volumes: + - ./jellyfin-config:/config + - ./jellyfin-cache:/cache + - type: bind + source: ~/media + target: /media + read_only: true + restart: 'unless-stopped' + # Optional - alternative address used for autodiscovery + environment: + - JELLYFIN_PublishedServerUrl=https://media.furyhawk.lol + expose: + - 8096 + networks: + - net + - default + privatebin: image: privatebin/nginx-fpm-alpine:latest container_name: privatebin