# ============================================================================= # 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