Skip to main content

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

startup doing its thing startup successful

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

startup doing its thing startup successful

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>