Start the Containers
Note
- The system data will be placed in this project directory by default if you change nothing
- Data is placed in
./.containers/
and is in.gitignore
already - Helper scripts can be found in
./scripts
- This original script was setup on a Macbook and runs flawlessly on MacOS and Linux (tested). My homelab uses Ubuntu 22.04 and docker (latest) and my Macbook is on MacOS Sonoma (latest).
- Additional configuration may be needed on the volumes in each service (container) section to setup for your machine (if you refer to different paths for an existing data folder and not a fresh install).
Start the Containers
- Start the containers! (run the
startup.sh
script or do this)
Warning
Since a Media server is a heavy resource to have, and there are 3 options in this project, you must pass one in as an argument in the docker-compose
command (in --profile
) or in the startup.sh
script as an argument.
No Media Server
docker compose up -d
Or
./scripts/startup.sh
Example using the startup.sh script with no media server argument


With Media Server (jellyfin
as the example)
docker compose --profile jellyfin up -d
Or
./scripts/startup.sh jellyfin
Example using the startup.sh script with jellyfin
as the media server argument


Stop All Containers
With Media Server Running (jellyfin
as the example again)
docker compose --profile jellyfin down
Or
./scripts/tearDown.sh jellyfin
See the Scripts readme for more information about the teardownScript
With No Media Server Running
docker compose down
Or
./scripts/tearDown.sh
See the Scripts readme for more information about the teardownScript
Stop Individual Containers
docker compose stop <container_name>