DevOps CI/CD Stack
Advanced4 apps

DevOps CI/CD Stack

Self-hosted Git, CI/CD, and container management

Overview

A complete self-hosted DevOps pipeline. Gitea as a lightweight Git server, Drone CI for continuous integration, Portainer for Docker management, and Traefik as the edge router with automatic SSL.

Included Applications (4)

G

Gitea

45.0k

A painless, self-hosted, all-in-one software development service. Lightweight code hosting solution.

GoMIT
D

Drone CI

32.0k

A self-service Continuous Integration platform for busy development teams. Container-native CI/CD.

GoApache-2.0
P

Portainer

31.0k

Making Docker and Kubernetes management easy. A universal container management platform.

GoZlib
T

Traefik

51.0k

The Cloud Native Application Proxy. A modern HTTP reverse proxy and load balancer for microservices.

GoMIT

Docker Compose

version: '3.8'
services:
  traefik:
    image: traefik:v3.0
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - traefik_data:/letsencrypt
    command:
      - "--providers.docker=true"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.letsencrypt.acme.email=you@email.com"
    restart: always

  gitea:
    image: gitea/gitea:latest
    ports:
      - "3000:3000"
      - "222:22"
    volumes:
      - gitea_data:/data
    restart: always

  drone:
    image: drone/drone:2
    ports:
      - "8080:80"
    environment:
      DRONE_GITEA_SERVER: http://gitea:3000
      DRONE_SERVER_HOST: drone.yourdomain.com
      DRONE_SERVER_PROTO: https
    volumes:
      - drone_data:/data
    restart: always

  portainer:
    image: portainer/portainer-ce:latest
    ports:
      - "9443:9443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    restart: always

volumes:
  traefik_data:
  gitea_data:
  drone_data:
  portainer_data:

Setup Guide

1

Set up DNS records pointing to your server

2

Configure Traefik with your email for Let's Encrypt

3

Deploy with docker-compose up -d

4

Set up Gitea and create your first repository

5

Configure Drone CI and link it to Gitea

6

Use Portainer to monitor and manage all containers