Skip to content

mborne/docker-devbox

Repository files navigation

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

Name Description Docker K8S
nfs-subdir-external-provisioner Use existing NFS server to provide ReadWriteMany volumes NA
nfs-demo Illustrates the use of a "nfs" storage class providing ReadWriteMany support
nfs-server NFS server to test nfs-subdir-external-provisioner
Longhorn Distributed block storage for Kubernetes providing ReadWriteMany volumes NA

Database

Name Description Docker K8S
PostGIS PostgreSQL with the spatial extension PostGIS
CloudBeaver Server side version of DBeaver
Redis Redis key-value 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) :

Name Description Docker K8S
OpenSearch Forked from ElasticSearch by AWS
fluent fluent-bit sending containers logs to OpenSearch

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

Name Description Docker K8S
Wordpress The famous WordPress CMS
Matomo "Google Analytics alternative"

License

MIT