This guide explains how to set up PocketBase for the WarframeTools app authentication and data sync.
- PocketBase 0.23.2 or later
- SMTP credentials (for password reset and verification)
docker run -d \
--name pocketbase \
-p 8090:8090 \
-v pb_data:/pb/data \
pocketbase/pocketbase:latest \
serve --http=0.0.0.0:8090./pocketbase serveAccess the admin UI at: http://localhost:8090/_/
- Navigate to
http://localhost:8090/_/ - Click "Create a new admin account"
- Enter your admin credentials (email/password)
- Log in with your admin account
The users collection should exist by default. Configure it as follows:
Fields:
| Field Name | Type | Required | Unique | Notes |
|---|---|---|---|---|
| Yes | Yes | Primary identity | ||
| username | Text | No | Yes | Display name |
| verified | Bool | No | No | Default false |
| avatarUrl | URL | No | No | Profile picture link |
| relics_owned | Json | No | No | Sparse relic counters data |
API Rules:
| Rule Type | Rule |
|---|---|
| List/View | @request.auth.id != "" |
| Create | @request.auth.id = "" (public registration) |
| Update | id = @request.auth.id |
| Delete | id = @request.auth.id |
Purpose: Read-only relic metadata (synced from bundled data)
Fields:
| Field Name | Type | Required | Notes |
|---|---|---|---|
| gid | Text | Yes | Unique identifier (e.g., "lith_a1") |
| name | Text | Yes | Display name |
| imageUrl | URL | No | Link to relic image |
| type | Select | Yes | Options: lith, meso, neo, axi, requiem |
| unvaulted | Bool | No | Default false |
API Rules:
| Rule Type | Rule |
|---|---|
| List/View | "" (public read-only) |
| Create/Update/Delete | @request.auth.id != "" (admin only) |
Update your .env file:
POCKETBASE_URL=http://localhost:8090
# For production:
# POCKETBASE_URL=https://your-production-domain.comFor email verification and password reset:
-
Go to PocketBase Settings > Mail settings
-
Configure SMTP:
SMTP Host: smtp.gmail.com (or your provider) SMTP Port: 587 SMTP Username: your-email@gmail.com SMTP Password: your-app-password -
Or use a service like SendGrid, Mailgun, etc.
- Create a test user via the app's sign-up flow
- Try logging in with credentials
// users collection - allow self-update only
Update: @request.auth.id = @request.id
// Ensure users only see/modify their own record
List/View: @request.auth.id != ""Configure in PocketBase settings to prevent abuse.
Always use HTTPS in production for:
- PocketBase server
- OAuth redirect URIs
access to relics_info and avatars
3. Confirm network connectivity
- Enable HTTPS
- Configure proper CORS settings
- Set strong API rules
- Enable email verification (optional)
- Configure backup strategy
- Set up monitoring
# Production
POCKETBASE_URL=https://api.warframetools.example.com# Backup PocketBase data
docker cp pocketbase:/pb/pb_data ./backup_pb_data
# Restore
docker cp ./backup_pb_data pocketbase:/pb/pb_data