-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 299007e
Showing
29 changed files
with
2,887 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,252 @@ | ||
#For more information on .env files, their content and format: https://pypi.org/project/python-dotenv/ | ||
|
||
###################################### | ||
########### 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 to make LNbits use this config file again. | ||
LNBITS_ADMIN_UI=true | ||
|
||
# Change theme | ||
LNBITS_SITE_TITLE="LNBits_NWC_SP" | ||
LNBITS_SITE_TAGLINE="free and open-source lightning wallet" | ||
LNBITS_SITE_DESCRIPTION="The world's most powerful suite of bitcoin tools. Run for yourself, for others, or as part of a stack." | ||
# Choose from bitcoin, mint, flamingo, freedom, salvador, autumn, monochrome, classic, cyber | ||
LNBITS_THEME_OPTIONS="classic, bitcoin, flamingo, freedom, mint, autumn, monochrome, salvador, cyber" | ||
# LNBITS_CUSTOM_LOGO="https://lnbits.com/assets/images/logo/logo.svg" | ||
|
||
HOST=0.0.0.0 | ||
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, AlbyWallet, ZBDWallet, PhoenixdWallet, OpenNodeWallet" | ||
|
||
LNBITS_BACKEND_WALLET_CLASS=FakeWallet | ||
# 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 | ||
|
||
# Set one of these blocks depending on the wallet kind you chose above: | ||
|
||
# ClicheWallet | ||
CLICHE_ENDPOINT=ws://127.0.0.1:12000 | ||
|
||
# SparkWallet | ||
SPARK_URL=http://localhost:9737/rpc | ||
SPARK_TOKEN=myaccesstoken | ||
|
||
# CoreLightningWallet | ||
CORELIGHTNING_RPC="/home/bob/.lightning/bitcoin/lightning-rpc" | ||
|
||
# CoreLightningRestWallet | ||
CORELIGHTNING_REST_URL=http://127.0.0.1:8185/ | ||
CORELIGHTNING_REST_MACAROON="/path/to/clnrest/access.macaroon" # or BASE64/HEXSTRING | ||
CORELIGHTNING_REST_CERT="/path/to/clnrest/tls.cert" | ||
|
||
# LnbitsWallet | ||
LNBITS_ENDPOINT=https://demo.lnbits.com | ||
LNBITS_KEY=LNBITS_ADMIN_KEY | ||
|
||
# LndWallet | ||
LND_GRPC_ENDPOINT=127.0.0.1 | ||
LND_GRPC_PORT=10009 | ||
LND_GRPC_CERT="/home/bob/.lnd/tls.cert" | ||
LND_GRPC_MACAROON="/home/bob/.lnd/data/chain/bitcoin/mainnet/admin.macaroon" # or HEXSTRING | ||
# To use an AES-encrypted macaroon, set | ||
# LND_GRPC_MACAROON="eNcRyPtEdMaCaRoOn" | ||
|
||
# LndRestWallet | ||
LND_REST_ENDPOINT=https://127.0.0.1:8080/ | ||
LND_REST_CERT="/home/bob/.lnd/tls.cert" | ||
LND_REST_MACAROON="/home/bob/.lnd/data/chain/bitcoin/mainnet/admin.macaroon" # or HEXSTRING | ||
# To use an AES-encrypted macaroon, set | ||
# LND_REST_MACAROON_ENCRYPTED="eNcRyPtEdMaCaRoOn" | ||
|
||
# LNPayWallet | ||
LNPAY_API_ENDPOINT=https://api.lnpay.co/v1/ | ||
# Secret API Key under developers tab | ||
LNPAY_API_KEY=LNPAY_API_KEY | ||
# Wallet Admin in Wallet Access Keys | ||
LNPAY_WALLET_KEY=LNPAY_ADMIN_KEY | ||
|
||
# AlbyWallet | ||
ALBY_API_ENDPOINT=https://api.getalby.com/ | ||
ALBY_ACCESS_TOKEN=ALBY_ACCESS_TOKEN | ||
|
||
# ZBDWallet | ||
ZBD_API_ENDPOINT=https://api.zebedee.io/v0/ | ||
ZBD_API_KEY=ZBD_ACCESS_TOKEN | ||
|
||
# PhoenixdWallet | ||
PHOENIXD_API_ENDPOINT=http://localhost:9740/ | ||
PHOENIXD_API_PASSWORD=PHOENIXD_KEY | ||
|
||
# OpenNodeWallet | ||
OPENNODE_API_ENDPOINT=https://api.opennode.com/ | ||
OPENNODE_KEY=OPENNODE_ADMIN_KEY | ||
|
||
# FakeWallet | ||
FAKE_WALLET_SECRET="ToTheMoon1" | ||
LNBITS_DENOMINATION=sats | ||
|
||
# EclairWallet | ||
ECLAIR_URL=http://127.0.0.1:8283 | ||
ECLAIR_PASS=eclairpw | ||
|
||
# LnTipsWallet | ||
# Enter /api in LightningTipBot to get your key | ||
LNTIPS_API_KEY=LNTIPS_ADMIN_KEY | ||
LNTIPS_API_ENDPOINT=https://ln.tips | ||
|
||
###################################### | ||
####### Auth Configurations ########## | ||
###################################### | ||
# Secret Key: will default to the hash of the super user. It is strongly recommended that you set your own value. | ||
AUTH_SECRET_KEY="secret" | ||
AUTH_TOKEN_EXPIRE_MINUTES=525600 | ||
# Possible authorization methods: user-id-only, username-password, google-auth, github-auth, keycloak-auth | ||
AUTH_ALLOWED_METHODS="user-id-only, username-password" | ||
# Set this flag if HTTP is used for OAuth | ||
# OAUTHLIB_INSECURE_TRANSPORT="1" | ||
|
||
# Google OAuth Config | ||
# Make sure that the authorized redirect URIs contain https://{domain}/api/v1/auth/google/token | ||
GOOGLE_CLIENT_ID="" | ||
GOOGLE_CLIENT_SECRET="" | ||
|
||
# GitHub OAuth Config | ||
# Make sure that the authorization callback URL is set to https://{domain}/api/v1/auth/github/token | ||
GITHUB_CLIENT_ID="" | ||
GITHUB_CLIENT_SECRET="" | ||
|
||
# Keycloak OAuth Config | ||
# Make sure that the valid redirect URIs contain https://{domain}/api/v1/auth/keycloak/token | ||
KEYCLOAK_CLIENT_ID="" | ||
KEYCLOAK_CLIENT_SECRET="" | ||
KEYCLOAK_DISCOVERY_URL="" | ||
|
||
|
||
###################################### | ||
|
||
# uvicorn variable, uncomment to 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" | ||
LNBITS_ALLOWED_IPS="" | ||
LNBITS_BLOCKED_IPS="" | ||
|
||
# Allow users and admins by user IDs (comma separated list) | ||
# 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, admin" | ||
|
||
# Start LNbits core only. The extensions are not loaded. | ||
# LNBITS_EXTENSIONS_DEACTIVATE_ALL=true | ||
|
||
# Disable account creation for new users | ||
# LNBITS_ALLOW_NEW_ACCOUNTS=false | ||
|
||
# Enable Node Management without activating the LNBITS Admin GUI | ||
# by setting the following variables to true. | ||
LNBITS_NODE_UI=false | ||
LNBITS_PUBLIC_NODE_UI=false | ||
# Enabling the transactions tab can cause crashes on large Core Lightning nodes. | ||
LNBITS_NODE_UI_TRANSACTIONS=false | ||
|
||
LNBITS_DEFAULT_WALLET_NAME="LNbits wallet" | ||
|
||
# Ad space description | ||
# LNBITS_AD_SPACE_TITLE="Supported by" | ||
# csv ad space, format "<url>;<img-light>;<img-dark>, <url>;<img-light>;<img-dark>", extensions can choose to honor | ||
# LNBITS_AD_SPACE="https://shop.lnbits.com/;https://raw.githubusercontent.com/lnbits/lnbits/main/lnbits/static/images/lnbits-shop-light.png;https://raw.githubusercontent.com/lnbits/lnbits/main/lnbits/static/images/lnbits-shop-dark.png" | ||
# LNBITS_SHOW_HOME_PAGE_ELEMENTS=true # if set to true, the ad space will be displayed on the home page | ||
# LNBITS_CUSTOM_BADGE="USE WITH CAUTION - LNbits wallet is still in BETA" | ||
# LNBITS_CUSTOM_BADGE_COLOR="warning" | ||
|
||
# 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 | ||
# LNBITS_SERVICE_FEE_WALLET= | ||
# the maximum fee per transaction (in satoshis) | ||
# LNBITS_SERVICE_FEE_MAX=1000 | ||
# disable fees for internal transactions | ||
# LNBITS_SERVICE_FEE_IGNORE_INTERNAL=true | ||
|
||
# value in millisats | ||
LNBITS_RESERVE_FEE_MIN=2000 | ||
# value in percent | ||
LNBITS_RESERVE_FEE_PERCENT=1.0 | ||
|
||
# limit the maximum balance for each wallet | ||
# throw an error if the wallet attempts to create a new invoice | ||
|
||
# LNBITS_WALLET_LIMIT_MAX_BALANCE=1000000 | ||
# LNBITS_WALLET_LIMIT_DAILY_MAX_WITHDRAW=1000000 | ||
# LNBITS_WALLET_LIMIT_SECS_BETWEEN_TRANS=60 | ||
|
||
# Limit fiat currencies allowed to see in UI | ||
# LNBITS_ALLOWED_CURRENCIES="EUR, USD" | ||
|
||
###################################### | ||
###### 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
|
||
{ | ||
"name": "lnbits_nwc_provider", | ||
"image": "mcr.microsoft.com/devcontainers/python:1-3.9-bullseye", | ||
"features": { | ||
"ghcr.io/devcontainers-contrib/features/poetry:2": { | ||
} | ||
|
||
}, | ||
"mounts": [ | ||
"source=${localWorkspaceFolder}/.devcontainer/start.sh,target=/start-lnbits.sh,type=bind", | ||
"source=${localWorkspaceFolder}/.devcontainer/setup.sh,target=/setup.sh,type=bind" | ||
], | ||
"postCreateCommand": "/bin/bash /setup.sh ${containerWorkspaceFolder}", | ||
"postStartCommand": "/bin/bash /start-lnbits.sh", | ||
"forwardPorts": [ | ||
5000 | ||
], | ||
"customizations": { | ||
"vscode": { | ||
"settings": { | ||
"python.pythonPath": "/opt/python/bin/python3.9" | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#!/bin/bash | ||
CONTAINER_WORKSPACE_FOLDER=$1 | ||
sudo apt update -y | ||
sudo apt install -y python3.9-distutils curl | ||
curl -fsSL https://deb.nodesource.com/setup_20.x -o /tmp/nodesource_setup.sh | ||
sudo bash /tmp/nodesource_setup.sh | ||
sudo apt-get install -y nodejs | ||
cd .. | ||
if [ ! -d lnbits ] ; then | ||
sudo git clone https://github.com/lnbits/lnbits.git; | ||
fi | ||
sudo chown 1000:1000 -Rvf lnbits | ||
cd lnbits | ||
git checkout 0.12.8 | ||
poetry env use python3.9 | ||
VENV_PATH=$(poetry env info -p) | ||
sudo ln -s $VENV_PATH /opt/python | ||
make bundle | ||
poetry install --no-interaction | ||
mkdir -p lnbits/extensions/ | ||
ln -s $CONTAINER_WORKSPACE_FOLDER lnbits/extensions/nwcprovider | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/bash | ||
ln -s $PWD/.devcontainer/.env ../lnbits/.env | ||
cd ../lnbits | ||
poetry run lnbits |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
on: | ||
push: | ||
tags: | ||
- "v[0-9]+.[0-9]+.[0-9]+" | ||
|
||
jobs: | ||
|
||
release: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Create github release | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
tag: ${{ github.ref_name }} | ||
run: | | ||
gh release create "$tag" --generate-notes | ||
pullrequest: | ||
needs: [release] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
token: ${{ secrets.EXT_GITHUB }} | ||
repository: lnbits/lnbits-extensions | ||
path: './lnbits-extensions' | ||
|
||
- name: setup git user | ||
run: | | ||
git config --global user.name "alan" | ||
git config --global user.email "[email protected]" | ||
- name: Create pull request in extensions repo | ||
env: | ||
GH_TOKEN: ${{ secrets.EXT_GITHUB }} | ||
repo_name: "${{ github.event.repository.name }}" | ||
tag: "${{ github.ref_name }}" | ||
branch: "update-${{ github.event.repository.name }}-${{ github.ref_name }}" | ||
title: "[UPDATE] ${{ github.event.repository.name }} to ${{ github.ref_name }}" | ||
body: "https://github.com/lnbits/${{ github.event.repository.name }}/releases/${{ github.ref_name }}" | ||
archive: "https://github.com/lnbits/${{ github.event.repository.name }}/archive/refs/tags/${{ github.ref_name }}.zip" | ||
run: | | ||
cd lnbits-extensions | ||
git checkout -b $branch | ||
# if there is another open PR | ||
git pull origin $branch || echo "branch does not exist" | ||
sh util.sh update_extension $repo_name $tag | ||
git add -A | ||
git commit -am "$title" | ||
git push origin $branch | ||
# check if pr exists before creating it | ||
gh config set pager cat | ||
check=$(gh pr list -H $branch | wc -l) | ||
test $check -ne 0 || gh pr create --title "$title" --body "$body" --repo lnbits/lnbits-extensions |
Oops, something went wrong.