Skip to content

List of the docker instance I ever used. Tried to make the compose file as simple as possible to get every change to be made in the .env file with variables.

Notifications You must be signed in to change notification settings

soflane/docker-instances

Repository files navigation

Docker Compose Files

Welcome to my repo, you'll find all my stacks of docker-compose.

You'll find here different stacks that I used for my projects. Feel free to use, share and give feedback if you see something to improve, or for any question !

You will require Docker and Docker Compose

Stacks with a ✅ are clean and ready to use​.

Stacks with a 📝 are well-documented.

Requirements

Host setup

  • Docker Engine version 17.12 or newer
  • Docker Compose version 1.25.0 or newer
  • 2-4 GB of RAM
  • Linux host is preferred (This configuration is used smoothly on Ubuntu 21.04)

ℹ️ Especially on Linux, make sure your user has the required permissions to interact with the Docker daemon.

You may also want to setup automatic APT updates (with mail notifications) on your host to ease your management.

Install Docker & Compose on Linux

$ curl -sSL https://get.docker.com/ | sh
$ sudo pip install docker-compose

Docker-compose Usage

See Docker Compose Documentation.

Environment variables

I try to base all the settings that could be changed for personal customization in a .env file although it is not always possible. Some environment variables are always present in every stack as "Basic settings" :

Variable Default value Usage
PUID 1000 for UserID - see below for explanation
PGID/GUID 1000 for GroupID - see below for explanation
TIMEZONE/TZ Europe/Brussels
MAIN_DOMAIN example.com Main domain used, the hostname of the other containters will be concatenated

User / Group Identifiers

When using volumes (-v flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.

Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.

In this instance PUID=1000 and PGID=1000, to find yours use id user as below:

  $ id username
    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)

Examples files

Baseline ✅📝

The base docker-compose stack with the 'base' stack for web services and docker management :

This is the start of every docker-compose stack. Every web services will be routed into Traefik in order to enhance security (HTTPS, Headers, basic authentication if needed,...)

The password manager, self hosted

BookStack is a simple, self-hosted, easy-to-use platform for organizing and storing information. It allows for documentation to be stored in a book like fashion.

A server to host a reverse proxy for remote hosts behind NATs without having to open ports.

architecture

Credits to fatedier for his amazing work

The name says it all. However if you have any doubt, here it is.

Send

A fork of Firefox Send, and alternative to WeTransfer

Snipe-it makes asset management easy. It was built by people solving real-world IT and asset management problems, and a solid UX has always been a top priority. Straightforward design and bulk actions mean getting things done faster.

Plex ✅📝

This stack is contents all what you need for a Plex server and more : Downloads (& management), ratio faking, dashboard home page (Heimdall)

A prometheus stack along with Alertmanager, Grafana, and even a MS teams webhook gateway. The setup is already configured to watch HTTP(S)

Webmap

A Nmap Web Dashboard and Reporting - Git

Zammad ✅📝

Zammad ticketing system

TO-DO

  • add webmap
  • (Bitwarden) move Fail2ban
  • Fully working fail2ban

About

List of the docker instance I ever used. Tried to make the compose file as simple as possible to get every change to be made in the .env file with variables.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published