Ansible-based Docker containerized cloud media server
A modern stack built with Ansible around Docker, Traefik, and Homer. It is secured by Cloudflare and CrowdSec for enhanced protection and minimal exposure to the internet. Easily deployable and built using leading open-source projects.
Warning
Please be aware that this is a work in progress (WIP) and will continue to evolve in the coming weeks/months (as of Feb. 2026).
We wanted a better, more modern solution than swizzin. Simpler and easier to maintain than Cloudbox & Saltbox. Made with the best open-source projects and the best ideas. That's how SEEDbox was born.
Important
Supported operating systems and software versions:
- Debian 13 (Trixie) - 64-bit (amd64)
- Ansible 12 / ansible-core 2.19 and newer
- Python 3.13 and newer
- Docker 29.x / Docker Compose 5.x and newer
Important
Requirements:
- Custom domain name
- Cloudflare account
Optional:
- CrowdSec account
Note
Check the documentation in the Wiki for more details!
Tip
You might need to run some of these commands as sudo, depending on your environment.
Install the minimal required packages to use the SEEDbox playbook:
apt update && apt install -y git python3 python3-pip python3-passlib python3-lxml python3-pbkdf2 ansibleInstall the Docker collection from Ansible Galaxy:
ansible-galaxy collection install community.dockerOptional: Check Ansible version:
ansible --versionPrepare a folder, clone this repo, and copy the default settings file:
cd /home/username
git clone https://github.com/Pro-Tweaker/SEEDbox.git
cp SEEDbox/defaults/settings.yml.default SEEDbox/settings.ymlCustomize settings.yml with your information:
nano settings.ymlTip
You might need to run some of these commands as sudo, depending on your environment and the roles used.
Important
Minimal stack (mandatory core roles):
Run the Docker role or all mandatory core roles using the core tag:
ansible-playbook seedbox.yml --tags=docker
ansible-playbook seedbox.yml --tags=coreOptional: Check Docker version and status:
docker --version
docker-compose --version
docker infoRun the desired optional tags:
ansible-playbook seedbox.yml --tags=download,pvr,media,tools,monitoringOr run single roles:
ansible-playbook seedbox.yml --tags=qbittorrent,jellyfinTip
You can check all the roles and tags available in the playbook file: seedbox.yml
PRs to update, fix, or enhance the stack accepted. We will likely not add roles for projects that are not already part of the selected stack.
MIT © 2026 Pro-Tweaker & zotabee
