Improve documentations
This commit is contained in:
parent
5eefdb0e99
commit
53f4d6ab87
59
README.md
59
README.md
|
@ -1,11 +1,33 @@
|
||||||
# Seedbox
|
<h1 align="center">Seedbox</h1>
|
||||||
|
<p align="center">
|
||||||
|
An extensive and hackable collection of containerized services to set up a seedbox and personal media server.
|
||||||
|
</p>
|
||||||
|
<br>
|
||||||
|
|
||||||
A collection of Dockerfiles and a docker-compose configuration to set up a
|
## ✨ Features
|
||||||
seedbox and personal media server.
|
|
||||||
|
|
||||||
⚠️ Version 2 is released, please make sure you read [this V2 Migration Guide](doc/UPGRADE_V2.md) as there are breaking changes!
|
* Easy to configure personal media server without needing too much technical skills
|
||||||
|
* Compatible with multiple systems (Linux servers, desktops, Synology NAS...)
|
||||||
|
* Automatic HTTPS ceritificates management and renewal
|
||||||
|
* Support for HTTP only too if required for your use-case
|
||||||
|
* Everything is hackable
|
||||||
|
* Add your own services
|
||||||
|
* Disable the ones you do not want
|
||||||
|
* Customize or add your own routing rules to integrate with existing services
|
||||||
|
* Tweak any service to your need by using custom file parameter on any service
|
||||||
|
* VPN support with multiple providers
|
||||||
|
* Hide the service(s) of your choice behind a VPN tunnel
|
||||||
|
* Non mandatory
|
||||||
|
* Declarative configuration
|
||||||
|
* Persistent data for your media
|
||||||
|
* Install & update using the same script
|
||||||
|
* Start with the [Configuration Guide](doc/configuration.md)
|
||||||
|
|
||||||
## Included Applications
|
## ⚠️ News
|
||||||
|
|
||||||
|
Version 2 is released, please make sure you read [this V2 Migration Guide](doc/UPGRADE_V2.md) as there are breaking changes!
|
||||||
|
|
||||||
|
## 📦 Included Applications
|
||||||
|
|
||||||
| Application | Web Interface | Docker image | Version (image tag) | Notes |
|
| Application | Web Interface | Docker image | Version (image tag) | Notes |
|
||||||
-----------------------|----------------------------|------------------------------------------------------------------------|-------------------------|---------------------|
|
-----------------------|----------------------------|------------------------------------------------------------------------|-------------------------|---------------------|
|
||||||
|
@ -27,12 +49,17 @@ seedbox and personal media server.
|
||||||
| Tautulli (plexPy) | tautulli.yourdomain.com | [linuxserver/tautulli](https://hub.docker.com/r/linuxserver/tautulli) | *latest* | Plex stats and admin|
|
| Tautulli (plexPy) | tautulli.yourdomain.com | [linuxserver/tautulli](https://hub.docker.com/r/linuxserver/tautulli) | *latest* | Plex stats and admin|
|
||||||
| Tdarr | tdarr.yourdomain.com | [haveagitgat/tdarr](https://hub.docker.com/r/haveagitgat/tdarr) | *latest* | Re-encode files |
|
| Tdarr | tdarr.yourdomain.com | [haveagitgat/tdarr](https://hub.docker.com/r/haveagitgat/tdarr) | *latest* | Re-encode files |
|
||||||
| NextCloud | nextcloud.yourdomain.com | [linuxserver/nextcloud](https://hub.docker.com/r/linuxserver/nextcloud) | *latest* | Files management |
|
| NextCloud | nextcloud.yourdomain.com | [linuxserver/nextcloud](https://hub.docker.com/r/linuxserver/nextcloud) | *latest* | Files management |
|
||||||
| NextCloud-db (MariaDB) | not reachable | [mariadb](https://hub.docker.com/r/_/mariadb) | *10* | DB for Nextcloud |
|
| NextCloud-db (MariaDB) | *not reachable* | [mariadb](https://hub.docker.com/r/_/mariadb) | *10* | DB for Nextcloud |
|
||||||
| Portainer | portainer.yourdomain.com | [portainer/portainer](https://hub.docker.com/r/portainer/portainer) | *latest* | Container management|
|
| Portainer | portainer.yourdomain.com | [portainer/portainer](https://hub.docker.com/r/portainer/portainer) | *latest* | Container management|
|
||||||
| Netdata | netdata.yourdomain.com | [netdata/netdata](https://hub.docker.com/r/netdata/netdata) | *latest* | Server monitoring |
|
| Netdata | netdata.yourdomain.com | [netdata/netdata](https://hub.docker.com/r/netdata/netdata) | *latest* | Server monitoring |
|
||||||
| Duplicati | duplicati.yourdomain.com | [linuxserver/duplicati](https://hub.docker.com/r/linuxserver/duplicati)| *latest* | Backups |
|
| Duplicati | duplicati.yourdomain.com | [linuxserver/duplicati](https://hub.docker.com/r/linuxserver/duplicati)| *latest* | Backups |
|
||||||
| Heimdall | yourdomain.com | [linuxserver/heimdall](https://hub.docker.com/r/linuxserver/heimdall)| *latest* | Main dashboard |
|
| Heimdall | yourdomain.com | [linuxserver/heimdall](https://hub.docker.com/r/linuxserver/heimdall)| *latest* | Main dashboard |
|
||||||
|
| Syncthing | syncthing.yourdomain.com | [linuxserver/syncthing](https://hub.docker.com/r/linuxserver/syncthing) | *latest* | P2P files sharing |
|
||||||
|
| Traefik | traefik.yourdomain.com | [traefik](https://hub.docker.com/_/traefik) | *latest* | Traefik reverse proxy (access to admin dashboard) |
|
||||||
| Gluetun | - | [qmcgaw/gluetun](https://hub.docker.com/r/qmcgaw/gluetun)| *latest* | VPN client |
|
| Gluetun | - | [qmcgaw/gluetun](https://hub.docker.com/r/qmcgaw/gluetun)| *latest* | VPN client |
|
||||||
|
| *Any application you want!* | *whatever.yourdomain.com* | *Any image* | *Any tag* | *Any service - See the [Configuration Guide](doc/configuration.md)* |
|
||||||
|
|
||||||
|
## 🌐 Traefik
|
||||||
|
|
||||||
The front-end reverse proxy (Traefik - **check [this guide](doc/traefik_v2.md) if you still have the seedbox with Traefik v1**) routes based on the lowest level subdomain (e.g. `deluge.example.com` would route to deluge). Since this is how the router works, it is recommended for you to get a top level domain. If you do not have one, you can edit your domains locally by changing your hosts file or use a browser plugin that changes the host header.
|
The front-end reverse proxy (Traefik - **check [this guide](doc/traefik_v2.md) if you still have the seedbox with Traefik v1**) routes based on the lowest level subdomain (e.g. `deluge.example.com` would route to deluge). Since this is how the router works, it is recommended for you to get a top level domain. If you do not have one, you can edit your domains locally by changing your hosts file or use a browser plugin that changes the host header.
|
||||||
|
|
||||||
|
@ -40,7 +67,12 @@ Traefik takes care of valid Let's Encrypt certificates and auto-renewal.
|
||||||
|
|
||||||
Note: Plex is also available directly through the `32400` port without going through the reverse proxy.
|
Note: Plex is also available directly through the `32400` port without going through the reverse proxy.
|
||||||
|
|
||||||
## Dependencies
|
You can also add your own Traefik rules to integrate with other services (deployed wihthin docker or somewhere else on your LAN, or even on the Internet).
|
||||||
|
Check the [Configuration Guide](doc/configuration.md).
|
||||||
|
|
||||||
|
## ⚙️ Installation
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
- [Docker](https://github.com/docker/docker) >= 20.10
|
- [Docker](https://github.com/docker/docker) >= 20.10
|
||||||
- [Docker Compose](https://github.com/docker/compose) >= 2.2
|
- [Docker Compose](https://github.com/docker/compose) >= 2.2
|
||||||
|
@ -48,7 +80,7 @@ Note: Plex is also available directly through the `32400` port without going thr
|
||||||
- [jq](https://stedolan.github.io/jq/download/) >= 1.5
|
- [jq](https://stedolan.github.io/jq/download/) >= 1.5
|
||||||
- [yq](https://github.com/mikefarah/yq/releases) >= 4
|
- [yq](https://github.com/mikefarah/yq/releases) >= 4
|
||||||
|
|
||||||
## Set up for the first time
|
### Prepare your host
|
||||||
|
|
||||||
Before running, please create the volumes which will be statically mapped to the ones on the host:
|
Before running, please create the volumes which will be statically mapped to the ones on the host:
|
||||||
For example:
|
For example:
|
||||||
|
@ -61,13 +93,13 @@ sudo su -c "mkdir /data && mkdir /data/config && mkdir /data/torrents"
|
||||||
Edit the `.env` file and change the variables as desired.
|
Edit the `.env` file and change the variables as desired.
|
||||||
The variables are all self-explanatory.
|
The variables are all self-explanatory.
|
||||||
|
|
||||||
## Configuration
|
### Review the configuration
|
||||||
|
|
||||||
The configuration lives in the ``config.yaml`` file.
|
The configuration lives in the ``config.yaml`` file.
|
||||||
|
|
||||||
All you need to know is located in the [Configuration Guide](doc/configuration.md).
|
All you need to know is located in the [Configuration Guide](doc/configuration.md).
|
||||||
|
|
||||||
## Running & updating
|
### Running & updating
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./run-seedbox.sh
|
./run-seedbox.sh
|
||||||
|
@ -77,12 +109,7 @@ All services and synamic configuration will be automatically created without fur
|
||||||
|
|
||||||
Make sure you install the dependencies and finish configuration before doing this.
|
Make sure you install the dependencies and finish configuration before doing this.
|
||||||
|
|
||||||
## PlexPass
|
### Where is my data?
|
||||||
|
|
||||||
Just set the `VERSION` environment variable to `latest` on the Plex service (enabled by default).
|
|
||||||
See [this link](https://hub.docker.com/r/linuxserver/plex).
|
|
||||||
|
|
||||||
## Where is my data?
|
|
||||||
|
|
||||||
All data is saved in the docker volumes `seedbox_config` or
|
All data is saved in the docker volumes `seedbox_config` or
|
||||||
`seedbox_torrents`.
|
`seedbox_torrents`.
|
||||||
|
|
|
@ -4,8 +4,6 @@
|
||||||
|
|
||||||
Since there are some breaking changes and a configuration structure migration, a major version was mandatory.
|
Since there are some breaking changes and a configuration structure migration, a major version was mandatory.
|
||||||
|
|
||||||
> These releases notes are still a work-in-progress as V2 is not fully tested and finalized yet.
|
|
||||||
|
|
||||||
## What's new?
|
## What's new?
|
||||||
|
|
||||||
* **Configuration change to new YAML format**
|
* **Configuration change to new YAML format**
|
||||||
|
@ -66,7 +64,7 @@ And also:
|
||||||
./run-seedbox.sh
|
./run-seedbox.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
When everything runs smoothly, you can delete your old configuration file:
|
When everything runs smoothly, you can delete your old configuration file which is now useless:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
rm -f services.conf
|
rm -f services.conf
|
||||||
|
|
|
@ -129,7 +129,7 @@ services:
|
||||||
...and you're set!
|
...and you're set!
|
||||||
|
|
||||||
Please note that the ``customFile`` flag **MUST** be relative to the "services" directory, because in some cases, some alternatives yaml files for bundled services are provided in the services directory.
|
Please note that the ``customFile`` flag **MUST** be relative to the "services" directory, because in some cases, some alternatives yaml files for bundled services are provided in the services directory.
|
||||||
For example, in this repository is provided a custom "plex-hardware-transcoding.yaml" file, with all the necessary adaptations to make Plex run with hardware transcoding enabled. Just add the ``customFile`` field in the ``plex`` service and this file will be used, instead of the default "plex.yaml".
|
For example, in this repository is provided a custom "plex-hardware-transcoding.yaml" file, with all the necessary adaptations to make Plex run with hardware transcoding enabled. Just add the ``customFile: plex-hardware-transcoding.yaml`` field in the ``plex`` service and this file will be used, instead of the default "plex.yaml".
|
||||||
|
|
||||||
## Integration with other services (custom Traefik config)
|
## Integration with other services (custom Traefik config)
|
||||||
|
|
||||||
|
@ -232,7 +232,7 @@ By default, the file used is [gluetun.yaml](../services/gluetun.yaml), which is
|
||||||
* Adapt it to your needs (variables, mode...) according to your provider.
|
* Adapt it to your needs (variables, mode...) according to your provider.
|
||||||
* Add all variables you may need (used in your custom yaml file) in your ``.env`` file (replacing the wireguard ones).
|
* Add all variables you may need (used in your custom yaml file) in your ``.env`` file (replacing the wireguard ones).
|
||||||
* Edit your ``config.yaml`` and add ``customFile: custom/gluetun-custom.yaml`` in the ``gluetun`` section.
|
* Edit your ``config.yaml`` and add ``customFile: custom/gluetun-custom.yaml`` in the ``gluetun`` section.
|
||||||
* Enable vn (``vpn: true``) on any service.
|
* Enable vpn (``vpn: true``) on any service.
|
||||||
* Run ``./run-seedbox.sh``.
|
* Run ``./run-seedbox.sh``.
|
||||||
* The service now uses your VPN by tunneling via gluetun container. If gluetun is down or if the VPN link is broken, your service won't have any access to Internet.
|
* The service now uses your VPN by tunneling via gluetun container. If gluetun is down or if the VPN link is broken, your service won't have any access to Internet.
|
||||||
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
deluge: enable
|
|
||||||
deluge-vpn: disable
|
|
||||||
flood: enable
|
|
||||||
plex: enable
|
|
||||||
plex-hardware-transcoding: disable
|
|
||||||
flaresolverr: enable
|
|
||||||
jackett: enable
|
|
||||||
prowlarr: enable
|
|
||||||
sonarr: enable
|
|
||||||
radarr: enable
|
|
||||||
bazarr: enable
|
|
||||||
lidarr: disable
|
|
||||||
readarr: disable
|
|
||||||
komga: disable
|
|
||||||
kavita: disable
|
|
||||||
ombi: disable
|
|
||||||
overseerr: enable
|
|
||||||
tautulli: enable
|
|
||||||
jdownloader: enable
|
|
||||||
jdownloader-vpn: disable
|
|
||||||
tdarr: disable
|
|
||||||
nextcloud: enable
|
|
||||||
portainer: enable
|
|
||||||
netdata: enable
|
|
||||||
duplicati: disable
|
|
||||||
syncthing: disable
|
|
||||||
heimdall: enable
|
|
||||||
gluetun: disable
|
|
Loading…
Reference in New Issue