Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Collection of my docker compose stacks (traefik, pihole doh, nextcloud, mosquitto, portainer, homeassistant, etc.)

License

Notifications You must be signed in to change notification settings

BornToBeRoot/docker-compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

22 Commits

Repository files navigation

docker-compose

Collection of my docker compose stacks for various services.

Stacks

  • traefik - Traefik reverse proxy, load balancer and certificate manager

    NOTE: Most other stacks require this stack to be running

  • pihole_doh - Pi-hole with DNS over HTTPS (DoH)

  • mosquitto - Mosquitto MQTT broker

  • portainer_agent - Portainer Agent for remote management of Docker

COMING SOON:

  • homeassistant - Home Assistant home automation
  • homer - Homer dashboard for your services
  • Nextcloud - Nextcloud self-hosted file sync and share with Collabora Online integration
  • portainer - Portainer management UI for Docker
  • CUPS - CUPS print server

Pre-requirments

Using these stacks requires a server with Docker and Docker Compose v2 installed.

# Ubuntu 24.04
apt install docker.io docker-compose-v2

Files are stored in /opt/container on the server (but can be changed, depending on your needs).

# Create directory
mkdir -p /opt/container
# Clone repository
git clone https://github.com/BornToBeRoot/docker-compose /opt/container

NOTE: The .env files may contain sensitive information and should be protected accordingly.

# Restrict access
chmod 640 /opt/container/stacks/*/.env
chown root:root /opt/container/stacks/*/.env

Update all stacks

To automatically update all stacks, you can use the update_all_stacks.sh script that will iterate over all directories and pull the latest container images and restart the services.

# Copy script to /opt/scripts
mkdir -p /opt/scripts
cp ./update_all_containers.sh /opt/scripts/update_all_containers.sh
# Make script executable
chmod +x /opt/scripts/update_all_containers.sh
# Create cronjob
nano /etc/crontab

Add the following line to run the script every tuesday at 1:33:


33 1 * * 2 root /opt/scripts/update_all_stacks.sh

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Collection of my docker compose stacks (traefik, pihole doh, nextcloud, mosquitto, portainer, homeassistant, etc.)

Topics

Resources

License

Stars

Watchers

Forks

Languages

AltStyle によって変換されたページ (->オリジナル) /