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.

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.