Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mborne/docker-devbox

[DEV] Docker stacks to quickly setup a dev environment and test some tools.
https://github.com/mborne/docker-devbox

cert-manager devops docker homelab k8s kind kubernetes nginx-ingress-controller traefik

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

        

# mborne/docker-devbox

Provides stacks to setup a **container-based development environment** with [Docker](docs/docker.md) or [Kubernetes](docs/kubernetes.md) for some of them.

## Motivation

This is my playground to learn and illustrate how to deploy application with [docker compose](https://docs.docker.com/compose/), [Kustomize](https://kustomize.io/) (`kubectl apply -k`) and [helm](https://helm.sh/).

## Getting started

[Usage with docker](docs/docker.md) :

* [Install docker compose plugin](https://docs.docker.com/compose/install/linux/)
* Create devbox's network : `docker network create devbox`
* Try some stacks, for example :
* [redis](redis/README.md)
* [traefik](traefik/README.md) to get `https://whoami.dev.localhost` instead of `http://localhost:8888`
* [portainer](portainer/README.md) to get a web based UI for docker
* ...

[Usage with Kubernetes](docs/kubernetes.md) :

* Install [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) and [helm](https://helm.sh/docs/intro/install/)
* Configure kubectl to use a [DEV instance](docs/kubernetes-dev.md)

## Stacks

### Load balancer and reverse proxy

| Name | Description | Docker | K8S |
| -------------------------------------------------------------- | --------------------------------------------------------------------------------- | :-----: | :-----: |
| [traefik](traefik/README.md) | A reverse proxy including **configuration discovery** mechanism | ☑ | ☑ |
| [nginx-ingress-controller](nginx-ingress-controller/README.md) | A common alternative to [Traefik](traefik/README.md) for Kubernetes | NA | ☑ |
| [whoami](whoami/README.md) | An helloworld to test/discover load balancers | ☑ | ☑ |
| [cert-manager](cert-manager/README.md) | An helper to generate TLS certificates from various issuers including LetsEncrypt | NA | ☑ |

### Container UI

| Name | Description | Docker | K8S |
| ------------------------------------------------------ | ---------------------------------------------------- | :-----: | :-----: |
| [kubernetes-dashboard](kubernetes-dashboard/README.md) | Web-based UI for Kubernetes clusters | ☑ | ☑ |
| [portainer](portainer/README.md) | Web-based UI for Kubernetes, Docker, Swarm and Nomad | ☑ | ☑ |

### CI/CD pipeline

| Name | Description | Docker | K8S |
| -------------------------------- | --------------------------------------------------------------------------- | :-----: | :-----: |
| [Jenkins](jenkins/README.md) | Open source automation server with hundred of plugins (ansible, jmeter,...) | ☑ | ☑ |
| [ArgoCD](argocd/README.md) | GitOps **continuous delivery** tool for **Kubernetes** | NA | ☑ |
| [SonarQube](sonarqube/README.md) | Centralisation of Code Quality and Code Security metrics | ☑ | ☐ |
| [Vault](vault/README.md) | Secret storage and management server with an API | ☑ | ☐ |

### Authentication

| Name | Description | Docker | K8S |
| ------------------------------ | --------------------------------------------------------------------- | :-----: | :-----: |
| [Keycloak](keycloak/README.md) | Open Source Identity and Access Management providing (**OIDC, SAML**) | ☑ | ☐ |
| [OpenLDAP](openldap/README.md) | OpenLDAP and phpLDAPadmin (**LDAP**) | ☑ | ☐ |

### Storage

| Name | Description | Docker | K8S |
| -------------------------------- | ------------------------------------------------------------------------------------------------------- | :-----: | :----------------------------------------------------------: |
| [MinIO](minio/README.md) | **Object storage** with an **S3** compatible API | ☑ | [☐](https://github.com/mborne/docker-devbox/issues/25) |
| [Nextcloud](nextcloud/README.md) | Open collaborative platform (file storage, talk, calendar,...) | ☑ | ☐ |
| [Nexus](nexus/README.md) | [Nexus Repository Manager](https://help.sonatype.com/repomanager3) to manage binaries & build artifacts | ☑ | ☐ |

### ReadWriteMany

| Name | Description | Docker | K8S |
| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | :-----: | :-----: |
| [nfs-subdir-external-provisioner](nfs-subdir-external-provisioner/README.md) | Use existing NFS server to provide `ReadWriteMany` volumes | NA | ☑ |
| [nfs-demo](nfs-demo/README.md) | Illustrates the use of a "nfs" storage class providing ReadWriteMany support |
| [nfs-server](nfs-server/README.md) | **NFS server** to test [nfs-subdir-external-provisioner](nfs-subdir-external-provisioner/README.md) | ☑ | ☑ |
| [Longhorn](longhorn/README.md) | **Distributed block storage** for Kubernetes providing `ReadWriteMany` volumes | NA | ☑ |

### Database

| Name | Description | Docker | K8S |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------- | :-----: | :-----: |
| [PostGIS](postgis/README.md) | [PostgreSQL](https://www.postgresql.org/) with the spatial extension [PostGIS](https://postgis.net/) | ☑ | ☑ |
| [CloudBeaver](cloudbeaver/README.md) | Server side version of [DBeaver](https://dbeaver.io/) | ☑ | ☐ |
| [Redis](redis/README.md) | [Redis](https://redis.io/) key-value database | ☑ | ☐ |

### Logging and monitoring

Option 1 :

| Name | Description | Docker | K8S |
| ---------------------------------- | ------------------------------------------------------------------------- | :-----: | :-----: |
| [Grafana](grafana/README.md) | Grafana with Loki and Prometheus datasources and dashboards preconfigured | ☑ | ☑ |
| [Prometheus](prometheus/README.md) | Grafana/**Prometheus** for system and monitoring | ☑ | ☑ |
| [Loki](loki/README.md) | Grafana/**Loki** to store logs with Grafana/**Promtail** to ship logs | ☑ | ☑ |

Option 2 (variant of the famous ELK stack) :

| Name | Description | Docker | K8S |
| ---------------------------------- | ------------------------------------------------------------------------------------ | :-----: | :-----: |
| [OpenSearch](opensearch/README.md) | Forked from [ElasticSearch](https://www.elastic.co/fr/elasticsearch/) by AWS | ☑ | ☑ |
| [fluent](fluent/README.md) | [fluent-bit](https://docs.fluentbit.io/manual) sending containers logs to OpenSearch | ☑ | ☑ |

### Security

| Name | Description | Docker | K8S |
| ---------------------------- | ---------------------------------------------------------------- | :----: | :-----: |
| [kyverno](kyverno/README.md) | Kyverno with kyverno-policies and Policy Reporter (metrics & UI) | NA | ☑ |

### GeoSpatial services

| Name | Description | Docker | K8S |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | :-----: | :-----: |
| [GeoServer](geoserver/README.md) | Open source server for sharing **geospatial data** with [OGC](https://www.ogc.org/) compliant protocols (**WMS, WMTS, WFS**) | ☑ | ☑ |
| [GeoNetwork](geonetwork/README.md) | Catalog application to manage spatially referenced resources with [OGC](https://www.ogc.org/) compliant protocols (**CSW, CSW-T**) | ☑ | ☑ |

### Mailing

| Name | Description | Docker | K8S |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------- | :-----: | :-----: |
| [MailHog](mailhog/README.md) | SMTP testing server providing with an API to retrieve emails | ☑ | ☐ |
| [mailer](mailer/README.md) | SMTP relay based on [namshi/smtp](https://hub.docker.com/r/namshi/smtp) image to send emails using a google account | ☑ | ☐ |

### Miscellaneous

| Name | Description | Docker | K8S |
| -------------------------------- | ------------------------------------------------------ | :-----: | :-----: |
| [Wordpress](wordpress/README.md) | The famous [WordPress](https://wordpress.com/) **CMS** | ☑ | ☐ |
| [Matomo](matomo/README.md) | "Google Analytics alternative" | ☑ | ☐ |

## License

[MIT](LICENSE)