3.8 KiB
Upgrade to V2
Seedbox version 2 is here! 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?
- Configuration change to new YAML format
- Run
config-updater.sh
to migrate your old services.conf to the new config.yaml format. - jq (v1.5+) and yq (v4+) are now requirements
- Easier feature switches
- If a service is missing, it won't be enabled by default like before. The config is now more declarative.
- Traefik routing rules are now dynamically generated in a file in Traefik config directory, so no more Docker labels. They became hard to maintain due to all possibilities caused by VPN support or custom files for example.
- Run
- VPN support
- With
gluetun
service, you can now place any service behind a VPN. - Default gluetun configuration is Wireguard "custom" mode, but see below...
- With
- Support custom services and docker-compose yaml files
- Place a docker-compose.yaml file in
services/custom/
directory, add a service in your config.yaml specifying acustomFile
, and you are set. - Support Plex hardware transcoding using a custom-file, already available in the
services
directory (just specify a customFile on plex service - see config.sample.yaml).
- Place a docker-compose.yaml file in
- Support arbitrary Traefik rules
- Place a Traefik YAML in
samples/custom-traefik/
directory, it will be copied in the Traefik configuration folder. - Ideal to forward traffic to other services which do not belong to this seedbox.
- Place a Traefik YAML in
- New services:
Gluetun
: VPN client (see above)Heimdall
: DashboardReadarr
: Ebook and comic monitorKomga
: Comic Book ManagerKavita
: Comic / Book Manager
- Docker compose v2.2+ is now required
And also:
update-all.sh
is now calledrun-seedbox.sh
but its purpose is the same.- More checks in
run-seedbox.sh
. For example, throws an error if Flood is enabled but not Deluge, or if VPN is enabled on a service but the VPN client is not. - You can now specify where your data lives on your host through new environments variables (see .env.sample).
- This change is backward-compatible as the run-seedbox.sh script will default to the old "/data/torrents" and "/data/config" paths if these variables are not set.
networks:
section is now aligned with the new docker compose syntax- Nextcloud-db has moved. It is now in /data/config (see below how to mitigate the errors).
- Disable Traefik access logs
How to migrate
./config-updater.sh
# Check the content of your .env file (in comparison with .env.sample which brings new variables)
./run-seedbox.sh
When everything runs smoothly, you can delete your old configuration file:
rm -f services.conf
Also, please make sure you have read the next section about Nextcloud Database location.
Nextcloud-db has moved
Since commit e4ede925a8
, nextcloud-db directory (mapped on /var/lib/mysql) has moved from
/data/nextcloud-db
to $HOST_CONFIG_PATH/nextcloud-db
(/data/config/nextcloud-db by default).
To ensure a smooth transition, you will have to move the directory nextcloud-db into the correct new location, then run some commands to fix the schema:
mv /data/nextcloud-db/ /data/config/
./run-seedbox.sh
source .env
docker exec -it nextcloud-db mysql_upgrade -u root -p${MYSQL_ROOT_PASSWORD}
docker restart nextcloud nextcloud-db
Ensure everything runs nicely by looking at nextcloud-db and nextcloud logs, and by accessing your Nextcloud web UI.