mborne/docker-devbox
Provides stacks to setup a container-based development environment with Docker or Kubernetes for some of them.
Motivation
This is my playground to learn and illustrate how to deploy application with docker compose, Kustomize (kubectl apply -k
) and helm.
Getting started
Usage with docker :
Usage with Kubernetes :
Stacks
Load balancer and reverse proxy
Name |
Description |
Docker |
K8S |
traefik |
A reverse proxy including configuration discovery mechanism |
☑ |
☑ |
nginx-ingress-controller |
A common alternative to Traefik for Kubernetes |
NA |
☑ |
whoami |
An helloworld to test/discover load balancers |
☑ |
☑ |
cert-manager |
An helper to generate TLS certificates from various issuers including LetsEncrypt |
NA |
☑ |
Container UI
Name |
Description |
Docker |
K8S |
kubernetes-dashboard |
Web-based UI for Kubernetes clusters |
☑ |
☑ |
portainer |
Web-based UI for Kubernetes, Docker, Swarm and Nomad |
☑ |
☑ |
CI/CD pipeline
Name |
Description |
Docker |
K8S |
Jenkins |
Open source automation server with hundred of plugins (ansible, jmeter,…) |
☑ |
☑ |
ArgoCD |
GitOps continuous delivery tool for Kubernetes |
NA |
☑ |
SonarQube |
Centralisation of Code Quality and Code Security metrics |
☑ |
☐ |
Vault |
Secret storage and management server with an API |
☑ |
☐ |
Authentication
Name |
Description |
Docker |
K8S |
Keycloak |
Open Source Identity and Access Management providing (OIDC, SAML) |
☑ |
☐ |
OpenLDAP |
OpenLDAP and phpLDAPadmin (LDAP) |
☑ |
☐ |
Storage
Name |
Description |
Docker |
K8S |
MinIO |
Object storage with an S3 compatible API |
☑ |
☐ |
Nextcloud |
Open collaborative platform (file storage, talk, calendar,…) |
☑ |
☐ |
Nexus |
Nexus Repository Manager to manage binaries & build artifacts |
☑ |
☐ |
ReadWriteMany
Database
Logging and monitoring
Option 1 :
Name |
Description |
Docker |
K8S |
Grafana |
Grafana with Loki and Prometheus datasources and dashboards preconfigured |
☑ |
☑ |
Prometheus |
Grafana/Prometheus for system and monitoring |
☑ |
☑ |
Loki |
Grafana/Loki to store logs with Grafana/Promtail to ship logs |
☑ |
☑ |
Option 2 (variant of the famous ELK stack) :
Security
Name |
Description |
Docker |
K8S |
kyverno |
Kyverno with kyverno-policies and Policy Reporter (metrics & UI) |
NA |
☑ |
GeoSpatial services
Name |
Description |
Docker |
K8S |
GeoServer |
Open source server for sharing geospatial data with OGC compliant protocols (WMS, WMTS, WFS) |
☑ |
☑ |
GeoNetwork |
Catalog application to manage spatially referenced resources with OGC compliant protocols (CSW, CSW-T) |
☑ |
☑ |
Mailing
Name |
Description |
Docker |
K8S |
MailHog |
SMTP testing server providing with an API to retrieve emails |
☑ |
☐ |
mailer |
SMTP relay based on namshi/smtp image to send emails using a google account |
☑ |
☐ |
Miscellaneous
License
MIT