You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

3.3 KiB

Specter Desktop in a docker container

Build on deploy Version Docker Pulls Count

Specter Desktop by cryptoadvance in a docker container.

Why?

So we can simplify things and make things easier (also try to build cross platform)

Building

docker build -t nolim1t/specter-desktop:v0.6.1 . 

Maintainer release notes

The github action takes in the current tag from upstream but you will need to do a

git tag -s vtag.version

and then push the tag. Use of -s meaning the tag should be signed.

Running

From docker command

# in HWI bridge mode
docker run --rm -v $HOME/.specter:/data/.specter lncm/specter-desktop:v0.6.1 --hwibridge

# Get the Help to see options
docker run --rm -v $HOME/.specter:/data/.specter lncm/specter-desktop:v0.6.1 --help

# Run in Daemon mode
docker run --rm -v $HOME/.specter:/data/.specter -v $HOME/.bitcoin:/data/.bitcoin lncm/specter-desktop:v0.6.1 --host your.ip.address --daemon

# Run in docker detached mode (so we can see the logs)
docker run -d=true --name=specter-desktop --rm -v $HOME/.specter:/data/.specter -v $HOME/.bitcoin:/data/.bitcoin lncm/specter-desktop:v0.6.1 --host your.ip.address

# with flask env file in root (Replace --help with other stuff
docker run --name=specter-desktop --network=host --rm -v $HOME/.specter:/data/.specter -v $HOME/.bitcoin:/data/.bitcoin -v $HOME/.flaskenv:/.flaskenv lncm/specter-desktop:v0.6.1 --help

Docker compose

This is a bit complex but the idea is to make sure there is a bitcoind installation. Note that the IP needs to be specified (this is as per design by the specter project). However we probably can hack in an entrypoint to improve the flow of things going forward.

I also used host networking for ease of use.

version: '3.8'
services:
        bitcoin:
                image: lncm/bitcoind:v0.20.1
                container_name: bitcoin
                volumes:
                        - ${PWD}/bitcoin:/root/.bitcoin
                        - ${PWD}/bitcoin:/data/.bitcoin
                        - ${PWD}/bitcoin:/data/bitcoin
                restart: on-failure
                ports:
                    - "8333:8333"
                    - "8332:8332"
                stop_grace_period: 20m30s
                network_mode: host
        specter:
                image: lncm/specter-desktop:v0.6.1
                container_name: specter-desktop
                command: /usr/local/bin/python3 -m cryptoadvance.specter server --host ip.addr
                restart: on-failure
                ports:
                    - "25441:25441"
                stop_grace_period: 5m30s
                network_mode: host                    
                volumes:
                        - ${PWD}/.bitcoin:/data/.bitcoin
                        - ${PWD}/.specter:/data/.specter