Open source self-hosted S3 portal

Manage files in S3 with a flow your team can actually use.

Connect your S3 credentials, upload and share files, and manage team access from one clean UI.

Zero fluff

What S3 Portal does

S3 Portal is a production-grade, self-hosted file management portal for teams. You bring your own AWS credentials, and the portal handles uploads, sharing, access control, and audit trails.

Files go directly from the browser to S3; nothing ever touches your server. That gives teams full control over storage while keeping the day-to-day workflow usable.

Direct S3 Integration

Connect any S3-compatible provider and keep your data on infrastructure you already control.

Zero-Trust Security

Role-based access with audit logs, encrypted credentials, and no plaintext storage of secrets.

Parallel Uploads

Blazing fast multipart transfers for large files without routing uploads through your app server.

Quick setup

Self-hosting steps

1

Download

Fetch compose and environment template files.

Command

curl -LO https://github.com/mayurG2299/s3-portal/raw/main/docker-compose.yml
curl -LO https://github.com/mayurG2299/s3-portal/raw/main/.env.example
2

Configure

Create .env and fill required values (DB URL and secrets).

Command

cp .env.example .env
export NEXTAUTH_SECRET=$(openssl rand -base64 32)
export ENCRYPTION_KEY=$(openssl rand -base64 32 | cut -c1-32)
nano .env
3

Start

Start all services with Docker Compose.

Command

docker compose up -d