Skip to content

Instantly share code, notes, and snippets.

@isennkubilay
Last active July 19, 2024 13:35
Show Gist options
  • Save isennkubilay/052a58b8645e02e3b46ed6c6194f4e3b to your computer and use it in GitHub Desktop.
Save isennkubilay/052a58b8645e02e3b46ed6c6194f4e3b to your computer and use it in GitHub Desktop.
Actively using devops tools

Devops Tools

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.

CyberChef

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

IT-Tools

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

Watchtower

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

DBGate

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

FileBrowser

📂 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

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

Nexus Registry

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

SonarQube

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

Portainer

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

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

Kopia

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

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

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment