All Projects → RiFi2k → Dockerize Your Dev

RiFi2k / Dockerize Your Dev

Licence: unlicense
Docker compose a VM to get LetsEncrypt / NGINX proxy auto provisioning, ELK logging, Prometheus / Grafana monitoring, Portainer GUI, and more...

Projects that are alternatives of or similar to Dockerize Your Dev

Nginx Proxy Automation
Automated docker nginx proxy integrated with letsencrypt.
Stars: ✭ 2,302 (+3673.77%)
Mutual labels:  letsencrypt, docker-compose, nginx-proxy
Grafana Prometheus Node Js Example
Step-by-step tutorial on creating beautiful dashboards for your Node JS application
Stars: ✭ 47 (-22.95%)
Mutual labels:  prometheus, grafana, docker-compose
Pingprom
Prometheus uptime monitoring quickstart
Stars: ✭ 107 (+75.41%)
Mutual labels:  prometheus, grafana, docker-compose
Swarmstack
A Docker swarm-based starting point for operating highly-available containerized applications.
Stars: ✭ 181 (+196.72%)
Mutual labels:  prometheus, grafana, portainer
dockerized
🐳 Build once, run anywhere
Stars: ✭ 70 (+14.75%)
Mutual labels:  docker-compose, grafana, nginx-proxy
Htpc Docker Standup
A simple docker-compose based configuration to stand up a new HTPC w/ Plex, Deluge, Sonarr, Radarr and more!
Stars: ✭ 160 (+162.3%)
Mutual labels:  letsencrypt, portainer, nginx-proxy
Docker Traefik Prometheus
A Docker Swarm Stack for monitoring Traefik with Promethues and Grafana
Stars: ✭ 215 (+252.46%)
Mutual labels:  prometheus, grafana, docker-compose
Docker Portainer Letsencrypt
Portainer docker container over SSL Certificate using Let's Encrypt automated by our webproxy docker-compose-letsencrypt-nginx-proxy
Stars: ✭ 141 (+131.15%)
Mutual labels:  letsencrypt, docker-compose, portainer
Containerized Guacamole
Apache Guacamole out of the box compose setup with Nginx Reverse Proxy, Lets Encrypt. Simple and easy deployable with Docker Compose. Uses only Official Guacamole Docker Images
Stars: ✭ 49 (-19.67%)
Mutual labels:  letsencrypt, docker-compose, nginx-proxy
skalogs-bundle
Open Source data and event driven real time Monitoring and Analytics Platform
Stars: ✭ 16 (-73.77%)
Mutual labels:  grafana, prometheus, elk-stack
django-template
The ultimate Django template: production ready Django 3.2 with Docker, HTTPS and CI/CD using Github actions ‎️‍🔥
Stars: ✭ 20 (-67.21%)
Mutual labels:  letsencrypt, grafana, nginx-proxy
Prometheus
A docker-compose stack for Prometheus monitoring
Stars: ✭ 3,383 (+5445.9%)
Mutual labels:  prometheus, grafana, docker-compose
K8s Tew
Kubernetes - The Easier Way
Stars: ✭ 269 (+340.98%)
Mutual labels:  prometheus, grafana, letsencrypt
Swarmlet
A self-hosted, open-source Platform as a Service that enables easy swarm deployments, load balancing, automatic SSL, metrics, analytics and more.
Stars: ✭ 373 (+511.48%)
Mutual labels:  letsencrypt, docker-compose, portainer
Gitlab Docker Letsencrypt
Gitlab CE + Docker Compose + Let's Encrypt (auto generate/renew)
Stars: ✭ 22 (-63.93%)
Mutual labels:  letsencrypt, docker-compose
Hana sql exporter
SAP Hana SQL Exporter for Prometheus
Stars: ✭ 18 (-70.49%)
Mutual labels:  prometheus, grafana
Docker Compose Grafana Influxdb
Demonstration scripts for running Grafana with InfluxDB as datasource.
Stars: ✭ 29 (-52.46%)
Mutual labels:  grafana, docker-compose
Catalyst
Typescript NodeJS Microservices Boilerplate with Generator CLI - Moleculer, GraphQL, REST, OAuth2, Jaeger, Grafana, Prometheus, Ory Hydra, Ory Keto w/ Access Control middleware, Moleculer-DB GraphQL mixin, Pug, Redis, sibling client repo (login, persistance layer, react-native-web, ios, android)
Stars: ✭ 30 (-50.82%)
Mutual labels:  prometheus, grafana
Elastdocker
🐳 Elastic Stack (ELK) on Docker, with preconfigured Security, Tools, Self-Monitoring, and Prometheus Metrics. Up with a Single Command.
Stars: ✭ 883 (+1347.54%)
Mutual labels:  elk-stack, docker-compose
Unifiedmetrics
Fully-featured metrics collection agent for Minecraft servers. Supports Prometheus and InfluxDB. Dashboard included out-of-box.
Stars: ✭ 29 (-52.46%)
Mutual labels:  prometheus, grafana

Dockerize Your Dev

Starting point for turning a single VM into a containerized cloud development suite or lightweight container hosting environment. You can also just take the bones and basically do whatever you want with it.

Deploy any number of docker containers to almost any flavor Linux VM, as long as it supports docker and docker-compose your golden (although some may prove more difficult than others). Currently this repo is being developed on a Ubuntu 18.04 LTS Minimal VM on GCE (n1-standard-2).

All the monthly fees for git, logging, monitoring, error monitoring, alerting, CI, etc etc really start to add up don't they... Well cancel a bunch of monthly fees with me, plus you don't even need to spend 100s of hours debugging to get it all working.

Roadmap

  • [x] Portainer (gui)
  • [x] ELK Stack (logging)
  • [x] Grafana/Prometheus (monitoring)
  • [ ] Gitea (git)
  • [x] Sentry (errors)
  • [ ] Mattermost (chat)
  • [x] NGINX (proxy)
  • [x] LetsEncrypt (safety)
  • [ ] Code Server (editor)
  • [ ] Bit (code)

That is the goal anyways, its all containerized so add or subtract as you see fit.

Unfortunatly this setup with the SSL provisioning is not localhost friendly, also I am not actively supporting installing or running this on anything except a linux VM or if you are slick and run linux as your everyday OS you can get it working locally pretty easily. If you want to try it on Windows be my guest but I bet it won't be fun.

Pre-Setup

  1. On your host VM install docker and docker-compose, if you can't get this going probably this stack is not what your looking for anyways.

  2. On the host make sure /etc/sysctl.conf has vm.max_map_count set to at least 262144 - vm.max_map_count=262144

  3. Point all the subdomains you will be using to the public IP of your host VM, these are examples of what you may want to use.

  • kibana.example.com
  • cadvisor.example.com
  • alertmanager.example.com
  • portainer.example.com
  • grafana.example.com
  • prometheus.example.com
  • sentry.example.com
  1. Go through all the compose.yml files in the root directory and find-replace your configured domains for NGINX/SSLs and email address for LetsEncrypt if you want emails from them about alerts on your SSLs.
find -type f -name "*-compose.yml" | xargs sed -i "s/example.com/yourdomain.com/g"
find -type f -name "*-compose.yml" | xargs sed -i "s/[email protected]/[email protected]/g"
  1. (Optional) Setup / change / remove / add proxy configurations in the proxy/conf.d folder, they will all be mounted inside your NGINX container and used.

Setup

  1. Install the proxy
docker-compose -f proxy-compose.yml up -d
  1. Install the logging
docker-compose -f logging-compose.yml up -d

** Optional ** Setup basic auth for kibana

sudo sh -c "echo -n '[username]:' >> /var/lib/docker/volumes/dockerize-your-dev_htpasswd/_data/kibana.example.com"
sudo sh -c "openssl passwd -apr1 >> /var/lib/docker/volumes/dockerize-your-dev_htpasswd/_data/kibana.example.com"
  1. Install the monitoring
docker-compose -f monitoring-compose.yml up -d

** Optional ** Setup basic auth for cadvisor, alertmanager, and prometheus

sudo sh -c "echo -n '[username]:' >> /var/lib/docker/volumes/dockerize-your-dev_htpasswd/_data/cadvisor.example.com"
sudo sh -c "openssl passwd -apr1 >> /var/lib/docker/volumes/dockerize-your-dev_htpasswd/_data/cadvisor.example.com"
sudo sh -c "echo -n '[username]:' >> /var/lib/docker/volumes/dockerize-your-dev_htpasswd/_data/alertmanager.example.com"
sudo sh -c "openssl passwd -apr1 >> /var/lib/docker/volumes/dockerize-your-dev_htpasswd/_data/alertmanager.example.com"
sudo sh -c "echo -n '[username]:' >> /var/lib/docker/volumes/dockerize-your-dev_htpasswd/_data/prometheus.example.com"
sudo sh -c "openssl passwd -apr1 >> /var/lib/docker/volumes/dockerize-your-dev_htpasswd/_data/prometheus.example.com"
  1. Install the docker GUI
docker-compose -f gui-compose.yml up -d
  1. Visit Portainer configured URL to setup your admin account UN and PW

Sentry

  1. Generate a secret key. Add it to sentry/.env as SENTRY_SECRET_KEY
echo -e "\nSENTRY_SECRET_KEY=$(docker-compose run --rm sentry-base sentry config generate-secret-key)" >> sentry/sentry.env
  1. Build the database. Use the interactive prompts to create a user account
docker-compose -f sentry-compose.yml run --rm sentry-base sentry upgrade
  1. Start it
docker-compose -f sentry-compose.yml up -d

** To Upgrade **

Use the following steps after updating sentry Dockerfile:

docker-compose -f sentry-compose.yml run --rm sentry-web upgrade
docker-compose -f sentry-compose.yml up -d

Basic Auth

sudo sh -c "echo -n '[username]:' >> /var/lib/docker/volumes/dockerize-your-dev_htpasswd/_data/${VIRTUAL_HOST}"
sudo sh -c "openssl passwd -apr1 >> /var/lib/docker/volumes/dockerize-your-dev_htpasswd/_data/${VIRTUAL_HOST}"

Attribution

https://github.com/jwilder/nginx-proxy

https://github.com/buchdag/letsencrypt-nginx-proxy-companion-compose

https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion

https://github.com/vegasbrianc/prometheus

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].