Skip to main content

PinePods Environment Variables Guide

Complete reference for all PinePods configuration options

Below are all the environment variables supported by PinePods. These should be configured in your docker-compose.yml file or .env file.

Core Application Settings

VariableDefault ValueRequiredDescription
SEARCH_API_URLhttps://search.pinepods.online/api/searchYesExternal URL for the search API that the frontend can access. Set this to your domain + port (e.g., https://yourdomain.com:8000)
PEOPLE_API_URLhttps://people.pinepods.onlineYesExternal URL for the people/person lookup API
HOSTNAMEhttp://localhost:8040YesThe URL where you will access the app. Used for RSS feed sharing and callbacks

Database Configuration

VariableDefault ValueRequiredDescription
DB_TYPEpostgresqlYesDatabase type: postgresql or mariadb
DB_HOSTlocalhostYesDatabase host address
DB_PORT5432 (PostgreSQL) / 3306 (MariaDB)YesDatabase port
DB_USERpostgres (PostgreSQL) / root (MariaDB)YesDatabase username
DB_PASSWORD-YesDatabase password (required)
DB_NAMEpinepods_databaseYesDatabase name

Redis/Valkey Configuration

VariableDefault ValueRequiredDescription
VALKEY_HOSTvalkeyYesValkey/Redis host for caching and sessions
VALKEY_PORT6379YesValkey/Redis port
VALKEY_PASSWORDValkeySecurePassword123!NoValkey/Redis Password if it's setup. Only required with external custom valkey servers

OIDC (OpenID Connect) Configuration

All OIDC variables are optional but must be configured together if using OIDC authentication.

VariableDefault ValueRequiredDescription
OIDC_PROVIDER_NAME-OIDC SetupDisplay name for the OIDC provider
OIDC_CLIENT_ID-OIDC SetupOIDC client ID from your provider
OIDC_CLIENT_SECRET-OIDC SetupOIDC client secret from your provider
OIDC_AUTHORIZATION_URL-OIDC SetupOIDC authorization endpoint URL
OIDC_TOKEN_URL-OIDC SetupOIDC token endpoint URL
OIDC_USER_INFO_URL-OIDC SetupOIDC user info endpoint URL
OIDC_BUTTON_TEXTLogin with OIDCNoText displayed on the OIDC login button
OIDC_SCOPEopenid email profileNoSpace-separated list of OIDC scopes
OIDC_BUTTON_COLOR#000000NoBackground color of the OIDC login button
OIDC_BUTTON_TEXT_COLOR#FFFFFFNoText color of the OIDC login button
OIDC_ICON_SVG-NoSVG icon code for the OIDC button
OIDC_NAME_CLAIM-NoOIDC claim field for user's display name
OIDC_EMAIL_CLAIM-NoOIDC claim field for user's email
OIDC_USERNAME_CLAIM-NoOIDC claim field for username
OIDC_ROLES_CLAIM-NoOIDC claim field for user roles
OIDC_USER_ROLE-NoRole value that grants regular user access
OIDC_ADMIN_ROLE-NoRole value that grants administrator access
OIDC_DISABLE_STANDARD_LOGINfalseNoSet to true to disable username/password login entirely

Initial Admin Account Setup

VariableDefault ValueRequiredDescription
USERNAME-NoInitial admin username (optional, prompts on first boot if not set)
PASSWORD-NoInitial admin password (optional, prompts on first boot if not set)
FULLNAME-NoInitial admin full name
EMAIL-NoInitial admin email address

Logging & Debugging

VariableDefault ValueRequiredDescription
DEBUG_MODEfalseNoEnable debug logging and features
RUST_LOG-NoRust-specific logging level

Container & System Settings

VariableDefault ValueRequiredDescription
PUID1000NoUser ID for file permissions
PGID1000NoGroup ID for file permissions

Quick Setup Guides

Essential Variables for Any Setup

# Database (required)
DB_TYPE: postgresql # or mariadb
DB_HOST: db
DB_PORT: 5432 # or 3306 for MariaDB
DB_USER: postgres # or root for MariaDB
DB_PASSWORD: "your_secure_password"
DB_NAME: pinepods_database

# Valkey/Redis (required)
VALKEY_HOST: valkey
VALKEY_PORT: 6379

# External APIs (required)
SEARCH_API_URL: "https://yourdomain.com:8000/api/search"
PEOPLE_API_URL: "https://people.pinepods.online"
HOSTNAME: "https://yourdomain.com:8040"

Complete OIDC Setup Example

# Basic OIDC Configuration
OIDC_PROVIDER_NAME: "My Company SSO"
OIDC_CLIENT_ID: "your-client-id"
OIDC_CLIENT_SECRET: "your-client-secret"
OIDC_AUTHORIZATION_URL: "https://auth.company.com/oauth2/authorize"
OIDC_TOKEN_URL: "https://auth.company.com/oauth2/token"
OIDC_USER_INFO_URL: "https://auth.company.com/oauth2/userinfo"

# Optional OIDC Customization
OIDC_BUTTON_TEXT: "Login with Company SSO"
OIDC_SCOPE: "openid email profile groups"
OIDC_BUTTON_COLOR: "#1a365d"
OIDC_BUTTON_TEXT_COLOR: "#ffffff"

# Role Mapping
OIDC_ROLES_CLAIM: "groups"
OIDC_USER_ROLE: "pinepods-users"
OIDC_ADMIN_ROLE: "pinepods-admins"

# Disable standard login (optional)
OIDC_DISABLE_STANDARD_LOGIN: true

Legend

  • Yes: Required for basic functionality
  • OIDC Setup: Required if using OIDC authentication
  • Email Setup: Required if using email features
  • No: Optional enhancement%