Skip to content

Ansible-based Docker containerized cloud media server

Notifications You must be signed in to change notification settings

Pro-Tweaker/SEEDbox

Repository files navigation

SEEDbox

GitHub Created At GitHub last commit GitHub contributors GitHub License standard-readme compliant

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.

dashboard

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).

Table of Contents

Background

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.

Install

Prerequisites

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!

Getting started

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 ansible

Install the Docker collection from Ansible Galaxy:

ansible-galaxy collection install community.docker

Optional: Check Ansible version:

ansible --version

Prepare 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.yml

Customize settings.yml with your information:

nano settings.yml

Usage

Tip

You might need to run some of these commands as sudo, depending on your environment and the roles used.

Run the Docker role or all mandatory core roles using the core tag:

ansible-playbook seedbox.yml --tags=docker
ansible-playbook seedbox.yml --tags=core

Optional: Check Docker version and status:

docker --version
docker-compose --version
docker info

Run the desired optional tags:

ansible-playbook seedbox.yml --tags=download,pvr,media,tools,monitoring

Or run single roles:

ansible-playbook seedbox.yml --tags=qbittorrent,jellyfin

Applications (roles) and tags available:

Tag: "Download"

Tag: "PVR"

Tag: "Media"

Tag: "Tools"

Tag: "Monitoring"

Tip

You can check all the roles and tags available in the playbook file: seedbox.yml

Maintainers

@Pro-Tweaker

@zotabee

Contributing

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.

License

MIT © 2026 Pro-Tweaker & zotabee