Facet

Facet

Docker app from jesposito's Repository

Overview

Facet is a self-hosted personal profile platform. Create multiple views of your professional profile for different audiences (recruiters, conferences, clients) and own all of your data.

Each view is a curated slice of your full profile: a recruiter sees roles and references, a conference organizer sees talks and bio, a client sees portfolio and rates. You decide what each audience sees and they only see what you've shared.

First-time login: visit /admin, sign in with the first email from Admin Emails (or admin@example.com if blank) and the seeded password printed in the container logs. You will be forced to set a new password immediately.

Features:

  • Multiple profile views per person
  • OAuth login via Google or GitHub (optional)
  • Optional AI assist via OpenAI, Anthropic, or local Ollama
  • All data stays on your server
  • Single Docker container, embedded SQLite database

Runtime arguments

Web UI
http://[IP]:[PORT:8080]/
Network
bridge
Shell
sh
Privileged
false

Template configuration

Web UI PortPorttcp

Host port mapped to the Facet web UI (Caddy listens on 8080 inside the container).

Target
8080
Default
8080
Value
8080
App DataPathrw

Path to app data (SQLite database and configuration). Include this in backups.

Target
/data
Default
/mnt/user/appdata/facet/data
Value
/mnt/user/appdata/facet/data
Uploads StoragePathrw

Path to uploaded images and files.

Target
/uploads
Default
/mnt/user/appdata/facet/uploads
Value
/mnt/user/appdata/facet/uploads
Public URLVariable

Public URL for Facet (e.g. http://YOUR-SERVER-IP:8080 or https://facet.example.com). REQUIRED if you want OAuth sign-in or to share profile links externally. Used as the OAuth callback host and the base for share URLs.

Target
APP_URL
Admin EmailsVariable

Comma-separated email allowlist for OAuth login. Leave empty to allow any email.

Target
ADMIN_EMAILS
Behind ProxyVariable

Set to true if running behind a reverse proxy (NPMplus, Traefik, Cloudflare Tunnel).

Target
TRUST_PROXY
Default
false
Value
false
OAuth - Google - Client IDVariable

Client ID for Sign in with Google. Redirect URI: YOUR_URL/api/oauth2-redirect

Target
GOOGLE_CLIENT_ID
OAuth - Google - Client SecretVariable

Client secret from Google Cloud Console.

Target
GOOGLE_CLIENT_SECRET
OAuth - GitHub - Client IDVariable

Client ID for Sign in with GitHub. Redirect URI: YOUR_URL/api/oauth2-redirect

Target
GITHUB_CLIENT_ID
OAuth - GitHub - Client SecretVariable

Client secret from GitHub OAuth Apps.

Target
GITHUB_CLIENT_SECRET
AI - OpenAI - API KeyVariable

API key for OpenAI assist (optional).

Target
OPENAI_API_KEY
AI - Anthropic - API KeyVariable

API key for Anthropic assist (optional).

Target
ANTHROPIC_API_KEY
AI - Ollama - URLVariable

URL for local Ollama instance (e.g. http://192.168.1.100:11434).

Target
OLLAMA_BASE_URL
AI - Ollama - ModelVariable

Ollama model name.

Target
OLLAMA_MODEL
Default
llama3.2
Value
llama3.2
PUIDVariable

User ID for file permissions.

Default
99
Value
99
PGIDVariable

Group ID for file permissions.

Default
100
Value
100
Admin UI EnabledVariable

Enable PocketBase admin UI at /_/ for debugging. Leave false in production.

Target
ADMIN_ENABLED
Default
false
Value
false

Details

Repository
ghcr.io/jesposito/facet:latest
Last Updated2026-05-31
First Seen2026-01-21

Run Facet on Unraid.

Facet is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.