RepoForge.io

Private repository

Python Docker uv

Installing private Python packages in Docker images

The usual way to get this wrong is to pass your token as a build argument. It works, but docker history shows build args, and a file written in one layer stays in the image even if a later step deletes it. If the image is ever pushed somewhere, so is your token. BuildKit secret mounts avoid that. The secret is available to a single RUN step and is never written to a layer. This needs a reasonably recent Docker (BuildKit with Dockerfile syntax 1.10 or later). ...

Conda Python

How to create a private Conda channel with RepoForge.io

Introduction Conda is a popular package and environment management system primarily used with Python. It’s widely used in data science, scientific computing, AI, and bioinformatics, because it facilitates portability and reproducibility of (data) science workflows. However, if your team needs to host private Conda packages, the typical recommendation is to build and manage your own Conda channel. While self-hosting a Conda channel is possible, it requires ongoing maintenance and infrastructure costs. Surprisingly, major package managers like Artifactory and PackageCloud don’t natively support Conda. ...

Debian APT Docker

How to create and manage Debian packages in a private APT repository

This tutorial covers: Creating a simple Debian package using fpm Uploading it to a private APT repository on RepoForge.io Installing it from RepoForge in a Docker container Step 1 – Create a Debian package For this tutorial, we are going to make a simple hello world application. First, let’s create a working directory called hello, and add a subfolder called usr inside it, then another subfolder called bin inside that. Then, we’re going to add a file called hello inside of the bin folder. Your folder structure should look like this: ...