Docker services running in a home server.
It's meant to work out of the box and without configuration, except for some environment variables that will have to be filled after cloning.
In order to specify the settings fill the options in .env.dist and then paste all the values to /etc/environment
Then make sure they are set with the command: printenv
Containers definition are separated in different docker-compose files to help launch desired services only. Once you launch them for the first time they will keep alive with the system restarting if necessary until you decide to stop them manually.
docker-compose \
-f services/traefik/docker-compose.yml \
-f services/mariadb/docker-compose.yml \
-f services/jackett/docker-compose.yml \
-f services/ddclient/docker-compose.yml \
-f services/nextcloud/docker-compose.yml \
-f services/minecraft/docker-compose.yml \
-f services/ombi/docker-compose.yml \
-f services/openvpn-sa/docker-compose.yml \
-f services/plex/docker-compose.yml \
-f services/portainer/docker-compose.yml \
-f services/radarr/docker-compose.yml \
-f services/sonarr/docker-compose.yml \
-f services/tautulli/docker-compose.yml \
-f services/transmission/docker-compose.yml \
-f services/watchtower/docker-compose.yml \
-f services/webserver/docker-compose.yml \
-f services/samba/docker-compose.yml \
-f services/speedtest/docker-compose.yml \
up -d
Check that all services are up:
docker ps
In case you need to stop or remove a container use docker and the container name:
docker stop minecraft && docker rm minecraft
If you have doubts on the services please search google for what they do.
You should go over each service and check it's up and configure it if necessary. All the configurations are going to be stored inside the "volumes" folder. You can regularly back it up.
If you need ssl certificates and you have a domain, there is an option
to create it with Lets Encrypt. This repo is configured for using
OVH as a domain name provider. If you dont use OVH you can change the
configuration of traefik
in order to use another one:
https://docs.traefik.io/configuration/acme/
Still this is a secondary step and will not stop your services from working.