Configuration
Stib is designed to work out of the box with sensible defaults — no configuration is required for basic usage. This page documents the available options for users who want to customize their installation, as well as the update procedure for each installation method.
Server Networking
The Stib server listens on port 50505, bound to all network interfaces (0.0.0.0). The port is not configurable. The maximum request body size is 6 MB.
| Setting | Value |
|---|---|
| Port | 50505 (fixed) |
| Bind address | 0.0.0.0 (all interfaces) |
| Max body size | 6 MB |
Environment Variables
| Variable | Description | Default | Required |
|---|---|---|---|
STIB_ENCRYPTION_KEY | Credential encryption key (AES-256-GCM, hex-encoded 32 bytes) | — | Only if using encrypted credentials |
STIB_SERVER_ORIGIN | Base URL for OIDC callback redirects (e.g., https://stib.example.com) | http://localhost:50505 | Only for OIDC SSO |
STIB_UPDATE_URL | Update checker endpoint URL | — (disabled) | Optional |
RUST_LOG | Logging level (info, debug, warn, error) | info | Optional |
To generate a valid encryption key:
openssl rand -hex 32Data Directory
Stib stores all its data in a data/ directory relative to the working directory (or /app/data inside Docker containers). The directory is created automatically on first run.
data/
├── stib.db # SQLite database (auto-created, WAL mode)
├── logs/ # Rolling daily logs (7 files max)
│ └── stib-YYYY-MM-DD.log
├── backups/ # Database backups
└── attachments/ # Card attachments (per card_id subdirectory)Database
Stib uses a SQLite database stored at data/stib.db. It is created automatically on first run with WAL journal mode enabled for better performance. Database migrations run automatically on every startup — no manual setup is needed.
Logging
Log files are stored in data/logs/ with daily rotation and a maximum of 7 files retained (6 previous days + current day). The default logging level is info, configurable via the RUST_LOG environment variable.
You can view logs in real time from the web UI at the /logs page (accessible when authentication is disabled, or to authenticated users).
INFO
Stib also supports structured log export in CLEF, GELF, and JSON Lines formats, configurable via the web UI settings. This is useful for integration with log aggregation tools.
Authentication
Authentication is disabled by default — no login is required out of the box. You can enable it from the web UI under Settings → Authentication.
When enabled, Stib uses JWT tokens (HS256, 24-hour expiry). OIDC SSO is also available and requires the STIB_SERVER_ORIGIN environment variable for callback URL construction.
TIP
For detailed authentication setup including OIDC provider configuration, see Advanced Configuration.
Backups
Database backups are configurable via the web UI under Settings → Backups. You can set the backup interval (1h, 6h, 12h, or 24h) and the number of backup files to retain. Backups are stored in data/backups/.
TIP
For detailed backup configuration options, see Credentials, Scripts & Backups.
Updating Stib
docker pull enixion/stib-server:latest
docker stop stib && docker rm stib
# Recreate the container with the same options (adjust name and volume to match your setup)
docker run -d \
--name stib \
--restart unless-stopped \
-p 50505:50505 \
-v stib-data:/app/data \
enixion/stib-server:latestdocker compose pull
docker compose up -d# 1. Download the new binary or installer for your platform
# 2. Stop the running server (Ctrl+C, systemctl stop, or launchctl bootout)
# 3. Replace the binary (or run the new installer)
# 4. Start the server again — migrations run automatically# Download the latest version from the download page
# and install it over the existing version.TIP
Your data is safe — the SQLite database and all files in data/ are preserved across updates. For extra safety, back up data/stib.db before updating.
Update Checker
If you set the STIB_UPDATE_URL environment variable, Stib will automatically check for updates:
- First check: 30 seconds after startup
- Subsequent checks: Every 24 hours
- Uses semantic versioning to compare versions
- Shows a notification in the system tray when an update is available (if the system tray is active)
If STIB_UPDATE_URL is not set, update checking is completely disabled.
Health Check
Use the health endpoint to verify that Stib is running:
curl http://localhost:50505/api/healthExpected response:
{"data":{"status":"ok"}}This endpoint requires no authentication and is useful for monitoring tools and load balancers.
Next Steps
TIP
Head to the Advanced Configuration guide to set up OIDC authentication, manage credentials, and configure the system tray.