What if you could run a single container to host your .deb
, .rpm
, Docker images, and Helm charts—without the overhead of setting up a full artifact manager like Nexus or Artifactory?
This idea started with a simple goal: reduce complexity in self-hosted infrastructure. I needed a unified repo that would be:
- Lightweight: Run anywhere with Docker
- Self-contained: No external dependencies
- Multi-purpose: Support the most common packaging formats in one place
So I built exactly that.
A Unified Artifact Repository
The container I created serves as a multi-protocol artifact repository. It handles:
- APT (Debian) repositories for
.deb
packages - YUM/DNF (Red Hat) repositories for
.rpm
packages - Helm chart repositories for Kubernetes deployments
- Docker Registry v2 compatible endpoints for image hosting
All in a single Dockerfile
.
No glue scripts. No multiple services. Just one clean container that can be dropped into any GitOps or CI/CD pipeline.
GitLab-Compatible, But Not GitLab-Bound
While I tested and showcased this container using GitLab CI/CD (as seen in my recent posts), it's not tied to GitLab. It works anywhere Docker containers run—whether that’s a home lab, a cloud VM, or inside Kubernetes.
Why This Matters
This project was born out of real pain: managing too many different tools for different artifact types. If you've ever had to set up S3-backed Helm repos, host private Docker registries, or deal with GPG-signed .deb
packages—you know the sprawl.
By consolidating these into a single endpoint, you:
- Reduce maintenance surface area
- Improve developer onboarding
- Simplify CI/CD configurations
- Own your own supply chain
How to Use It
For full setup details, configuration, and source code, visit the GitLab repo:
👉 gitlab.com/jlcox70/repository-server
No comments:
Post a Comment