Если staging загружает аватары, отчёты и тестовые файлы в облачный S3, вы платите за хранилище и трафик, которые на самом деле не нужны. MinIO, open-source сервер объектного хранилища на Go, реализующий API Amazon S3, можно развернуть в Docker на VPS за 10–15 минут и платить только за диск сервера.
Код приложения не меняется: те же SDK,
PutObjectCommand, presigned URL и те же ошибки SignatureDoesNotMatch. Меняются только переменные окружения: endpoint, ключи и флаг forcePathStyle, который нужен большинству S3-совместимых сервисов, включая MinIO и R2.Не отдавайте приложению root-ключи. Создайте отдельного пользователя с IAM-политикой только на нужный бакет, а HTTPS и домен отдайте reverse proxy, Traefik или NGINX, с Let’s Encrypt. Пошаговый разбор — с Docker, бэкапом в холодное хранилище и деталями настройки.
