This repository contains a collection of folders, each with its own docker-compose.yml
to deploy various self-hosted applications. Some folders also include an example.env
as a template for passing in credentials / options to the docker compose file. \
Within lots of these docker compose files, the containers join the nginx_default
network. This is the network my reverse proxy is on hence why it is included within the compose file. This network is external
and so is not removed after docker compose down
.
To get started with any of the applications, you need to have Docker and Docker Compose installed.
curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable --now docker
apt update
apt install docker-compose-plugin
Note
If installing on Debian, the convenience script might not work and you need to follow the steps listed here,
paying special attention to the note listed there
Each folder in this repository corresponds to a different self-hosted application.
app1
,app2
,app3
, etc: Each folder relates to the specific application.docker-compose.yml
: The Docker Compose file for the application.example.env
: An example environment variables file. Copy this file to.env
and fill in the necessary values.
Make a folder for the chosen app and change directory.
-
Get docker-compose.yml for {folder}
curl https://raw.githubusercontent.com/Doozy134/selfhosted/main/{folder}/docker-compose.yml > docker-compose.yml # If there is an environment file curl https://raw.githubusercontent.com/Doozy134/selfhosted/main/{folder}/example.env > .env
-
Edit the
.env
file (if necessary) with your preferred text editor to configure environment variables. -
Start the application
docker compose up -d
If you spin up / down the stack but changes are not reflected, you can add the
--force-recreate
tag. -
Stop the application
To stop the application, run:
docker compose down