S3-compatible object storage for Login https://s3.login.no
Find a file
2026-06-27 12:50:12 +02:00
.env.example update README 2026-06-27 12:49:59 +02:00
.gitignore remove old python migration script 2026-06-27 12:50:12 +02:00
docker-compose.yml update README 2026-06-27 12:49:59 +02:00
README.md update README 2026-06-27 12:49:59 +02:00

Login logo

Login S3

RustFS Docker


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