From c05122e5fbff993f5ddff901ece69256c704af27 Mon Sep 17 00:00:00 2001 From: Hezron Karani <58668109+hkarani@users.noreply.github.com> Date: Wed, 17 Sep 2025 23:16:54 +0300 Subject: [PATCH] chore: reorder .env for a common block for .env only settings (#3350) --- .env.example | 147 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 88 insertions(+), 59 deletions(-) diff --git a/.env.example b/.env.example index 0de8de26..0f5e3f6e 100644 --- a/.env.example +++ b/.env.example @@ -1,11 +1,95 @@ #For more information on .env files, their content and format: https://pypi.org/project/python-dotenv/ +###################################### +###### .env ONLY SETTINGS ############ +###################################### +# The following settings are ONLY set in your .env file. +# They are NOT managed by the Admin UI and are not stored in the database. + +# === Logging and Development === + +DEBUG=False +DEBUG_DATABASE=False +BUNDLE_ASSETS=True + +# logging into LNBITS_DATA_FOLDER/logs/ +ENABLE_LOG_TO_FILE=true + +# https://loguru.readthedocs.io/en/stable/api/logger.html#file +LOG_ROTATION="100 MB" +LOG_RETENTION="3 months" + +# for database cleanup commands +# CLEANUP_WALLETS_DAYS=90 + +# === Admin Settings === + +# Enable Admin GUI, available for the first user in LNBITS_ADMIN_USERS if available. +# Warning: Enabling this will make LNbits ignore most configurations in file. Only the +# configurations defined in `ReadOnlySettings` will still be read from the environment variables. +# The rest of the settings will be stored in your database and you will be able to change them +# only through the Admin UI. +# Disable this and clear `settings` table from database to make LNbits use this config file again. +LNBITS_ADMIN_UI=true + +HOST=127.0.0.1 +PORT=5000 +# VERSION= +# USER_AGENT= + +# === LNbits === + +# Database: to use SQLite, specify LNBITS_DATA_FOLDER +# to use PostgreSQL, specify LNBITS_DATABASE_URL=postgres://... +# to use CockroachDB, specify LNBITS_DATABASE_URL=cockroachdb://... +# for both PostgreSQL and CockroachDB, you'll need to install +# psycopg2 as an additional dependency +LNBITS_DATA_FOLDER="./data" +# LNBITS_DATABASE_URL="postgres://user:password@host:port/databasename" + +# Extensions to be installed by default. If an extension from this list is uninstalled then it will be re-installed on the next restart. +# The extension must be removed from this list in order to not be re-installed. +LNBITS_EXTENSIONS_DEFAULT_INSTALL="tpos" + +# LNBITS_EXTENSIONS_MANIFESTS="https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/extensions.json,https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/extensions-trial.json" +# GitHub has rate-limits for its APIs. The limit can be increased specifying a GITHUB_TOKEN +# LNBITS_EXT_GITHUB_TOKEN=github_pat_xxxxxxxxxxxxxxxxxx + +# which fundingsources are allowed in the admin ui +# LNBITS_ALLOWED_FUNDING_SOURCES="VoidWallet, FakeWallet, CoreLightningWallet, CoreLightningRestWallet, LndRestWallet, EclairWallet, LndWallet, LnTipsWallet, LNPayWallet, LNbitsWallet, BlinkWallet, AlbyWallet, ZBDWallet, PhoenixdWallet, OpenNodeWallet, NWCWallet, BreezSdkWallet, BoltzWallet, StrikeWallet, CLNRestWallet" + +# uvicorn variable, allow https behind a proxy +# IMPORTANT: this also needs the webserver to be configured to forward the headers +# http://docs.lnbits.org/guide/installation.html#running-behind-an-apache2-reverse-proxy-over-https +FORWARDED_ALLOW_IPS="*" + +# Path where extensions will be installed (defaults to `./lnbits/`). +# Inside this directory the `extensions` and `upgrades` sub-directories will be created. +# LNBITS_EXTENSIONS_PATH="/path/to/some/dir" + +# ID of the super user. The user ID must exist. +# SUPER_USER="" + +# LNBITS_TITLE="LNbits API" +# LNBITS_PATH="folder/path" + +# === Auth Configurations === + +# Secret Key: will default to the hash of the super user. +# !!!!! It is strongly recommended that you set your own strong random value !!!! +AUTH_SECRET_KEY="" + +# === Funding Source ===# How many times to retry connectiong to the Funding Source before defaulting to the VoidWallet +# FUNDING_SOURCE_MAX_RETRIES=4 + +###################################### +###### END .env ONLY SETTINGS ######## +###################################### + ###################################### ####### Auth Configurations ########## ###################################### -# Secret Key: will default to the hash of the super user. -# !!!!! It is strongly recommended that you set your own strong random value !!!! -AUTH_SECRET_KEY="" + AUTH_TOKEN_EXPIRE_MINUTES=525600 # Possible authorization methods: user-id-only, username-password, nostr-auth-nip98, google-auth, github-auth, keycloak-auth AUTH_ALLOWED_METHODS="user-id-only, username-password" @@ -16,14 +100,6 @@ AUTH_ALLOWED_METHODS="user-id-only, username-password" ########### Admin Settings ########### ###################################### -# Enable Admin GUI, available for the first user in LNBITS_ADMIN_USERS if available. -# Warning: Enabling this will make LNbits ignore most configurations in file. Only the -# configurations defined in `ReadOnlySettings` will still be read from the environment variables. -# The rest of the settings will be stored in your database and you will be able to change them -# only through the Admin UI. -# Disable this and clear `settings` table from database to make LNbits use this config file again. -LNBITS_ADMIN_UI=true - # Change theme LNBITS_SITE_TITLE="LNbits" LNBITS_SITE_TAGLINE="Open Source Lightning Payments Platform" @@ -32,22 +108,14 @@ LNBITS_SITE_DESCRIPTION="The world's most powerful suite of bitcoin tools. Run f LNBITS_THEME_OPTIONS="classic, bitcoin, flamingo, freedom, mint, autumn, monochrome, salvador, cyber" # LNBITS_CUSTOM_LOGO="https://lnbits.com/assets/images/logo/logo.svg" -HOST=127.0.0.1 -PORT=5000 - ###################################### ########## Funding Source ############ ###################################### -# which fundingsources are allowed in the admin ui -# LNBITS_ALLOWED_FUNDING_SOURCES="VoidWallet, FakeWallet, CoreLightningWallet, CoreLightningRestWallet, LndRestWallet, EclairWallet, LndWallet, LnTipsWallet, LNPayWallet, LNbitsWallet, BlinkWallet, AlbyWallet, ZBDWallet, PhoenixdWallet, OpenNodeWallet, NWCWallet, BreezSdkWallet, BoltzWallet, StrikeWallet, CLNRestWallet" - LNBITS_BACKEND_WALLET_CLASS=VoidWallet # VoidWallet is just a fallback that works without any actual Lightning capabilities, # just so you can see the UI before dealing with this file. -# How many times to retry connectiong to the Funding Source before defaulting to the VoidWallet -# FUNDING_SOURCE_MAX_RETRIES=4 # Invoice expiry for LND, CLN, Eclair, LNbits funding sources LIGHTNING_INVOICE_EXPIRY=3600 @@ -195,11 +263,6 @@ KEYCLOAK_CLIENT_CUSTOM_ICON="" ###################################### -# uvicorn variable, allow https behind a proxy -# IMPORTANT: this also needs the webserver to be configured to forward the headers -# http://docs.lnbits.org/guide/installation.html#running-behind-an-apache2-reverse-proxy-over-https -FORWARDED_ALLOW_IPS="*" - # Server security, rate limiting ips, blocked ips, allowed ips LNBITS_RATE_LIMIT_NO="200" LNBITS_RATE_LIMIT_UNIT="minute" @@ -210,8 +273,7 @@ LNBITS_BLOCKED_IPS="" # if set new users will not be able to create accounts LNBITS_ALLOWED_USERS="" LNBITS_ADMIN_USERS="" -# ID of the super user. The user ID must exist. -# SUPER_USER="" + # Extensions only admin can access LNBITS_ADMIN_EXTENSIONS="ngrok, nostrclient" @@ -244,26 +306,6 @@ LNBITS_DEFAULT_WALLET_NAME="LNbits wallet" # Hides wallet api, extensions can choose to honor LNBITS_HIDE_API=false -# LNBITS_EXTENSIONS_MANIFESTS="https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/extensions.json,https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/extensions-trial.json" -# GitHub has rate-limits for its APIs. The limit can be increased specifying a GITHUB_TOKEN -# LNBITS_EXT_GITHUB_TOKEN=github_pat_xxxxxxxxxxxxxxxxxx - -# Path where extensions will be installed (defaults to `./lnbits/`). -# Inside this directory the `extensions` and `upgrades` sub-directories will be created. -# LNBITS_EXTENSIONS_PATH="/path/to/some/dir" - -# Extensions to be installed by default. If an extension from this list is uninstalled then it will be re-installed on the next restart. -# The extension must be removed from this list in order to not be re-installed. -LNBITS_EXTENSIONS_DEFAULT_INSTALL="tpos" - -# Database: to use SQLite, specify LNBITS_DATA_FOLDER -# to use PostgreSQL, specify LNBITS_DATABASE_URL=postgres://... -# to use CockroachDB, specify LNBITS_DATABASE_URL=cockroachdb://... -# for both PostgreSQL and CockroachDB, you'll need to install -# psycopg2 as an additional dependency -LNBITS_DATA_FOLDER="./data" -# LNBITS_DATABASE_URL="postgres://user:password@host:port/databasename" - # the service fee (in percent) LNBITS_SERVICE_FEE=0.0 # the wallet where fees go to @@ -292,16 +334,3 @@ LNBITS_RESERVE_FEE_PERCENT=1.0 ###### Logging and Development ####### ###################################### -DEBUG=false -DEBUG_DATABASE=false -BUNDLE_ASSETS=true - -# logging into LNBITS_DATA_FOLDER/logs/ -ENABLE_LOG_TO_FILE=true - -# https://loguru.readthedocs.io/en/stable/api/logger.html#file -LOG_ROTATION="100 MB" -LOG_RETENTION="3 months" - -# for database cleanup commands -# CLEANUP_WALLETS_DAYS=90