lnbits/docs/guide/installation.md

112 lines
3.8 KiB
Markdown
Raw Normal View History

---
layout: default
title: Basic installation
nav_order: 2
---
2021-07-07 09:58:21 +00:00
# Basic installation
2021-11-12 11:38:07 +00:00
Install Postgres and setup a database for LNbits:
```sh
# on debian/ubuntu 'sudo apt-get -y install postgresql'
# or follow instructions at https://www.postgresql.org/download/linux/
# Postgres doesn't have a default password, so we'll create one.
2021-11-12 11:44:44 +00:00
sudo -i -u postgres
psql
2021-11-12 11:38:07 +00:00
# on psql
ALTER USER postgres PASSWORD 'myPassword'; # choose whatever password you want
\q
2021-11-12 11:44:44 +00:00
# on postgres user
createdb lnbits
2021-11-12 11:38:07 +00:00
exit
```
Download this repo and install the dependencies:
```sh
2021-11-08 09:50:11 +00:00
git clone https://github.com/lnbits/lnbits-legend.git
2020-10-02 17:53:55 +00:00
cd lnbits/
2021-05-22 23:35:37 +00:00
# ensure you have virtualenv installed, on debian/ubuntu 'apt install python3-venv' should work
2021-11-08 09:50:11 +00:00
# for now you'll need to `git checkout FastAPI`
2020-10-02 17:53:55 +00:00
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
cp .env.example .env
2021-11-12 11:38:07 +00:00
# add the database connection string to .env 'nano .env' LNBITS_DATABASE_URL=
# postgres://<user>:<password>@<host>/<database> - alter line bellow with your user, password and db name
LNBITS_DATABASE_URL="postgres://postgres:postgres@localhost/lnbits"
# save and exit
2021-11-04 15:21:17 +00:00
./venv/bin/uvicorn lnbits.__main__:app --port 5000
```
2021-11-04 15:21:17 +00:00
Now you can visit your LNbits at http://localhost:5000/.
2020-10-02 17:53:55 +00:00
Now modify the `.env` file with any settings you prefer and add a proper [funding source](./wallets.md) by modifying the value of `LNBITS_BACKEND_WALLET_CLASS` and providing the extra information and credentials related to the chosen funding source.
Then you can restart it and it will be using the new settings.
2020-10-16 02:12:32 +00:00
You might also need to install additional packages or perform additional setup steps, depending on the chosen backend. See [the short guide](./wallets.md) on each different funding source.
2021-11-12 11:38:07 +00:00
## Important note
If you already have LNbits installed and running, on an SQLite database, we **HIGHLY** recommend you migrate to postgres!
There's a script included that can do the migration easy. You should have Postgres already installed and there should be a password for the user, check the guide above.
```sh
# STOP LNbits
# on the LNBits folder, locate and edit 'conv.py' with the relevant credentials
python3 conv.py
# add the database connection string to .env 'nano .env' LNBITS_DATABASE_URL=
# postgres://<user>:<password>@<host>/<database> - alter line bellow with your user, password and db name
LNBITS_DATABASE_URL="postgres://postgres:postgres@localhost/lnbits"
# save and exit
```
Hopefully, everything works and get migrated... Launch LNbits again and check if everything is working properly.
2021-11-12 11:38:07 +00:00
2021-07-07 09:58:21 +00:00
# Additional guides
### LNbits running on Umbrel behind Tor
If you want to run LNbits on your Umbrel but want it to be reached through clearnet, _Uxellodunum_ made an extensive [guide](https://community.getumbrel.com/t/guide-lnbits-without-tor/604) on how to do it.
### Docker installation
To install using docker you first need to build the docker image as:
2021-07-07 09:58:21 +00:00
```
git clone https://github.com/lnbits/lnbits.git
cd lnbits/ # ${PWD} referred as <lnbits_repo>
docker build -t lnbits .
```
You can launch the docker in a different directory, but make sure to copy `.env.example` from lnbits there
2021-07-07 09:58:21 +00:00
```
cp <lnbits_repo>/.env.example .env
```
2021-07-07 09:58:21 +00:00
and change the configuration in `.env` as required.
Then create the data directory for the user ID 1000, which is the user that runs the lnbits within the docker container.
2021-07-07 09:58:21 +00:00
```
mkdir data
sudo chown 1000:1000 ./data/
```
Then the image can be run as:
2021-07-07 09:58:21 +00:00
```
docker run --detach --publish 5000:5000 --name lnbits --volume ${PWD}/.env:/app/.env --volume ${PWD}/data/:/app/data lnbits
2021-06-19 01:41:30 +00:00
```
2021-07-07 09:58:21 +00:00
Finally you can access your lnbits on your machine at port 5000.
2021-07-07 09:57:45 +00:00
2021-07-07 09:58:21 +00:00
# Additional guides
2021-07-07 09:57:45 +00:00
## LNbits running on Umbrel behind Tor
If you want to run LNbits on your Umbrel but want it to be reached through clearnet, _Uxellodunum_ made an extensive [guide](https://community.getumbrel.com/t/guide-lnbits-without-tor/604) on how to do it.