Repository navigation
v0.1.0
ProxS3 v0.1.0 -- Initial Alpha Release
Native S3 storage plugin for Proxmox VE. Use any S3-compatible object store (AWS S3, MinIO, Ceph RGW, Cloudflare R2, Wasabi, etc.) as a Proxmox storage backend for ISOs, container templates, snippets, and backups.
What's Included
Go Daemon (proxs3d)
- Unix socket API server for communication with the Perl plugin
- AWS SDK v2 S3 client with support for any S3-compatible endpoint
- Local file cache with ETag-based validation -- S3 is always the source of truth
- LRU cache eviction when configurable size limit is exceeded
- Periodic health checks (every 30s) with automatic online/offline status
- SIGHUP-based config reload (picks up new/changed/removed storages without restart)
- HTTP/HTTPS proxy support for outbound S3 connections
- systemd service with security hardening
Perl Storage Plugin (S3Plugin.pm)
- Registers native
s3storage type in Proxmox VE - Auto-generated configuration UI in the Proxmox web interface
- Secure credential handling -- credentials stored in
/etc/pve/priv/proxs3/(cluster-shared, root-only), never written tostorage.cfg - Support for
iso,vztmpl,snippets, andbackupcontent types - ISO/template upload support via the Proxmox UI
- Lenient activation -- doesn't block Proxmox startup if S3 is temporarily unreachable
- Automatic daemon reload on storage add/update/delete
Debian Packaging
- Single
.debinstalls everything: daemon, plugin, systemd unit, example config - amd64 architecture
Supported Platforms
- Proxmox VE 8.x (Debian Bookworm)
- Proxmox VE 9.x (Debian Trixie)
Supported S3 Providers
- AWS S3
- MinIO
- Ceph RGW
- Cloudflare R2
- Wasabi
- Backblaze B2
- DigitalOcean Spaces
- Any S3-compatible object store
Installation
wget https://github.com/sol1/proxs3/releases/download/v0.1.0/proxs3_0.1.0-1_amd64.deb
dpkg -i proxs3_0.1.0-1_amd64.debSee the README for the full setup guide.
Known Limitations (Alpha)
- No VM disk image (
images) or container rootdir (rootdir) support -- this is by design for file-based content only - Backup support is functional but not yet tested in production workflows
- The Proxmox UI fields are auto-generated from the plugin schema -- functional but not custom-styled
- No multipart upload support for very large files (>5GB) -- planned for a future release
- Cache eviction runs asynchronously and may briefly exceed the configured limit
What's Next
- Multipart upload/download for large files
- Cache pre-warming on daemon startup
- Prometheus metrics endpoint
- Integration test suite with MinIO
Full Changelog: https://github.com/sol1/proxs3/commits/v0.1.0