Skip to content

Repository files navigation

OMV Docker Compose Stacks

Updated compose files for an OpenMediaVault NAS running self-hosted Docker services.

The repo is organized as one compose file per stack so the OMV Compose plugin or docker compose can run each stack independently.

Full OMV setup checklist

See CHECKLIST.md for the full step-by-step OMV install checklist, including reboot checkpoints and every container in this repo.

Important security note

Real API keys and passwords must stay out of git.

  1. Copy .env.example to .env.
  2. Edit .env with real values on the OMV host.
  3. Do not commit .env.
  4. Rotate any key/password that was ever committed or pasted publicly.
cp .env.example .env
nano .env

Start order

Start the VPN gateway first, then stacks that use its network namespace.

docker compose --env-file .env -f gluetun.yml up -d
docker compose --env-file .env -f arr.yml up -d
docker compose --env-file .env -f qbittorrent.yml up -d

Services with network_mode: "container:gluetun" publish their ports from gluetun.yml, not from their own compose file.

Files

File Purpose
gluetun.yml VPN gateway and shared port publishing
arr.yml Sonarr, Radarr, Lidarr, Prowlarr, Bazarr, SABnzbd, BookBounty, Listenarr, Requestrr, Recyclarr
qbittorrent.yml qBittorrent behind Gluetun, with VueTorrent mod
jellyfin.yml Jellyfin, xTeVe LazyStream, Jellyseerr
audiobookshelf.yml Audiobook and podcast server
copyparty.yml File sharing service
cups.yml CUPS print server
ersatztv.yml ErsatzTV
heimdall.yml Heimdall dashboard
librespeed.yml LibreSpeed speedtest
mumble.yml Mumble voice server
notifiarr.yml Notifiarr client
swag.yml SWAG reverse proxy and MariaDB
teamspeak.yml TeamSpeak 6 and MariaDB

glutun.yml and temspeak.yml are included only as compatibility copies for the old misspelled filenames. Prefer gluetun.yml and teamspeak.yml going forward.

Validate before pushing

bash scripts/validate-compose.sh

This checks YAML syntax, warns about obvious secret leaks, and runs docker compose config for each compose file when Docker is available.

Create host directories

Run this on OMV after editing .env:

sudo bash scripts/bootstrap-omv-dirs.sh

It creates the expected /Docker, /pool/Media, /pool/Storage, and /pool/tmp subdirectories and chowns container appdata to the configured UID/GID.

About

Steps for creating a OMV nas that is running selfhosted docker docker containers

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages