The missing data folder will throw an exception: `sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file`
1.8 KiB
layout | parent | title | nav_order |
---|---|---|---|
default | For developers | Installation | 1 |
Installation
Download the latest stable release https://github.com/lnbits/lnbits/releases
Application dependencies
The application uses Pipenv to manage Python packages. While in development, you will need to install all dependencies:
$ pipenv shell
$ pipenv install --dev
If any of the modules fails to install, try checking and upgrading your setupTool module.
pip install -U setuptools
If you wish to use a version of Python higher than 3.7:
$ pipenv --python 3.8 install --dev
You will need to copy .env.example
to .env
, then set variables there.
You might also need to install additional packages, depending on the backend wallet you use.
E.g. when you want to use LND you have to pipenv run pip install lndgrpc
and pipenv run pip install purerpc
.
Take a look at Polar for an excellent way of spinning up a Lightning Network dev environment.
Running the server
LNbits uses Quart as an application server. Before running the server for the first time, make sure to create the data folder:
$ mkdir data
To then run the server, use:
$ pipenv run python -m lnbits
Note: You'll need to use https for some endpoints and/or extensions. You can use ngrok for that. Follow the installation instructions on the website and when it's all set you can run:
$ ./nrok http 5000
this will give you an https tunnel for the localhost, use that URL for navigating to LNBits.
Frontend
The frontend uses Vue.js and Quasar.