Skip to content

Releases: jfroment/seedbox

v2.2.2 - The tiny Flame 🔥

28 Nov 23:21
Compare
Choose a tag to compare

Yet another bug resolution

Bugfixes and improvements ⚙️

  • [script] When no customization where done on Traefik (custom variable beginning with TRAEFIK_ in .env.custom), the run-seedbox.sh script failed with error:
    [./run-seedbox.sh] line 320: ./env/traefik.env: No such file or directory
    
    This bug was introduced in v2.2.1 release and I'm sorry for it. It should work as expected now.
  • [Flood] Fix #61
    The feature of Deluge Daemon auth autoconfig was broken since v2.2.0. It should work now and also handle filesystem with different permissions between config directory and media directory.

v2.2.1 - The little Flame 🔥

26 Nov 23:17
98cf9e6
Compare
Choose a tag to compare

Bugfix release due to errors on some services after v2.2 release.

Bugfixes and improvements ⚙️

  • [Portainer] Remove admin password auto-configuration. Password is now set on first installation via GUI.
  • [Flood | MariaDB | Calibre] Fix variables not taken into account (fix #61)
    • Services which used a command with environment variables were broken since v2.2 release because app-specific env files are injected with env_file directive in Docker Compose, but some services cannot read from environment variables in their command.

v2.2 - The Flame 🔥

24 Nov 22:59
5623c64
Compare
Choose a tag to compare

Not dead yet!

⚠️ Please be careful before upgrading. See the config changes below to avoid surprises...

What's new?

New services 💫

New features ✨

  • Set app-specific environment variables in a dedicated files to load them only for the targeted application.
    See the documentation for more details on how it works.
    Now every app customization is possible.
  • Support Traefik Custom ACME resolver (Cloudflare, OVH, you-name-it...)
    See the corresponding documentation to use it.
  • Support remote NFS storage for media. Just replace your docker-compose.yaml by the one in the samples directory (keep the same docker-compose.yaml filename). See the configuration guide section to configure properly.

Bugfixes and improvements ⚙️

  • Gluetun (vpn)
    • Use ghcr.io image
    • Add /dev/net/tun mount to container
    • Use non-depracated environment variables
  • Kavita (ebook library management)
    • Use LinuxServer image and adapt accordingly. Update should be seamless.
  • Overseerr
    • Use public dns to workaround network issues
  • Plex
    • Remove useless port bindings as network_mode is host for Plex.
  • Cleanup old files, refactoring
  • Add local-persist driver installation in init script. It contains a fix which is not (yes) published on the Github official repository.
  • Fix komga default port in config.yaml sample file.
  • Docker compose supported version is now at least 2.27.0.
  • Fix #43: fix warning for jq and output format.
  • Refactor run-seedbox.sh script (use of functions, move code around, tiny fixes...)
  • Due to newly added app-specific environment variables, gluetun VPN config and install mode has been refined. Please see the documentation for specific details.
  • Add the changelog in CHANGELOG.md.
  • Add the current version in VERSION. May be useful later for automatic upgrades between versions.

⚠️ Config changes ⚠️

Nextcloud and DB

MariaDB is now a separate service, and nextcloud is still dependant on it.
In order to enable mariadb service, either refer to config.sample.yaml or add the following to your config.yaml file:

# [...]
  - name: mariadb
    enabled: true
    vpn: false
    traefik:
      enabled: false
      rules: []
# [...]

Variables

Due to the refactoring of the app-specific variables (by using .env.custom file), some old variables present in .env must be moved to .env.custom and prefixed with the service name.

The run-seedbox.sh script will detect obsolete configuration in .env and will notify yo and stop to prevent config errors.

If the following variables are present (not commented not absent) in your .env file, copy it in the new .env.custom file (either copy the value by using the placeholder already in place in the new file or overriding completely the file).

Variable in .env Variable in .env.custom
Variables starting by MYSQL_ Add prefix MARIADB_
Variables starting by NEXTCLOUD_ Add another NEXTCLOUD_ prefix
Variables starting by PAPERLESS_ Add another PAPERLESS_ prefix
Variables starting by PORTAINER_ Add another PORTAINER_ prefix
Variable named FLOOD_PASSWORD FLOOD_FLOOD_PASSWORD
Variable named CALIBRE_PASSWORD CALIBRE_CALIBRE_PASSWORD
Variable named WIREGUARD_ENDPOINT GLUETUN_VPN_ENDPOINT_IP
Variable named WIREGUARD_PORT GLUETUN_VPN_ENDPOINT_PORT
Variable named WIREGUARD_PUBLIC_KEY GLUETUN_WIREGUARD_PUBLIC_KEY
Variable named WIREGUARD_PRIVATE_KEY GLUETUN_WIREGUARD_PRIVATE_KEY
Variable named WIREGUARD_PRESHARED_KEY GLUETUN_WIREGUARD_PRESHARED_KEY
Variable named WIREGUARD_ADDRESS GLUETUN_WIREGUARD_ADDRESSES (plural!)

v2.1 - The Pearl ⚪

14 Mar 21:51
3bb3662
Compare
Choose a tag to compare

Long time no see! 👋

What's new?

  • Plex is now in host network mode. You can safely ignore warnings when Plex image is updated. With host mode, you'll be able to distinct local vs remote connections to Plex in Tautulli (and in Plex dashboard) if your server is at home.
  • New services available: Calibre + Calibre-web added. They are disabled by default.

Fixes

  • Fix typo in gluetun PGID variable
  • Documentation wording edits (thanks again @tromcho)
  • Fix #24: now you can add .torrent files in deluge again
  • Fix #37: Portainer port + explanation for password generation in .env.sample file
  • Fix #32: Now you can specify which docker compose binary to use. Useful when using docker-compose binary, even for v2. Defaults to "docker-compose" for retro-compatibility purposes. Please check .env.sample.
  • Fix #20: New documentation in doc/apps/deluge-flood.md to explain how deluge must be configured for Flood to work.
  • Remove Traefik pilot token, as the feature has been removed from Traefik itself.

v2.0 - The Swan

07 Mar 21:57
0062095
Compare
Choose a tag to compare

Seedbox version 2 is here! 🔥

Since there are some breaking changes and a configuration structure migration, a major version was mandatory.

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.
    • New config syntax documented in the Configuration Guide.
  • VPN support
    • With gluetun service, you can now place any service behind a VPN.
    • Default gluetun configuration is Wireguard "custom" mode, but see below...
    • More details in the VPN section of the Configuration Guide.
  • 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 a customFile, 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).
    • More details in the Configuration Guide.
  • 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.
    • More details in this section of the Configuration Guide
  • Disable certificates for some domains
    • Using the flag httpOnly: true on a service, access any service in unsecure mode, delegating certificates management on a higher level (reverse proxy, firewall...). More details in the Configuration Guide.
  • Multiple hosts for any services
    • The new config structure allows for more customization, for example you can now have many routes on the same service. Let's say, a local unsecured route + a secured one for remote access. Or anything you want.
  • More customization
    • Such as http authentication which is no more hardcoded but configurable for each service.
    • Configurable paths on host for persistent data
  • New services
  • ⚠️ Docker compose v2.2+ is now required

And also:

  • update-all.sh is now called run-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 (or somewhere else if you set the new variables for host paths) (see below how to mitigate the errors). See the dedicated section below.
  • Disable Traefik access logs
  • New flag --debug for run-seedbox.sh to see what is happening during configuration parsing.
  • Releases are named after LOST mythology. I exhausted all the characters of Person of Interest, so that's time for a change. Only geeks will get it, I know.

Some reading about configuration

📖 Do not forget to read the Configuration Guide.

How to migrate

./config-updater.sh
# Check the content of your .env file (in comparison with .env.sample which brings new variables)
# Also, check your generated config.yaml and read the config documentation (in doc/configuration.md)
./run-seedbox.sh

When everything runs smoothly, you can delete your old configuration file which is now useless:

rm -f services.conf

⚠️ Also, please make sure you have read the next section about Nextcloud Database location.

Nextcloud-db has moved

Since commit e4ede92, 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.

Carl Elias

01 Dec 21:10
9310e4b
Compare
Choose a tag to compare

This is only a maintenance release. A current work is being done on a new project which consists of a port of this one on k8s/k3s.

Changes:

  • Prowlarr is set to develop branch

Fixes and improvements:

  • Fix docker-compose timeout variable
  • JDownloader now always restarts (align behavior with all services)
  • Tiny improvements on Nextcloud
    • Fix startup command
    • New script update-nextcloud.sh to update to latest sources and perform Nextcloud upgrades

Jocelyn Carter

20 Jun 14:19
23beb81
Compare
Choose a tag to compare

New:

  • Add Ombi (disabled by default)
  • Add Overseer
  • Add Prowlarr (alternative to Jackett with *arr softwares indexers auto-sync) (still in alpha)
  • Add Flood UI for Deluge (connects directly to Deluge daemon). It is still experimental. Beware of new environment variables in .env.sample, used to set password for Deluge RPC connection and (optional) auto-creation of the Deluge "flood" daemon user.
    A sudo chown -R ${PUID}:${PGUID} /data/config/flood should be done if permissions are not correctly set when starting flood (see its logs).
  • services.conf file is now per-user, so in this repository there is only the sample file now. Existing services.conf files will be retained, so there should be no impact for users. A warning is now displayed if there is a new service in services.conf.sample to alert users about a configuration "drift" between their file and the "upstream" one.

Improvements:

  • Add --no-pull flag to update-all.sh script, which skips the pull step. Useful when configuring/debugging/recreating containers.
  • Netdata tag is now "stable", and Docker socket is mounted as read-only.

Samantha Groves

28 Apr 09:37
c0eeebd
Compare
Choose a tag to compare

New:

  • Sonarr and Lidarr are now on tag develop
  • Tdarr is now v2 only, all configuration has moved and no procedure to migrate v1 config exist.

Improvements:

  • Fix Nextcloud init script
  • Fix typos

Lionel Fusco

31 Jan 19:06
Compare
Choose a tag to compare

New:

  • Use ghcr.io as registry when possible to limit DockerHub rate limits
  • Add FlareSolverr to bypass Cloudflare protection with some Jackett indexers
  • Possibility to disable each service separately. See README.md

Improvements:

  • Netdata: enable new metrics by mapping more host volumes
  • Split docker-compose.yml into separate YAML files. Now easier to use, hack and maintain.
  • Explicit tag on Tdarr, as v2 is out and migration is not done yet.

Warning:

  • Docker-compose 1.28+ is now required.
  • After upgrading, all containers will be recreated. No data will be lost. It is due to the new file structure.

Sameen Shaw

02 Dec 13:23
Compare
Choose a tag to compare

v1.1 maintenance release with the following changes:

  • Added Tdarr service
  • Nextcloud now uses Linuxserver.io image, and has its own database (MariaDB).
  • Radarr updated to V3 (channel is now develop)
  • Traefik rules and labels a bit simplified (entrypoint declaration is now global for example)