Compare commits

..
18 Commits
Author SHA1 Message Date
ArcandGitHub a360a47be9 Merge pull request #1577 from lnbits/bump-version-0-10-3
bump to version 0.10.3
2023-03-10 13:03:00 +00:00
dni ⚡ 552f253b5d bump to version 0.10.3 2023-03-10 14:01:46 +01:00
ArcandGitHub 5021d86488 Merge pull request #1566 from bitkarrot/patch-3
update installation.md path
2023-03-10 13:01:22 +00:00
ArcandGitHub c257e42222 Merge pull request #1575 from wazint/ext-doc
Doc: Fix dev guide for getting started with extensions
2023-03-10 13:00:15 +00:00
ArcandGitHub 17cdf57b8f Merge pull request #1576 from prusnak/shortuuid-bump
Bump shortuuid dependency to fix build on Python 3.10
2023-03-10 12:59:04 +00:00
ArcandGitHub 375b575eed Merge pull request #1572 from lnbits/readme-wiki-link
fix markdown links in the readme
2023-03-10 12:58:28 +00:00
Pavol Rusnak f860c170fc Bump shortuuid dependency to fix build on Python 3.10 2023-03-10 11:54:23 +01:00
ArcandGitHub 095206e2ed Merge pull request #1574 from lnbits/fix-flake
fix flake error: #1088
2023-03-10 10:54:18 +00:00
ArcandGitHub 4f3159339a Merge pull request #1573 from lnbits/feat-backup-pg_dump
BUG: Dockerfile does not support backup funcionality
2023-03-10 09:58:53 +00:00
wazint 9ba2983572 Merge branch 'ext-doc' of github-tor:wazint/lnbits into ext-doc 2023-03-09 21:55:26 +02:00
wazint acaf4849d2 doc: Fix dev guide for getting started with extensions 2023-03-09 21:53:11 +02:00
dni ⚡ 3fa4135a12 non interactive install 2023-03-09 16:01:52 +01:00
dni ⚡ a8f534cd2e postgres-client version 14... 2023-03-09 15:10:50 +01:00
dni ⚡ c58fac39cd fix flake error: #1088 2023-03-09 14:50:11 +01:00
dni ⚡ 161cb9cfbc remove build not needed, create the right datadir, add postgres-client for pg_dump backup functionality 2023-03-09 13:48:44 +01:00
Pavol Rusnak 892d8ffa62 fix markdown links in the readme 2023-03-08 18:15:58 +01:00
BitkarrotandGitHub 3d55d98d33 update installation.md
lnbits-legend -> lnbits for systemd
2023-03-07 20:14:15 -08:00
wazint 1e39e7dd63 doc: Fix dev guide for getting started with extensions 2023-03-01 23:06:44 +02:00
7 changed files with 34 additions and 24 deletions
+10 -3
View File
@@ -3,18 +3,25 @@ FROM python:3.10-slim
RUN apt-get clean
RUN apt-get update
RUN apt-get install -y curl pkg-config build-essential
RUN curl -sSL https://install.python-poetry.org | python3 -
RUN curl -sSL https://install.python-poetry.org | python3 -
ENV PATH="/root/.local/bin:$PATH"
# needed for backups postgresql-client version 14 (pg_dump)
RUN apt-get install -y wget
RUN echo "deb http://apt.postgresql.org/pub/repos/apt bullseye-pgdg main" > /etc/apt/sources.list.d/pgdg.list
RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
RUN apt-get update
RUN apt-get install -y postgresql-client-14
WORKDIR /app
RUN mkdir -p lnbits/data
COPY . .
RUN mkdir data
RUN poetry config virtualenvs.create false
RUN poetry install --only main
RUN poetry run python tools/build.py
ENV LNBITS_PORT="5000"
ENV LNBITS_HOST="0.0.0.0"
+2 -2
View File
@@ -25,7 +25,7 @@ LNbits is a Python server that sits on top of any funding source. It can be used
LNbits can run on top of any Lightning funding source. It supports LND, CLN, Eclair, Spark, LNpay, OpenNode, LightningTipBot, and with more being added regularly.
See [LNbits Wiki](github.com/lnbits/lnbits/wiki/) for more detailed documentation.
See [LNbits Wiki](https://github.com/lnbits/lnbits/wiki/) for more detailed documentation.
Checkout the LNbits [YouTube](https://www.youtube.com/playlist?list=PLPj3KCksGbSYG0ciIQUWJru1dWstPHshe) video series.
@@ -33,7 +33,7 @@ LNbits is inspired by all the great work of [opennode.com](https://www.opennode.
## Running LNbits
See the [install guide](github.com/lnbits/lnbits/wiki/) for details on installation and setup.
See the [install guide](https://github.com/lnbits/lnbits/wiki/) for details on installation and setup.
## LNbits as an account system
+9 -6
View File
@@ -9,11 +9,14 @@ nav_order: 2
Making extensions
=================
Start off by copying the example extension in `lnbits/extensions/example` into your own:
Start off by cloning the [example extension](https://github.com/lnbits/example) into your `lnbits/extensions` folder and renaming it to `mysuperplugin`:
```sh
cp lnbits/extensions/example lnbits/extensions/mysuperplugin -r # Let's not use dashes or anything; it doesn't like those.
cd lnbits/extensions/mysuperplugin
cd lnbits/extensions
git clone https://github.com/lnbits/example.git --depth=1 mysuperplugin # Let's not use dashes or anything; it doesn't like those.
cd mysuperplugin
rm -rf .git/
find . -type f -print0 | xargs -0 sed -i 's/example/mysuperplugin/g' # Change all occurrences of 'example' to your plugin name 'mysuperplugin'.
mv templates/example templates/mysuperplugin # Rename templates folder.
```
- if you are on macOS and having difficulty with 'sed', consider `brew install gnu-sed` and use 'gsed', without -0 option after xargs.
@@ -28,9 +31,9 @@ Going over the example extension's structure:
Adding new dependencies
-----------------------
DO NOT ADD NEW DEPENDENCIES. Try to use the dependencies that are availabe in `pyproject.toml`. Getting the LNbits project to accept a new dependency is time consuming and uncertain, and may result in your extension NOT being made available to others.
DO NOT ADD NEW DEPENDENCIES. Try to use the dependencies that are available in `pyproject.toml`. Getting the LNbits project to accept a new dependency is time consuming and uncertain, and may result in your extension NOT being made available to others.
If for some reason your extensions must have a new python package to work, and its nees are not met in `pyproject.toml`, you can add a new package using `venv`, or `poerty`:
If for some reason your extensions must have a new python package to work, and its needs are not met in `pyproject.toml`, you can add a new package using `venv`, or `poerty`:
```sh
$ poetry add <package>
@@ -39,7 +42,7 @@ $ ./venv/bin/pip install <package>
```
**But we need an extra step to make sure LNbits doesn't break in production.**
Dependencies need to be added to `pyproject.toml` and `requirements.txt`, then tested by running on `venv` and `poetry` compatability can be tested with `nix build .#checks.x86_64-linux.vmTest`.
Dependencies need to be added to `pyproject.toml` and `requirements.txt`, then tested by running on `venv` and `poetry` compatibility can be tested with `nix build .#checks.x86_64-linux.vmTest`.
SQLite to PostgreSQL migration
+2 -2
View File
@@ -1,6 +1,6 @@
# Extension Install
Anyone can create an extension by following the [example extension](https://github.com/lnbits/lnbits/tree/extension_install_02/lnbits/extensions/example).
Anyone can create an extension by following the [example extension](https://github.com/lnbits/example) and [making extensions](https://github.com/lnbits/lnbits/blob/main/docs/devs/extensions.md) dev guide.
Extensions can be installed by an admin user after the **LNbits** instance has been started.
@@ -12,7 +12,7 @@ Go to `Manage Server` > `Server` > `Extensions Manifests`
An `Extension Manifest` is a link to a `JSON` file which contains information about various extensions that can be installed (repository of extensions).
Multiple repositories can be configured. For more information check the [Manifest File](https://github.com/lnbits/lnbits/blob/extension_install_02/docs/guide/extension-install.md#manifest-file) section.
Multiple repositories can be configured. For more information check the [Manifest File](https://github.com/lnbits/lnbits/blob/main/docs/guide/extension-install.md#manifest-file) section.
**LNbits** administrators should configure their instances to use repositories that they trust (like the [lnbits-extensions](https://github.com/lnbits/lnbits-extensions/) one).
+1 -1
View File
@@ -303,7 +303,7 @@ Description=LNbits
[Service]
# replace with the absolute path of your lnbits installation
WorkingDirectory=/home/lnbits/lnbits-legend
WorkingDirectory=/home/lnbits/lnbits
# same here. run `which poetry` if you can't find the poetry binary
ExecStart=/home/lnbits/.local/bin/poetry run lnbits
# replace with the user that you're running lnbits on
Generated
+7 -7
View File
@@ -541,10 +541,10 @@ files = [
cffi = ">=1.12"
[package.extras]
docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx_rtd_theme"]
docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"]
docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"]
pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
sdist = ["setuptools_rust (>=0.11.4)"]
sdist = ["setuptools-rust (>=0.11.4)"]
ssh = ["bcrypt (>=3.1.5)"]
test = ["hypothesis (>=1.11.4,!=3.79.2)", "iso8601", "pretend", "pytest (>=6.2.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pytz"]
@@ -1738,14 +1738,14 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (
[[package]]
name = "shortuuid"
version = "1.0.1"
version = "1.0.11"
description = "A generator library for concise, unambiguous and URL-safe UUIDs."
category = "main"
optional = false
python-versions = ">=3.5"
files = [
{file = "shortuuid-1.0.1-py3-none-any.whl", hash = "sha256:492c7402ff91beb1342a5898bd61ea953985bf24a41cd9f247409aa2e03c8f77"},
{file = "shortuuid-1.0.1.tar.gz", hash = "sha256:3c11d2007b915c43bee3e10625f068d8a349e04f0d81f08f5fa08507427ebf1f"},
{file = "shortuuid-1.0.11-py3-none-any.whl", hash = "sha256:27ea8f28b1bd0bf8f15057a3ece57275d2059d2b0bb02854f02189962c13b6aa"},
{file = "shortuuid-1.0.11.tar.gz", hash = "sha256:fc75f2615914815a8e4cb1501b3a513745cb66ef0fd5fc6fb9f8c3fa3481f789"},
]
[[package]]
@@ -1821,7 +1821,7 @@ mssql = ["pyodbc"]
mssql-pymssql = ["pymssql"]
mssql-pyodbc = ["pyodbc"]
mysql = ["mysqlclient"]
oracle = ["cx_oracle"]
oracle = ["cx-oracle"]
postgresql = ["psycopg2"]
postgresql-pg8000 = ["pg8000 (<1.16.6)"]
postgresql-psycopg2binary = ["psycopg2-binary"]
@@ -2205,4 +2205,4 @@ testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools"
[metadata]
lock-version = "2.0"
python-versions = "^3.10 | ^3.9 | ^3.8 | ^3.7"
content-hash = "9ade42d23e7541626f1d1be38c9af2313769c372bca8bb306a4e653812aea33c"
content-hash = "3ede9f1c735533b865009b69fefba2faefc3e4a836b4453af34c81dec29e0682"
+3 -3
View File
@@ -1,6 +1,6 @@
[tool.poetry]
name = "lnbits"
version = "0.10.2"
version = "0.10.3"
description = "LNbits, free and open-source Lightning wallet and accounts system."
authors = ["Alan Bits <alan@lnbits.com>"]
@@ -23,7 +23,7 @@ psycopg2-binary = "2.9.1"
pydantic = "1.10.4"
pyqrcode = "1.2.1"
pyScss = "1.4.0"
shortuuid = "1.0.1"
shortuuid = "1.0.11"
sqlalchemy = "1.3.24"
sqlalchemy-aio = "0.17.0"
sse-starlette = "0.6.2"
@@ -54,7 +54,7 @@ flake8 = { version = "^6.0.0", python = ">=3.8.1" }
pylint = { version = "^2.15.10", python = ">=3.7.2" }
[build-system]
requires = ["poetry-core>=1.0.0", "pyScss"]
requires = ["poetry-core>=1.0.0", "pyscss"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]