title | description |
---|---|
docker run vlsd |
setup your vlsd service with docker in few simple steps on any system capable of running containerized solution |
Great, so you have decided to take a step towards added security by integrating vls
into your lightning node system. A fully functional vls
system consists of atleast the below mentioned services:
bitcoind
lightnind
txood
lightning-storage-server
Before moving vls
into production if you want to test the system out on testnet
we have you covered with our HOWTO covering details about setting up all the services on a single node. A general schema of what steps you have to do for each service is as follows:
- download the git repo/tar ball
- download and install the necessary dependencies
- build the service binaries and copy them to right place
- setup and start daemon service
So just repeat this process for all the (5) services and we have a
vls
system up and running.
vls
is currently in beta stage everyday we are rolling out new changes to keep up with them you need to rebuild the system everyday by referring the HOWTO UPDATE. So you always need the build dependencies along with source code in your system.
Is it starting to look difficult to manage already?
They say lazy people find ways to make the work require least amount of efforts. So we have you covered now, running all the services on your system is just a few commands away now:
# clone the docker image and compose file repo
git clone https://gitlab.com/lightning-signer/vls-container.git
# create volume for each of the service
docker volume create bitcoin_data
docker volume create lightning_data
docker volume create txoo_data
docker volume create vls_data
# run the compose system
docker compose --profile vls up --build
Note: we have taken the assumption you already have either docker v1/v2 service present in your system. Even if not there is no need to worry, depending on the system you are using refer to this section of README to install docker as a one time step.
We currently support running vls
with regtest
and testnet
only in our docker images. By default the above commands with run an isolated testnet
network of services. If you want to expose the network or change to regtest
we can use override:
export DOCKER_COMPOSE_OVERRIDE=docker-compose.regtest.yml
export COMPOSE_PROJECT_NAME=regtest
docker compose --profile vls -f docker-compose.yml -f $DOCKER_COMPOSE_OVERRIDE up --build
You can use testnet
override as well to expose the network.
We have gone an extra mile here by providing support for both docker v1 and v2. Even though docker has deprecated docker v1 we understand that the currently available docker packages in all major distros are still v1.
So, irrespective of docker version anyone can run vls
, we intend to keep our docker images and compose files backwards compatible until the time those distro packages aren't updated.
Maybe, you already have all the other services except vls
running on your system or you want to run vls
separately on a device different from where all other services are. In that case you can take advantage of standalone vls
system.
You can use the compose file for standalone vls
export BITCOIND_RPC_URL=<RPC_ENDPOINT_BITCOIND>
export CLN_REMOTE_HSMD_URL=<REMOTE_HSMD_ENDPOINT>
cd vlsd
docker compose up
If you wish to have a more fine grained control on vls
container instead of using compose setup
cd vlsd
docker build -t vlsd .
docker run \
-d \
--rm \
--name vlsd \
--network host \
-e VLS_NETWORK=testnet \
-e BITCOIND_RPC_URL=$BITCOIND_RPC_URL \
--mount 'type=volume,src=vls_data,dst=/home/vls/.lightning-signer' \
vlsd \
--connect=$CLN_REMOTE_HSMD_URL
Note: If you don't have the services apart from vls
already running you can run them by just getting rid of profile
flag from compose commands.
That was all for vls on docker, but do make sure to checkout VLS Container Repo for more useful commands on running docker system and learning about our what's next.