RepoForge.io

Docker

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). ...

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: ...

GitHub Actions CI/CD Python

How to publish Python, Docker, and NPM packages with GitHub Actions

This tutorial shows you how to automatically publish Python, Docker, and NPM packages to a private package registry for CI/CD on RepoForge.io using the official GitHub Action. If you’re wondering why you can’t just use GitHub’s own registry for Python, see Does GitHub Packages support Python? Step 1: Create a GitHub repository You can refer to the example here to see a valid repository setup that works with the options described below. Step 2: Get your RepoForge.io credentials Log into your RepoForge.io account and: ...