Skip to content

My personal container stacks

License

Notifications You must be signed in to change notification settings

chadweimer/container-stacks

Repository files navigation

container-stacks

My personal container stacks

Usage

The typical way to bootstrap a system for these stacks is the following:

  1. Create docker networks
  2. Bring up Portainer, and use the exposed port to access it to proceed with the next steps
  3. Bring up the following stacks, in this order
    1. Docker Proxy
    2. Traefik
  4. Bring up any other stacks desired

Docker networks

The following named networks are assumed to already be created outside these stacks:

  • docker-proxy - Used by any service that needs to communicate with the docker engine via ghcr.io/linuxserver/socket-proxy.
  • ingress - Used by the traefik stack to expose services. Any exposed service must be attached to this network in order to be routed to by traefik. This network is also utilized by the homepage stack to route to services by their service or container name.
  • lan - A macvlan network configured to point to the LAN gateway (e.g., 192.168.1.1).
  • observe - Used by the alloy and grafana stacks to scrape or otherwise receive and display observability data. Any service that can be scraped or remote write to one of these systems must be attached to this network, as well as any service used as a datasource in Grafana.
# Example of using docker cli to create these networks
docker network create docker-proxy
docker network create ingress
docker network create -d macvlan \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 \
  -o parent=eth0 \
  lan
docker network create observe

Variables

These stacks are designed to be used with Portainer with supplied environment variables, or .env files when used with docker compose directly. Refer to the stack.env.example file in each directory for the list of environment variables that are expected.

Portainer Templates

The templates.json file provides Portainer Templates that can be used to deploy these stacks, supplying the necessary values to variables. Configure the Portainer instance to point to https://raw.githubusercontent.com/chadweimer/container-stacks/refs/heads/main/templates.json to use them.

About

My personal container stacks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published