My favorite DevOps tools, which I actively use, are:
- Jenkins: An open-source automation server for continuous integration and continuous delivery.
- Docker: A platform for building, packaging, and distributing containerized applications.
- Kubernetes: An open-source container orchestration platform for automating deployment, scaling, and management of containerized applications.
- Ansible: An open-source automation tool for configuration management, application deployment, and task automation.
- Terraform: An open-source infrastructure as code tool for building, changing, and versioning infrastructure safely and efficiently.
- Prometheus: An open-source monitoring and alerting toolkit for collecting and analyzing metrics from various systems.
- Grafana: An open-source analytics and monitoring platform for visualizing metrics from multiple data sources.
- ELK Stack: A combination of Elasticsearch, Logstash, and Kibana for centralized logging and log analysis.
- Git: A distributed version control system for tracking changes in source code during software development.
The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis,
docker run -it -p 8071:80 ghcr.io/gchq/cyberchef:latest
Collection of handy online tools for developers, with great UX.
docker run -d --name it-tools --restart unless-stopped -p 8072:80 corentinth/it-tools:latest
A process for automating Docker container base image updates.
docker run -d --name watchtower --restart always -v /var/run/docker.sock:/var/run/docker.sock -v $HOME/.docker/config.json:/config.json containrrr/watchtower --interval 30 --cleanup
Database manager for MySQL, PostgreSQL, SQL Server, MongoDB, SQLite and others. Runs under Windows, Linux, Mac or as web application.
docker run -it --name dbgate-instance --restart always -p 3010:3000 dbgate/dbgate
📂 Web File Browser
docker run -d --restart=always \
-v /media/filebrowser/srv:/srv \
-v /media/filebrowser/data/filebrowser.db:/database/filebrowser.db \
-v /media/filebrowser/root/settings.json:/config/settings.json \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-e TZ=Europe/Istanbul \
-p 99:80 \
--name filebrowser \
filebrowser/filebrowser:s6
{
"port": 80,
"baseURL": "/",
"address": "",
"log": "stdout",
"database": "/database/database.db",
"root": "/srv",
"allowCommands": true,
"allowEdit": true,
"allowNew": true,
"commands": []
}
Dashy is an open source, highly customizable, easy to use, privacy-respecting dashboard app.
docker compose up -d
---
version: "3.8"
services:
dashy:
# To build from source, replace 'image: lissy93/dashy' with 'build: .'
# build: .
image: lissy93/dashy
container_name: Dashy
# Pass in your config file below, by specifying the path on your host machine
volumes:
- /home/kubilay/Documents/dashy/conf.yml:/app/public/conf.yml
- /home/kubilay/Documents/dashy/icons/:/app/public/item-icons/
ports:
- 4000:80
# Set any environmental variables
environment:
- NODE_ENV=production
# Specify your user ID and group ID. You can find this by running `id -u` and `id -g`
# - UID=1000
# - GID=1000
# Specify restart policy
restart: unless-stopped
# Configure healthchecks
healthcheck:
test: ['CMD', 'node', '/app/services/healthcheck']
interval: 1m30s
timeout: 10s
retries: 3
start_period: 40s
docker run -d --restart=always -p 8081-8089:8081-8089 --name nexusv3-68-1 -v /data/nexus/nexus-data:/nexus-data nexus:3.68.1
Code Quality Tool & Secure Analysis with SonarQube
docker run -d --name sonarqube-community --restart always -p 9001:9000 -p 9093:9092 -v /media/sonarqube/conf:/opt/sonarqube/conf -v /media/sonarqube/data:/opt/sonarqube/data -v /media/sonarqube/logs:/opt/sonarqube/logs -v /media/sonarqube/extensions:/opt/sonarqube/extensions sonarqube:9.6.1-community
Kubernetes and Docker Container Management Software.
docker run -d -p 8020:8000 -p 9443:9443 --name=portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/kubilay/Documents/portainer_data:/data \
portainer/portainer-ee:latest
DevSpace is an open-source developer tool for Kubernetes that lets you develop and deploy cloud-native software faster.
curl -L -o devspace "https://github.com/loft-sh/devspace/releases/latest/download/devspace-linux-amd64" && sudo install -c -m 0755 devspace /usr/local/bin
Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included.
docker-compose up -d
inside container set rclone config
version: '3.7'
services:
kopia:
image: kopia/kopia:latest
hostname: kubilay
container_name: kopia
restart: unless-stopped
privileged: true
ports:
- 51515:51515
# Setup the server that provides the web gui
command:
- server
- start
- --disable-csrf-token-checks
- --insecure
- --address=0.0.0.0:51515
- --server-username=admin
- --server-password=123456
environment:
# Set repository password
KOPIA_PASSWORD: "123456"
USER: "admin"
TZ: Europe/Istanbul
volumes:
# Mount local folders needed by kopia
- /home/Documents/kopia/config:/app/config
- /home/Documents/kopia/cache:/app/cache
- /home/Documents/kopia/logs:/app/logs
# Mount repository location
- /home/Documents/kopia/repository:/repository
# Mount path for browsing mounted snaphots
- /home/Documents/kopia/tmp:/tmp:shared
- /:/data:rw
MinIO is a high-performance, S3 compatible object store. It is built for large scale AI/ML, data lake and database workloads.
docker run -d -p 9000:9000 -p 9002:9001 --name minio \
-v /data:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=ppijcarqewasdfaasdasdhHoe" \
minio/minio server /data --console-address ":9001"
Velero (formerly Heptio Ark) gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes.
velero install --use-node-agent --provider aws --plugins velero/velero-plugin-for-aws:v1.10.0 --bucket k8s --secret-file ./credentials-velero --use-volume-snapshots=false --backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://<minio-ip>:9000
velero backup-location get
velero backup create k8s-cluster-backup --default-volumes-to-fs-backup
velero backup describe k8s-cluster-backup --details
velero restore create --from-backup k8s-cluster-backup
Skaffold handles the workflow for building, pushing and deploying your application, allowing you to focus on what matters most: writing code.
skaffold dev --trigger=manual --default-repo nexus.local:8085
A fancy self-hosted monitoring tool.
docker run -d --restart=always -p 3010:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1