padloc/docs/examples/config/example.env

332 lines
11 KiB
Bash

# =============================================================================
# TRANSPORT
#
# Supported backends: http (default)
# =============================================================================
# -----------------------------------------------------------------------------
# HTTP
# -----------------------------------------------------------------------------
# PL_TRANSPORT_BACKEND=http
# PL_TRANSPORT_HTTP_PORT=3000
# PL_TRANSPORT_HTTP_MAX_REQUEST_SIZE=1e9
# PL_TRANSPORT_HTTP_ALLOW_ORIGIN=*
# =============================================================================
# EMAIL
#
# Supported backends: smtp, console (default)
# =============================================================================
# -----------------------------------------------------------------------------
# CONSOLE
#
# Just prints a text version of all emails to stdout
# -----------------------------------------------------------------------------
# PL_EMAIL_BACKEND=console
# -----------------------------------------------------------------------------
# SMTP
#
# Use smtp protocol for sending emails
# -----------------------------------------------------------------------------
# PL_EMAIL_BACKEND=smtp
# PL_EMAIL_SMTP_HOST=localhost
# PL_EMAIL_SMTP_PORT=1025
# PL_EMAIL_SMTP_SECURE=false
# PL_EMAIL_SMTP_IGNORE_TLS=false
# PL_EMAIL_SMTP_USER=""
# PL_EMAIL_SMTP_PASSWORD=""
# PL_EMAIL_SMTP_TEMPLATE_DIR=""
# PL_EMAIL_SMTP_FROM=""
# =============================================================================
# DATA STORAGE
#
# Supported backends: void, memory, leveldb (default), mongodb, postgres
# =============================================================================
# -----------------------------------------------------------------------------
# VOID
#
# Doesn't store anything. All data goes straight into the void.
# -----------------------------------------------------------------------------
# PL_DATA_BACKEND=void
# -----------------------------------------------------------------------------
# MEMORY
#
# Data is stored in memory only
# -----------------------------------------------------------------------------
# PL_DATA_BACKEND=memory
# -----------------------------------------------------------------------------
# LEVELDB
#
# Use embedded leveldb as storage backend: https://github.com/level/level
# -----------------------------------------------------------------------------
# PL_DATA_BACKEND=leveldb
# PL_DATA_LEVELDB_DIR=./data
# -----------------------------------------------------------------------------
# MONGODB
#
# Use mongodb as storage backend: https://github.com/mongodb/node-mongodb-native
# -----------------------------------------------------------------------------
# PL_DATA_BACKEND=mongodb
# PL_DATA_MONGODB_HOST=localhost
# PL_DATA_MONGODB_PORT=27017
# PL_DATA_MONGODB_PROTOCOL=mongodb
# PL_DATA_MONGODB_USERNAME=""
# PL_DATA_MONGODB_PASSWORD=""
# PL_DATA_MONGODB_DATABASE=padloc
# PL_DATA_MONGODB_AUTH_DATABASE=""
# PL_DATA_MONGODB_TLS=false
# PL_DATA_MONGODB_TLS_CAFILE=""
# PL_DATA_MONGODB_ACKNOWLEDGE_WRITES=true
# PL_DATA_MONGODB_MAX_SIZE=""
# PL_DATA_MONGODB_MAX_DOCUMENTS=""
# -----------------------------------------------------------------------------
# POSTGRES
#
# Use postgresql as storage backend: https://www.npmjs.com/package/pg
# -----------------------------------------------------------------------------
# PL_DATA_BACKEND=postgres
# PL_DATA_POSTGRES_HOST=localhost
# PL_DATA_POSTGRES_PORT=5432
# PL_DATA_POSTGRES_DATABASE=padloc
# PL_DATA_POSTGRES_USER=padloc
# PL_DATA_POSTGRES_PASSWORD=""
# PL_DATA_POSTGRES_TLS=false
# PL_DATA_POSTGRES_TLS_CAFILE=""
# PL_DATA_POSTGRES_TLS_REJECT_UNAUTHORIZED=true
# =============================================================================
# ATTACHMENT STORAGE
#
# Supported backends: memory (default), fs, s3
# =============================================================================
# -----------------------------------------------------------------------------
# MEMORY
#
# Attachments are stored in memory only
# -----------------------------------------------------------------------------
# PL_ATTACHMENTS_BACKEND=memory
# -----------------------------------------------------------------------------
# FS
#
# Uses the local file system to store attachments
# -----------------------------------------------------------------------------
# PL_ATTACHMENTS_BACKEND=fs
# PL_ATTACHMENTS_FS_DIR=./attachments
# -----------------------------------------------------------------------------
# S3
#
# Uses a S3-compatible object storage to store attachments
# -----------------------------------------------------------------------------
# PL_ATTACHMENTS_BACKEND=s3
# PL_ATTACHMENTS_S3_ENDPOINT=[required]
# PL_ATTACHMENTS_S3_REGION=[required]
# PL_ATTACHMENTS_S3_ACCESS_KEY_ID=[required]
# PL_ATTACHMENTS_S3_SECRET_ACCESS_KEY=[required]
# PL_ATTACHMENTS_S3_BUCKET=[required]
# =============================================================================
# LOGGING
#
# Supported backends: void (default), mongodb, mixpanel
# =============================================================================
# -----------------------------------------------------------------------------
# VOID
#
# Don't log at all
# -----------------------------------------------------------------------------
# PL_LOGGING_BACKEND=void
# -----------------------------------------------------------------------------
# MONGODB
#
# Use mongodb for log storage
# -----------------------------------------------------------------------------
# PL_LOGGING_BACKEND=mongodb
# PL_LOGGING_MONGODB_HOST=localhost
# PL_LOGGING_MONGODB_PORT=27017
# PL_LOGGING_MONGODB_PROTOCOL=mongodb
# PL_LOGGING_MONGODB_USERNAME=""
# PL_LOGGING_MONGODB_PASSWORD=""
# PL_LOGGING_MONGODB_DATABASE=padloc
# PL_LOGGING_MONGODB_AUTH_DATABASE=""
# PL_LOGGING_MONGODB_TLS=false
# PL_LOGGING_MONGODB_TLS_CAFILE=""
# PL_LOGGING_MONGODB_ACKNOWLEDGE_WRITES=true
# PL_LOGGING_MONGODB_MAX_SIZE=""
# PL_LOGGING_MONGODB_MAX_DOCUMENTS=""
# -----------------------------------------------------------------------------
# POSTGRES
#
# Use postgresql as log storage: https://www.npmjs.com/package/pg
# -----------------------------------------------------------------------------
# PL_LOGGING_BACKEND=postgres
# PL_LOGGING_POSTGRES_HOST=localhost
# PL_LOGGING_POSTGRES_PORT=5432
# PL_LOGGING_POSTGRES_DATABASE=padloc
# PL_LOGGING_POSTGRES_USER=padloc
# PL_LOGGING_POSTGRES_PASSWORD=""
# PL_LOGGING_POSTGRES_TLS=false
# PL_LOGGING_POSTGRES_TLS_CAFILE=""
# PL_LOGGING_POSTGRES_TLS_REJECT_UNAUTHORIZED=true
# -----------------------------------------------------------------------------
# MIXPANEL
#
# Send logs to mixpanel
# -----------------------------------------------------------------------------
# PL_LOGGING_BACKEND=mixpanel
# PL_LOGGING_MIXPANEL_TOKEN=[required]
# PL_LOGGING_MIXPANEL_EXCLUDE_EVENTS=""
# =============================================================================
# AUTHENTICATION
#
# Supported types: email, webauthn_platform, webauthn_portable, totp, public_key, openid
# =============================================================================
# PL_AUTH_TYPES=email,totp
# -----------------------------------------------------------------------------
# EMAIL AUTHENTICATION
#
# Send verfication code via email.
# -----------------------------------------------------------------------------
# By default, this uses the config from PL_EMAIL_...
# To use a different configuration, you can use the same environment variables,
# but prefixed with PL_AUTH_EMAIL_... instead of PL_EMAIL
# -----------------------------------------------------------------------------
# WEBAUTHN
#
# Configuration for webautn authentication types. Required for both
# webauthn_portable and webauthn_platform
# -----------------------------------------------------------------------------
# PL_AUTH_WEBAUTHN_RP_NAME=[required]
# PL_AUTH_WEBAUTHN_RP_ID=[required]
# PL_AUTH_WEBAUTHN_ORIGIN=[required]
# -----------------------------------------------------------------------------
# TOTP
#
# Configration for authentication via time-based one-time passwords
# https://datatracker.ietf.org/doc/html/rfc6238
# -----------------------------------------------------------------------------
# PL_AUTH_TOTP_INTERVAL=30
# PL_AUTH_TOTP_DIGITS=6
# PL_AUTH_TOTP_HASH=SHA-1
# PL_AUTH_TOTP_WINDOW=1
# -----------------------------------------------------------------------------
# OPENID
#
# Configration for authentication via Oauth/OpenID
# -----------------------------------------------------------------------------
# PL_AUTH_OPENID_CLIENT_ID=[required]
# PL_AUTH_OPENID_CLIENT_SECRET=[required]
# PL_AUTH_OPENID_AUTHORIZATION_ENDPOING=[required]
# PL_AUTH_OPENID_TOKEN_ENDPOINT=[required]
# PL_AUTH_OPENID_TOKEN_REDIRECT_URI=[required]
# =============================================================================
# PROVISIONING
#
# Supported backends: simple (default), stripe, directory
# =============================================================================
# -----------------------------------------------------------------------------
# BASIC PROVISIONING
#
# Basic provisioner which allows managing provisioning users and orgs through
# database entries.
# -----------------------------------------------------------------------------
# PL_PROVISIONING_BACKEND=basic
# PL_PROVISIONING_BASIC_DEFAULT_STATUS=active
# PL_PROVISIONING_BASIC_DEFAULT_STATUS_LABEL=""
# PL_PROVISIONING_BASIC_DEFAULT_STATUS_MESSAGE=""
# PL_PROVISIONING_BASIC_DEFAULT_ACTION_URL=""
# PL_PROVISIONING_BASIC_DEFAULT_ACTION_LABEL=""
# -----------------------------------------------------------------------------
# STRIPE PROVISIONING
#
# Manage provisioning via stripe
# -----------------------------------------------------------------------------
# PL_PROVISIONING_BACKEND=stripe
# PL_PROVISIONING_STRIPE_SECRET_KEY=[required]
# PL_PROVISIONING_STRIPE_PUBLIC_KEY=[required]
# PL_PROVISIONING_STRIPE_WEBHOOK_PORT=[required]
# -----------------------------------------------------------------------------
# DIRECTORY PROVISIONING
#
# Manage provisioning via directory (only SCIM supported for now)
# -----------------------------------------------------------------------------
# PL_PROVISIONING_BACKEND=directory
# PL_DIRECTORY_PROVIDERS=scim
# PL_DIRECTORY_SCIM_URL=http://localhost:5000
# PL_DIRECTORY_SCIM_PORT=5000
# =============================================================================
# SERVER
#
# Basic server config
# =============================================================================
# PL_SERVER_CLIENT_URL=http://localhost:8080
# PL_SERVER_REPORT_ERRORS=webmaster@example.com
# PL_SERVER_MAX_REQUEST_AGE=3600000
# PL_SERVER_VERIFY_EMAIL_ON_SIGNUP=true
# PL_SERVER_DEFAULT_AUTH_TYPES=email
# PL_SERVER_DISABLE_SIGNUP=false
# PL_SERVER_SCIM_SERVER_URL=http://localhost:5000
# =============================================================================
# PWA
#
# Config for progressive web app
# =============================================================================
# PL_PWA_PORT=8080
# PL_PWA_DIR=./dist