diff --git a/Makefile b/Makefile index 949a87e..65c8e3b 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ DOCKER := docker -PROFILES := webserver database wordpress adminer uptime-kuma portainer qbittorrent gitea +PROFILES := webserver database wordpress adminer uptime-kuma portainer qbittorrent gitea jellyfin PROFILE_CMD := $(addprefix --profile ,$(PROFILES)) COMPOSE_FILES := $(shell find docker-compose*.yml | sed -e 's/^/--file /') diff --git a/README.md b/README.md index fdbe63e..882363e 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,10 @@ If you have any **questions** or **suggestions**, feel free to open an issue or - [x] Caddy - [x] Wordpress (Via FASTCGI/caddy) - [x] Adminer (MariaDB) -- [x] Portainer ce +- [x] Jellyfin (Media server) +- [x] Gitea (Git server) +- [x] Uptime Kuma (Monitoring) +- [x] Torrent server ## Screenshots @@ -32,6 +35,8 @@ If you have any **questions** or **suggestions**, feel free to open an issue or - [Web domain](https://www.ovh.com/world/domains/) (I use OVH) - [Open port 80 and 443 on your router](http://192.168.0.1/) (I use a SFR box with default IP) +***To avoid get rate limit from letsencrypt (10 certificates per 3 hours), you need to disable some URL in the caddyfiles and enable them 3h later...*** + ### Clone Clone this repository to your local machine using: @@ -66,6 +71,7 @@ And then, caddy will generate the certificate for you and renew it automatically | torrent.bensuperpc.org | Sub | Torrent server | | git.bensuperpc.org | Sub | Gitea for git | | link.bensuperpc.org | Sub | For link shortener | +| jellyfin.bensuperpc.org | Sub | Jellyfin for media server | | bensuperpc.com | Main | Redirect to bensuperpc.org | | bensuperpc.fr | Sub | Redirect to bensuperpc.org | | bensuperpc.net | Sub | Redirect to bensuperpc.org | @@ -159,7 +165,10 @@ You can find all services on the [docker-compose.yml](docker-compose.yml) file o | --- | --- | --- | | Wordpress | Wordpress website | [bensuperpc.org](https://bensuperpc.org) and [www.bensuperpc.org](https://www.bensuperpc.org) | | Adminer | Adminer for MariaDB | [adminer.bensuperpc.org](https://adminer.bensuperpc.org) | -| Portainer ce | Portainer ce | [portainer.bensuperpc.org](https://portainer.bensuperpc.org) | +| Uptime Kuma | Uptime Kuma for monitoring | [uptimekuma.bensuperpc.org](https://uptimekuma.bensuperpc.org) | +| Torrent | Torrent server | [torrent.bensuperpc.org](https://torrent.bensuperpc.org) | +| Gitea | Gitea for git | [git.bensuperpc.org](https://git.bensuperpc.org) | +| Jellyfin | Jellyfin for media server | [jellyfin.bensuperpc.org](https://jellyfin.bensuperpc.org) | ## URL diff --git a/caddy/bensuperpc.org/Caddyfile b/caddy/bensuperpc.org/Caddyfile index 91a17f5..0c1a9bc 100644 --- a/caddy/bensuperpc.org/Caddyfile +++ b/caddy/bensuperpc.org/Caddyfile @@ -52,6 +52,10 @@ git.bensuperpc.org { reverse_proxy gitea:3000 } +jellyfin.bensuperpc.org { + reverse_proxy jellyfin:8096 +} + link.bensuperpc.org { redir /rickroll https://www.youtube.com/watch?v=dQw4w9WgXcQ permanent redir /babyshark https://www.youtube.com/watch?v=XqZsoesa55w permanent diff --git a/docker-compose.yml b/docker-compose.yml index 9cc905c..23722c3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -120,6 +120,22 @@ services: - infra-network security_opt: - no-new-privileges:true + jellyfin: + image: jellyfin/jellyfin:latest + container_name: jellyfin + profiles: + - jellyfin + restart: on-failure + depends_on: + - caddy + volumes: + - jellyfin_config:/config + - jellyfin_data:/movies:ro + - jellyfin_cache:/cache + networks: + - infra-network + security_opt: + - no-new-privileges:true qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest @@ -178,3 +194,9 @@ volumes: name: gitea_config gitea_db: name: gitea_db + jellyfin_config: + name: jellyfin_config + jellyfin_data: + name: jellyfin_data + jellyfin_cache: + name: jellyfin_cache