mirror of
https://github.com/basicswap/basicswap.git
synced 2024-12-22 19:49:20 +00:00
Simplify docker config.
This commit is contained in:
parent
8c9105ce01
commit
3bbb483a0a
8 changed files with 52 additions and 34 deletions
|
@ -1 +0,0 @@
|
||||||
docker
|
|
20
Dockerfile
20
Dockerfile
|
@ -1,14 +1,11 @@
|
||||||
FROM ubuntu:20.04
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
ARG WITH_COINS
|
|
||||||
ARG WITHOUT_COINS
|
|
||||||
|
|
||||||
ENV LANG=C.UTF-8 \
|
ENV LANG=C.UTF-8 \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
DATADIRS="/coindata"
|
DATADIRS="/coindata"
|
||||||
|
|
||||||
RUN apt-get update; \
|
RUN apt-get update; \
|
||||||
apt-get install -y wget python3-pip gnupg unzip protobuf-compiler automake libtool pkg-config;
|
apt-get install -y wget python3-pip gnupg unzip protobuf-compiler automake libtool pkg-config gosu;
|
||||||
|
|
||||||
RUN wget -O coincurve-anonswap.zip https://github.com/tecnovert/coincurve/archive/anonswap.zip && \
|
RUN wget -O coincurve-anonswap.zip https://github.com/tecnovert/coincurve/archive/anonswap.zip && \
|
||||||
unzip coincurve-anonswap.zip && \
|
unzip coincurve-anonswap.zip && \
|
||||||
|
@ -21,18 +18,15 @@ RUN cd basicswap-master; \
|
||||||
protoc -I=basicswap --python_out=basicswap basicswap/messages.proto; \
|
protoc -I=basicswap --python_out=basicswap basicswap/messages.proto; \
|
||||||
pip3 install .;
|
pip3 install .;
|
||||||
|
|
||||||
# Download binaries, these will be part of the docker image
|
RUN useradd -ms /bin/bash swap_user && \
|
||||||
RUN basicswap-prepare -datadir=/opt -preparebinonly ${WITH_COINS} ${WITHOUT_COINS}
|
mkdir /coindata && chown swap_user -R /coindata
|
||||||
|
|
||||||
RUN useradd -ms /bin/bash user && \
|
|
||||||
mkdir /coindata && chown user -R /coindata
|
|
||||||
|
|
||||||
USER user
|
|
||||||
WORKDIR /home/user
|
|
||||||
|
|
||||||
# Expose html port
|
# Expose html port
|
||||||
EXPOSE 12700
|
EXPOSE 12700
|
||||||
|
|
||||||
VOLUME /coindata
|
VOLUME /coindata
|
||||||
|
|
||||||
ENTRYPOINT ["basicswap-run", "-datadir=/coindata/basicswap"]
|
COPY ./docker/entrypoint.sh /entrypoint.sh
|
||||||
|
|
||||||
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
CMD ["basicswap-run", "-datadir=/coindata/basicswap"]
|
||||||
|
|
|
@ -8,24 +8,22 @@
|
||||||
"""
|
"""
|
||||||
Atomic Swap Client - Proof of Concept
|
Atomic Swap Client - Proof of Concept
|
||||||
|
|
||||||
sudo pip install python-gnupg
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sys
|
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
import json
|
import json
|
||||||
import hashlib
|
|
||||||
import mmap
|
import mmap
|
||||||
|
import stat
|
||||||
|
import gnupg
|
||||||
|
import hashlib
|
||||||
import tarfile
|
import tarfile
|
||||||
import zipfile
|
import zipfile
|
||||||
import stat
|
|
||||||
from urllib.request import urlretrieve
|
|
||||||
import urllib.parse
|
|
||||||
import logging
|
import logging
|
||||||
import platform
|
import platform
|
||||||
|
import urllib.parse
|
||||||
|
from urllib.request import urlretrieve
|
||||||
|
|
||||||
import gnupg
|
|
||||||
|
|
||||||
import basicswap.config as cfg
|
import basicswap.config as cfg
|
||||||
from basicswap.rpc import (
|
from basicswap.rpc import (
|
||||||
|
@ -571,8 +569,8 @@ def main():
|
||||||
'network_key': '7sW2UEcHXvuqEjkpE5mD584zRaQYs6WXYohue4jLFZPTvMSxwvgs',
|
'network_key': '7sW2UEcHXvuqEjkpE5mD584zRaQYs6WXYohue4jLFZPTvMSxwvgs',
|
||||||
'network_pubkey': '035758c4a22d7dd59165db02a56156e790224361eb3191f02197addcb3bde903d2',
|
'network_pubkey': '035758c4a22d7dd59165db02a56156e790224361eb3191f02197addcb3bde903d2',
|
||||||
'chainclients': withchainclients,
|
'chainclients': withchainclients,
|
||||||
'auto_reply_delay_min': 5, # Min delay before sending a response message
|
'min_delay_event': 5, # Min delay in seconds before reacting to an event
|
||||||
'auto_reply_delay_max': 50, # Max delay before sending a response message
|
'max_delay_event': 50, # Max delay in seconds before reacting to an event
|
||||||
'check_progress_seconds': 60,
|
'check_progress_seconds': 60,
|
||||||
'check_watched_seconds': 60,
|
'check_watched_seconds': 60,
|
||||||
'check_expired_seconds': 60
|
'check_expired_seconds': 60
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
# Copyright (c) 2019 tecnovert
|
# Copyright (c) 2019-2020 tecnovert
|
||||||
# Distributed under the MIT software license, see the accompanying
|
# Distributed under the MIT software license, see the accompanying
|
||||||
# file LICENSE or http://www.opensource.org/licenses/mit-license.php.
|
# file LICENSE or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
|
@ -10,14 +10,15 @@ Atomic Swap Client - Proof of Concept
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sys
|
|
||||||
import os
|
import os
|
||||||
import time
|
import sys
|
||||||
import json
|
import json
|
||||||
import traceback
|
import time
|
||||||
import signal
|
import signal
|
||||||
import subprocess
|
|
||||||
import logging
|
import logging
|
||||||
|
import traceback
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
import basicswap.config as cfg
|
import basicswap.config as cfg
|
||||||
from basicswap import __version__
|
from basicswap import __version__
|
||||||
|
|
|
@ -1,7 +1,29 @@
|
||||||
|
|
||||||
|
# Docker Setup
|
||||||
|
|
||||||
|
## Build the images
|
||||||
|
```
|
||||||
|
$ docker-compose build
|
||||||
|
```
|
||||||
|
|
||||||
|
## Prepare the binaries, coin dirs and settings
|
||||||
|
```
|
||||||
|
$ docker run -t --name swap_prepare -v /tmp/coindata:/coindata i_swapclient basicswap-prepare --datadir=/coindata --withcoins=monero --withoutcoins=litecoin
|
||||||
|
```
|
||||||
|
|
||||||
|
Record the mnemonic from the output of the above command.
|
||||||
|
|
||||||
|
Remove swap_prepare container (and logs):
|
||||||
|
```
|
||||||
|
$ docker rm swap_prepare
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# Running on windows 10
|
||||||
|
|
||||||
|
|
||||||
Work in progress - doesn't work reliably.
|
Work in progress - doesn't work reliably.
|
||||||
|
|
||||||
Running on windows 10
|
|
||||||
|
|
||||||
Install the latest docker toolbox from:
|
Install the latest docker toolbox from:
|
||||||
https://github.com/docker/toolbox/releases
|
https://github.com/docker/toolbox/releases
|
|
@ -1,2 +1,2 @@
|
||||||
HTML_PORT=127.0.0.1:12700:12700
|
HTML_PORT=127.0.0.1:12700:12700
|
||||||
COINDATA_PATH=./coindata
|
COINDATA_PATH=/var/data/basicswap
|
||||||
|
|
|
@ -2,12 +2,10 @@ version: '3'
|
||||||
services:
|
services:
|
||||||
|
|
||||||
swapclient:
|
swapclient:
|
||||||
|
image: i_swapclient
|
||||||
stop_grace_period: 5m
|
stop_grace_period: 5m
|
||||||
build:
|
build:
|
||||||
context: ../
|
context: ../
|
||||||
args:
|
|
||||||
- WITH_COINS=--withcoins=monero
|
|
||||||
- WITHOUT_COINS=--withoutcoins=litecoin
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${COINDATA_PATH}:/coindata
|
- ${COINDATA_PATH}:/coindata
|
||||||
ports:
|
ports:
|
||||||
|
|
6
docker/entrypoint.sh
Executable file
6
docker/entrypoint.sh
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
chown -R swap_user "$DATADIRS"
|
||||||
|
exec gosu swap_user "$@"
|
||||||
|
|
Loading…
Reference in a new issue