Most settings are configured via the admin UI (Settings panel). This document covers environment variables, API key setup, and optional integrations.
Copy .env.example to .env and customize for your deployment:
cp .env.example .env
# Edit .env with your settings| Variable | Description | Default |
|---|---|---|
MUSIC_LIBRARY_PATH |
Host path to your music folder (mounted at /music) |
/data/music |
DATABASE_URL |
PostgreSQL connection string | postgresql+asyncpg://... |
REDIS_URL |
Redis connection string | redis://localhost:6379/0 |
FRONTEND_URL |
Base URL for OAuth callbacks | http://localhost:4400 |
S3_BACKUP_ACCESS_KEY_ID |
AWS access key for S3 backup | (none) |
S3_BACKUP_SECRET_ACCESS_KEY |
AWS secret key for S3 backup | (none) |
S3_BACKUP_BUCKET |
S3 bucket name for backups | (none) |
S3_BACKUP_REGION |
AWS region for S3 bucket | us-east-1 |
S3_BACKUP_PREFIX |
Key prefix for backup objects in bucket | (none) |
Important: If accessing Familiar from a remote machine (not localhost), update FRONTEND_URL to use your server's hostname or IP address:
FRONTEND_URL=http://myserver:4400
API keys are configured via environment variables in your .env file (see below). Other settings (community cache, library paths) are in the Settings panel (gear icon).
The Anthropic API powers the AI chat feature, allowing you to ask questions about your music library and get intelligent recommendations.
- Go to console.anthropic.com
- Sign up or log in to your account
- Navigate to Settings → API Keys
- Click Create Key and give it a name (e.g., "Familiar")
- Copy the key (starts with
sk-ant-...) - Add it to your
.envfile asANTHROPIC_API_KEY=sk-ant-...and restart Docker
Pricing note: Anthropic charges per token. Typical music library queries cost fractions of a cent. See anthropic.com/pricing for current rates.
- Go to https://developer.spotify.com/dashboard
- Create a new app
- Set redirect URI to
{FRONTEND_URL}/api/v1/spotify/callback(e.g.,http://localhost:4400/api/v1/spotify/callback) - Copy Client ID and Client Secret
- Add them to your
.envfile asSPOTIFY_CLIENT_IDandSPOTIFY_CLIENT_SECRET, then restart Docker
- Go to https://www.last.fm/api/account/create
- Create a new application
- Copy API Key and API Secret
- Add them to your
.envfile asLASTFM_API_KEYandLASTFM_API_SECRET, then restart Docker
If you access Familiar over Tailscale, you can enable HTTPS for full PWA support (install prompts, background sync, etc.).
-
Enable HTTPS certificates in your Tailscale admin console:
- Go to DNS settings
- Enable "HTTPS Certificates"
-
Use
tailscale serveon your server (easiest method):# Proxy HTTPS to Familiar on port 4400 tailscale serve --bg https / http://localhost:4400 -
Access via HTTPS:
https://your-server.<tailnet-name>.ts.net
This automatically provisions a Let's Encrypt certificate and handles renewal.
Alternative: Manual certificates
If you need cert files for nginx/caddy:
tailscale cert your-server.<tailnet-name>.ts.netThis creates .crt and .key files (you're responsible for renewal every 90 days).
See Tailscale HTTPS docs for more details.
Familiar includes an optional community cache that shares pre-computed audio analysis between users.
How it works:
- When you scan a track, Familiar generates an AcoustID fingerprint
- The fingerprint is hashed (SHA256) - one-way, anonymous, not reversible
- The hash is used to look up pre-computed CLAP embeddings and audio features
- If found, analysis is instant. If not, Familiar computes locally and optionally contributes back
Privacy guarantees:
- Only hashed fingerprints are transmitted - no track names, artists, or file paths
- Fingerprint hashes are one-way - your library contents cannot be determined
- Contribution is opt-in (lookup is enabled by default)
Benefits:
- New installations can skip hours of audio analysis
- Popular tracks are analyzed once across the community
- Your processing helps future users
Configure in Settings (gear icon) under Library > Community Cache.
Familiar can back up your entire music library and configuration to Amazon S3 Glacier Deep Archive for long-term archival storage at ~$1/TB/month.
What gets backed up:
- Audio files from all configured library paths
- Database (tracks, playlists, analysis data)
- Settings and configuration
- Album artwork and music videos
- User profiles and favorites
Setup:
-
Set S3 credentials in your
docker/.envfile:S3_BACKUP_ACCESS_KEY_ID=your-access-key S3_BACKUP_SECRET_ACCESS_KEY=your-secret-key S3_BACKUP_BUCKET=your-bucket-name S3_BACKUP_REGION=us-east-1 S3_BACKUP_PREFIX=familiar/ # optional, organizes files in bucket -
Enable and configure in Settings > Cloud Backup:
- Click "Validate Credentials" to verify your S3 access
- Enable scheduled backups (daily/weekly/monthly)
- Or run a manual backup immediately
-
Restore from the same Settings panel - select a backup snapshot and restore specific components (database, settings, audio files, etc.)
Note: Glacier Deep Archive has a 12-hour retrieval time for restores. Standard retrieval fees apply (~$0.02/GB).