{{tag>linux docker It-tools Dockge Loki}}
======Docker Miscellaneous=====
=====IT-TOOLS=====
Useful tools for developer and people working in IT.
++++docker-compose.yml|
---
services:
it-tools:
image: 'corentinth/it-tools:latest'
#ports:
# - '8080:80'
restart: unless-stopped
container_name: it-tools
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.it-tools.entrypoints=http"
- "traefik.http.routers.it-tools.rule=Host(`it-tools.local.kptree.net`)"
#- "traefik.http.middlewares.it-tools-https-redirect.redirectscheme.scheme=https"
#- "traefik.http.routers.it-tools.middlewares=it-tools-https-redirect"
- "traefik.http.routers.it-tools.middlewares=secured@file"
- "traefik.http.routers.it-tools-secure.entrypoints=https"
- "traefik.http.routers.it-tools-secure.rule=Host(`it-tools.local.kptree.net`)"
- "traefik.http.routers.it-tools-secure.tls=true"
- "traefik.http.routers.it-tools-secure.tls.certresolver=hurricane"
- "traefik.http.routers.it-tools-secure.service=it-tools"
- "traefik.http.services.it-tools.loadbalancer.server.port=80"
networks:
proxy:
external: true
++++
Remember to add URL to local DNS.
====References====
++++|
*Github
*[[https://github.com/CorentinTh/it-tools|IT-Tools]]
*[[https://github.com/JamesTurland/JimsGarage/tree/main/IT-Tools|JimsGarage IT-Tools]]
++++
=====CyberChef=====
The Cyber Swiss Army Knife
CyberChef is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser.
++++docker-compose.yml|
---
services:
CyberChef:
image: 'ghcr.io/gchq/cyberchef:latest'
#ports:
# - '8080:80'
restart: unless-stopped
container_name: cyber-chef
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.cyber-chef.entrypoints=http"
- "traefik.http.routers.cyber-chef.rule=Host(`cyber-chef.local.kptree.net`)"
#- "traefik.http.middlewares.cyber-chef-https-redirect.redirectscheme.scheme=https"
#- "traefik.http.routers.cyber-chef.middlewares=cyber-chef-https-redirect"
- "traefik.http.routers.dockge-secure.middlewares=secured@file"
- "traefik.http.routers.cyber-chef-secure.entrypoints=https"
- "traefik.http.routers.cyber-chef-secure.rule=Host(`cyber-chef.local.kptree.net`)"
- "traefik.http.routers.cyber-chef-secure.tls=true"
- "traefik.http.routers.cyber-chef-secure.tls.certresolver=hurricane"
- "traefik.http.routers.cyber-chef-secure.service=cyber-chef"
- "traefik.http.services.cyber-chef.loadbalancer.server.port=80"
networks:
proxy:
external: true
++++
Remember to add URL to local DNS.
====References====
++++|
*Github
*[[https://github.com/gchq/CyberChef|CyberChef]]
++++
=====Dockge=====
A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.
++++docker-compose.yml|
---
services:
dockge:
image: louislam/dockge:1
restart: unless-stopped
# ports:
# # Host Port : Container Port
# - 5001:5001
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
# If you want to use private registries, you need to share the auth file with Dockge:
# - /root/.docker/:/root/.docker
# Stacks Directory
# ⚠️ READ IT CAREFULLY. If you did it wrong, your data could end up writing into a WRONG PATH.
# ⚠️ 1. FULL path only. No relative path (MUST)
# ⚠️ 2. Left Stacks Path === Right Stacks Path (MUST)
- /mnt/docker_store:/mnt/docker_store
environment:
# Tell Dockge where is your stacks directory
- DOCKGE_STACKS_DIR=/mnt/docker_store
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
#- "traefik.http.routers.dockge.entrypoints=http"
#- "traefik.http.routers.dockge.rule=Host(`dockge.local.kptree.net`)"
#- "traefik.http.routers.dockge-secure.middlewares=https-redirectscheme@file"
#- "traefik.http.routers.dockge-secure.middlewares=middlewares-secure-headers@file"
- "traefik.http.routers.dockge-secure.middlewares=secured@file"
- "traefik.http.routers.dockge-secure.entrypoints=https"
- "traefik.http.routers.dockge-secure.rule=Host(`dockge.local.kptree.net`)"
- "traefik.http.routers.dockge-secure.tls=true"
- "traefik.http.routers.dockge-secure.tls.certresolver=hurricane"
- "traefik.http.routers.dockge-secure.service=dockge"
- "traefik.http.services.dockge.loadbalancer.server.port=5001" # make sure the loadbalancer is the last line!!!
networks:
proxy:
external: true
++++
Remember to add URL to local DNS.
====References====
++++|
*github
*[[https://github.com/louislam/dockge|dockge]]
*[[https://dockge.kuma.pet/||dockge kuma pet?]]
++++
=====Grafana=====
Grafana is an open-source analytics platform that makes visualizing your data an easy process. The tool can even send you alerts based on the data it has processed. It has become a tool that is often utilized in monitoring stacks.
====References====
++++|
*[[https://grafana.com/|Grafana]]
*[[https://grafana.com/docs/grafana/latest/introduction/|About]]
*[[https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/|Run Grafana Docker image]]
*[[https://grafana.com/docs/grafana/latest/setup-grafana/configure-docker/|Config Grafana Docker]]
*[[https://grafana.com/grafana/dashboards/|Dashboards]]
*[[https://grafana.com/grafana/dashboards/17346-traefik-official-standalone-dashboard/|trafik]] | [[https://grafana.com/solutions/traefik/monitor/?pg=dashboards&plcmt=traefik-official-standalone-dashboard|traefik]]
*[[https://pimylifeup.com/grafana-docker/|Setting up Grafana using Docker Compose]]
*[[https://medium.com/@syed_usman_ahmed/using-grafana-with-docker-part-1-2a5503bbc49b|Using Grafana with Docker Part 1]] | [[https://medium.com/@syed_usman_ahmed/using-grafana-with-docker-part-2-85883d833867|Deploy Grafana latest version with Docker — Part 2]]
++++
=====Loki - Logging=====
Loki is Grafana’s log aggregation component.
My first attempt at using Loki caused my Docker to fail!. I have not tried since.
====References====
++++|
*[[https://www.baeldung.com/ops/grafana-loki|Introduction to Grafana Loki]]
*[[https://www.tech-couch.com/post/forwarding-docker-container-logs-to-grafana-loki|Forwarding docker container logs to Grafana Loki]]
*[[https://daniel.es/blog/centralize-and-visualize-docker-logs-in-grafana-with-loki/|Centralize and visualize Docker logs in Grafana with Loki]]
*[[https://grafana.com/docs/loki/latest/send-data/docker-driver/|Grafana Docker driver client]]
*[[https://docs.docker.com/reference/cli/docker/plugin/enable/|docker plugin enable]]
*[[https://github.com/grafana/loki/issues/974|docker plugin enable Loki gives an error #974]]
++++
=====watchtower=====
With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry.
++++watchtower can be run with|
$ docker run --detach \
--name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
++++
====reference====
*[[https://github.com/containrrr/watchtower|watchtower]] github page
*Main [[https://containrrr.dev/watchtower/|watchtower]] web page
*See watchtower [[https://containrrr.dev/watchtower/container-selection/|container selection]] on how to use labels in containers to make watchtower explicitly exclude, include or monitor only.
*Linux handbook notes on [[https://linuxhandbook.com/watchtower/|watchtower]]
<- docker_notes:nginx-php-notes|Back ^ docker_notes:index|Start page ^ |End->