A collection of Docker Stacks that I run on my home Raspberry Pi Docker Swarm cluster.
- Prometheus - Full metrics and monitoring pipeline. Includes Docker, container, and node based metric collection, alerting, and visualization w/ Grafana
- pihole - Network wide adblocker implementing DNS over HTTPS (DoH) via cloudflared proxy.
- portainer - Docker Swarm cluster management UI.
- GitLab - GitLab Omnibus deployment with GitLab CI/CD Runner.
- Elastic (ELK) Stack - Logging aggregation, analysis, search, and visualization stack. Comprised of Elasticsearch, Kibana, and Filebeat.
- Unifi Controller - Wireless network management software solution from Ubiquiti Networks for administration of Unifi network gear.
Clone the repo, cd
into each directory and run:
sudo docker stack deploy --compose-file=$FILE_NAME $STACK_NAME
Note - Read thru README in each dir for setup and configuration details of each stack.
Many of the open source products used here do not have vendor supported ARM compatible Docker images or are published under different Docker Hub repositories / tags. Some vendor supported images do have ARM support, but are not fully compatible with Docker Swarm clustering. To overcome these limitations, the following projects were created and use Docker buildx to publish native multi-architecture images (tutorial here). Check out these repositories for further information:
- jmb12686/docker-cadvisor
- jmb12686/node-exporter
- jmb12686/docker-swarm-alertmanager
- jmb12686/docker-socat
- jmb12686/docker-elasticsearch
- jmb12686/docker-kibana
- jmb12686/docker-filebeat
Special shout out to these open source ARM compatible projects used: