/docker-devbox

[DEV] Docker stacks to quickly setup a dev environment and test some tools.

Primary LanguageShellMIT LicenseMIT

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 Community developed LDAP software

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
Longhorn Distributed block storage for Kubernetes providing ReadWriteMany volumes NA
nfs-server-provisioner Deploy a NFS server to provide ReadWriteMany volumes NA
nfs-subdir-external-provisioner Use existing NFS server to provide ReadWriteMany volumes NA
nfs-server NFS server to test nfs-subdir-external-provisioner

Database

Name Description Docker K8S
PostGIS PostgreSQL with the spatial extension PostGIS
CloudBeaver Server side version of DBeaver
adminer Database management in a single PHP file
Redis Redis key-value database

Logs and monitoring

Name Description Docker K8S
Grafana Grafana with Loki and Prometheus datasources
Prometheus Grafana/Prometheus for system and monitoring
Loki Grafana/Loki with promtail to index logs
Kibana ELK - User Interface
OpenSearch Forked from Elasticsearch by AWS
Elasticsearch ELK - Log storage and indexation
Netdata A monitoring tool with an easy setup

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