Categories

Tools

How to fix pull access denied for minio/minio in Docker

The pull access denied for minio/minio error appears because MinIO removed its Docker Hub images in September 2026, and quay.io has required an account since the 24th. Point your compose file at cgr.dev/chainguard/minio, at the pgsty/silo fork or at an image built from source: your existing data keeps working.

Tools

How to migrate from MinIO to RustFS 1.0 with Docker

To migrate from MinIO to RustFS 1.0 with Docker, run RustFS next to MinIO, import the users with mc admin cluster iam, copy the buckets with rclone sync --metadata and compare them with rclone check --download. In my test 4,012 objects arrived identical; versions, tags and public access had to be redone by hand.

How to Install

How to migrate from MinIO to Garage with Docker

MinIO images no longer pull from Docker Hub, and the quay.io copy is frozen in 2025. To migrate from MinIO to Garage with Docker, run Garage v2.4.1 next to MinIO, copy the buckets with rclone sync, verify them with rclone check, and switch endpoint, keys and region in your clients.

How to Install

How to install restic for encrypted backups

restic is the encrypted, deduplicated, incremental backup tool I run in production on several servers. A practical guide to installing it on Debian, setting up an S3-compatible repository, automating daily backups with systemd, and verifying that restore actually works before you need it.

Architecture

How to install JuiceFS as a shared filesystem

JuiceFS is a distributed, POSIX-compliant file system that separates data, stored in an S3-compatible object store, from metadata, stored in a database such as PostgreSQL or Redis. This guide installs JuiceFS on a three-node Linux cluster to share files without relying on NFS.

Architecture

Litestream: Near-Real-Time Replication for SQLite

Litestream is an open-source tool that replicates a SQLite database to an S3 bucket in near real time by reading the WAL SQLite already writes. It offers point-in-time recovery, overhead of only 1 to 3% CPU, and replaces the need for a separate database server in small apps.