Self-Hosted Development Pipeline Setup with Docker
Table of Contents
Show me the code
You can find the docker-compose.yml
in this gist https://gist.github.com/johnnolan/09ffb59020202e9e307b7f28289ddadd.
Introduction
This article will briefly show you how to setup a self-hosted local CI/CD pipeline with Git, Docker Registry and Renovate.
- Gitea (GitHub clone)
- Woodpecker CI (CI/CD)
- Docker Registry (Self-hosted Docker Registry)
- Docker Registry UI (Docker Registry UI)
- Renovate (Dependency management)
Setup
I run a Ubuntu Server at home, but this can work on any Docker compatible operating system.
To setup these tools, download this docker compose file and run docker compose up -d
. After a few minutes, all the services will be up and running and awaiting to be configured.
For setup on each you can follow the instructions on each of the links above in the Introduction section. After setup you can reach each service at the following urls
Name | Link |
---|---|
Gitea | http://localhost:3000 |
Woodpecker CI | http://localhost:8000 |
Docker Registry UI | http://localhost:80 |
Code
Renovate
Once you have configured the services you will want to setup Renovate to ensure your dependencies remain up to date. In order to do this you will need to run Renovate in a crontab. I run mine once a day but obviously this is up to you.
Here is the crontab I run each day to go through my repositories.