mirror of
https://github.com/login-linjeforeningen-for-it/s3.git
synced 2026-09-03 06:11:49 +00:00
S3-compatible object storage for Login
https://s3.login.no
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| README.md | ||
Login S3
S3-compatible object storage for Login, running on RustFS. The console (spaces.login.no) uses Authentik for SSO.
Endpoints
| Service | URL |
|---|---|
| S3 API | https://s3.login.no (local port 9100) |
| Console | https://spaces.login.no (local port 9101, NTNU/VPN only) |
First Run
cp .env.example .env
openssl rand -base64 48
Put the generated value in RUSTFS_SECRET_KEY. Fill in the Authentik OIDC values (see Configuration or grab from 1Password), then start:
docker compose up -d
Configuration
All variables go in the root .env file.
Credentials
| Name | Example / Default | Notes |
|---|---|---|
RUSTFS_ACCESS_KEY |
login-s3-admin |
Admin access key |
RUSTFS_SECRET_KEY |
Admin secret key (openssl rand -base64 48) |
Authentik OIDC (console SSO)
| Name | Default / Example | Notes |
|---|---|---|
AUTHENTIK_URL |
https://authentik.login.no |
Authentik base URL |
AUTHENTIK_APPLICATION_SLUG |
s3 |
Authentik application slug |
AUTHENTIK_ALLOWED_GROUP |
s3 |
Authentik group allowed to access the console |
AUTHENTIK_API_TOKEN |
Authentik API token | |
RUSTFS_IDENTITY_OPENID_ENABLE |
on |
Enable OIDC login in the console |
RUSTFS_IDENTITY_OPENID_CONFIG_URL |
https://authentik.login.no/application/o/s3/.well-known/openid-configuration |
OIDC discovery URL |
RUSTFS_IDENTITY_OPENID_CLIENT_ID |
OAuth2 client ID from Authentik | |
RUSTFS_IDENTITY_OPENID_CLIENT_SECRET |
OAuth2 client secret from Authentik | |
RUSTFS_IDENTITY_OPENID_SCOPES |
openid,profile,email |
Requested OIDC scopes |
RUSTFS_IDENTITY_OPENID_REDIRECT_URI |
https://spaces.login.no/rustfs/admin/v3/oidc/callback/default |
OAuth2 redirect URI |
RUSTFS_IDENTITY_OPENID_REDIRECT_URI_DYNAMIC |
off |
Set to on to derive redirect URI from the request |
RUSTFS_IDENTITY_OPENID_CLAIM_NAME |
groups |
Token claim used for group membership |
RUSTFS_IDENTITY_OPENID_GROUPS_CLAIM |
groups |
Groups claim name |
RUSTFS_IDENTITY_OPENID_ROLE_POLICY |
consoleAdmin |
RustFS policy granted to authenticated users |
RUSTFS_IDENTITY_OPENID_DISPLAY_NAME |
Authentik |
Label shown on the SSO login button |
Operations
docker compose pull
docker compose up -d
docker compose logs -f rustfs
Keep .env and object data out of git.
Project Structure
docker-compose.yml- RustFS service definition.env.example- Template for required credentials