Dockerfile fix
This commit is contained in:
@@ -1,20 +1,17 @@
|
||||
{
|
||||
"module": {
|
||||
"web": {
|
||||
"issuers": ["accounts.bitdeals.org"],
|
||||
"scopes": ["bitdeals"],
|
||||
"client_id": "dm-bitdeals.org",
|
||||
"client_secret": "",
|
||||
"scopes": ["api","openid","profile","email"],
|
||||
"client_id": "web-bitdeals.org",
|
||||
"client_secret": "4aJEJi3dsSypeUSRCah4gIIs",
|
||||
"algorithm": "HS256",
|
||||
"auth_uri": "/oauth2/authorize",
|
||||
"token_uri": "/oauth2/token",
|
||||
"redirect_uris": [
|
||||
"http://localhost:4977/oauth2/code",
|
||||
"http://localhost:4999/dashboard/",
|
||||
"https://oauthdebugger.com/debug"
|
||||
],
|
||||
"javascript_origins": [
|
||||
"http://localhost:4999",
|
||||
"http://95.217.251.153:4999"
|
||||
"http://localhost:4999/oauth2/code",
|
||||
"http://localhost:4999/oauth2/callback",
|
||||
"https://oauthdebugger.com/debug",
|
||||
"https://auth.advancedrestclient.com/oauth-popup.html"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
{
|
||||
"hosts": ["localhost:4999"],
|
||||
"root": "/etc/dm/www"
|
||||
"root": "/var/www/web",
|
||||
"oauth2": {
|
||||
"identifier": "/oauth/identifier",
|
||||
"secret": "/oauth/secret",
|
||||
"callback": "/",
|
||||
"error": "/oauth/error",
|
||||
"debug": "http://localhost:3000/"
|
||||
}
|
||||
}
|
||||
|
||||
23
docker-compose.yml
Normal file
23
docker-compose.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
version: "3"
|
||||
services:
|
||||
bitdeals-module:
|
||||
image: bitdeals/apostol-dm
|
||||
environment:
|
||||
- DM_TESTNET=0
|
||||
- DM_BITCOIN=
|
||||
- DM_FEE=0.1%
|
||||
- |
|
||||
DM_PGP_SEC=
|
||||
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
||||
|
||||
-----END PGP PRIVATE KEY BLOCK-----
|
||||
|
||||
volumes:
|
||||
- dm:/etc/dm
|
||||
ports:
|
||||
- 4999:4999
|
||||
- 80:80
|
||||
|
||||
volumes:
|
||||
dm:
|
||||
|
||||
@@ -12,7 +12,7 @@ FROM debian:bullseye AS updated-debian
|
||||
SHELL ["/bin/bash", "-exo", "pipefail", "-c"]
|
||||
|
||||
LABEL name="BitDeals Module"
|
||||
EXPOSE 4999 80
|
||||
EXPOSE 4999/tcp 80/tcp
|
||||
|
||||
## Debian update; install dependencies
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
@@ -80,15 +80,16 @@ RUN su -l --shell /bin/bash $UNAME -c 'cd '$UHOME' ; \
|
||||
./configure ; \
|
||||
cd cmake-build-release ; \
|
||||
make' ; \
|
||||
git config --global --add safe.directory $UHOME/apostol-dm ;\
|
||||
cd $UHOME/apostol-dm/cmake-build-release ;\
|
||||
make install
|
||||
|
||||
## Download "build" directory from web-dm repository
|
||||
## Download "build" directory from web-build repository
|
||||
RUN su -l --shell /bin/bash $UNAME -c 'cd '$UHOME' ; \
|
||||
mkdir web-dm ;\
|
||||
cd web-dm ;\
|
||||
mkdir web-build ;\
|
||||
cd web-build ;\
|
||||
git init ;\
|
||||
git remote add -f origin https://git.bitdeals.org/private/web-dm/ ;\
|
||||
git remote add -f origin https://git.bitdeals.org/private/web-build/ ;\
|
||||
echo build >> .git/info/sparse-checkout ;\
|
||||
git pull origin master'
|
||||
|
||||
@@ -104,7 +105,7 @@ COPY --from=development /usr/local/ /usr/local/
|
||||
COPY --from=development /etc/dm/ /etc/dm/
|
||||
COPY --from=development /usr/sbin/dm /usr/sbin/dm
|
||||
COPY --from=development /etc/init.d/dm /etc/init.d/dm
|
||||
COPY --from=development --chown=www-data:www-data $UHOME/web-dm/build /var/www/web
|
||||
COPY --from=development --chown=www-data:www-data $UHOME/web-build/build /var/www/web
|
||||
COPY --from=development --chown=$UNAME:$UNAME $UHOME/apostol-dm/docker/bitdeals-test.asc /etc/dm/bitdeals-test.asc
|
||||
#COPY --from=development --chown=$UNAME:$UNAME $UHOME/apostol-dm/docker/bitdeals.asc /etc/dm/bitdeals.asc
|
||||
COPY --from=development $UHOME/apostol-dm/docker/entrypoint.sh /entrypoint.sh
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
|
||||
<img src="/private/apostol-dm/raw/branch/master/docker/screenshots/Authorization.png" width="23%"></img> <img src="/private/apostol-dm/raw/branch/master/docker/screenshots/Account_details.png" width="23%"></img> <img src="/private/apostol-dm/raw/branch/master/docker/screenshots/Deal_information.png" width="23%"></img> <img src="/private/apostol-dm/raw/branch/master/docker/screenshots/Create_deal.png" width="23%"></img>
|
||||
|
||||
# Intro
|
||||
|
||||
Deal Module (dm) - the Bitdeals daemon that provides a special interfaces for creating and modifying user accounts and deals.
|
||||
|
||||
# Running DM docker container
|
||||
|
||||
On first run the initialization script will create, if empty, a new bitcoin and PGP keys and start the daemon.
|
||||
|
||||
`docker run -i -t --rm --mount src=bitdeals-conf,dest=/etc/dm -p 127.0.0.1:4999:4999 -p 127.0.0.1:80:80 bitdeals/apostol-dm`
|
||||
On first run the initialization script will create (if it is empty), a new bitcoin and PGP keys and start the daemon.
|
||||
|
||||
Daemon settings which may specified by an environment variables are saved to the daemon config files on the Docker Volume.
|
||||
|
||||
To use the BitDeals API you should register an user account on a BitDeals site and get a "client_id", "client_secret" at the account dashboard.
|
||||
|
||||
# Usage
|
||||
|
||||
Here are some example snippets to help you get started creating a container.
|
||||
@@ -28,8 +27,8 @@ services:
|
||||
- DM_BITCOIN=<address>
|
||||
- DM_FEE=<0.1%>
|
||||
- DM_PGP_PASSWORD=<password>
|
||||
- DM_FORWEB=http://127.0.0.1:4999
|
||||
- DM_WEBAUTH=0
|
||||
- DM_LC_ALL=en_US.UTF-8
|
||||
- |
|
||||
DM_PGP_SEC=
|
||||
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
||||
@@ -39,8 +38,10 @@ services:
|
||||
volumes:
|
||||
- dm:/etc/dm
|
||||
ports:
|
||||
- 4999:4999
|
||||
- 127.0.0.1:4999:4999
|
||||
- 80:80
|
||||
volumes:
|
||||
dm:
|
||||
```
|
||||
|
||||
## docker cli
|
||||
@@ -51,12 +52,11 @@ docker run -d \
|
||||
-e DM_BITCOIN=<address> \
|
||||
-e DM_FEE=0.1% \
|
||||
-e DM_PGP_SEC="$(gpg2 --armor --export-secret-key Account_URL)" \
|
||||
-e DM_PGP_PASSWORD=<pgp key password> \
|
||||
-e DM_WEBAUTH=0 \
|
||||
-e DM_LC_ALL=en_US.UTF-8 \
|
||||
-p 127.0.0.1:4999:4999 \
|
||||
-p 127.0.0.1:80:80 \
|
||||
-v ./dm/:/etc/dm \
|
||||
-v /home/dm/:/etc/dm/ \
|
||||
bitdeals/apostol-dm
|
||||
```
|
||||
|
||||
@@ -67,13 +67,14 @@ Container images are configured using parameters passed at runtime.
|
||||
|Parameter|Function|
|
||||
|:--------|:-------|
|
||||
|-p 80|WebUI port TCP|
|
||||
|-p 4999|Module API port TCP [(API documentation)](https://bitbucket.org/bitdeals/apostol-dm)|
|
||||
|-p 4999|dm API port [(API documentation)](/private/apostol-dm/src/branch/master/doc/REST-API-ru.md)|
|
||||
|-e DM_TESTNET=|Enable bitcoin testnet mode. Default: `0`|
|
||||
|-e DM_BITCOIN=|User account bitcoin address. Will be created if empty.|
|
||||
|-e DM_FEE=|User fee for created deals. You MUST indicate the sign “%” for a percentage of the deal amount or FIXED value in satoshi. Default: `0.1%`|
|
||||
|-e DM_FEE=|User fee for created deals. You MUST indicate the sign "%" for a percentage of the deal amount or FIXED value in satoshi. Default: `0.1%`|
|
||||
|-e DM_PGP_SEC=|Variable with ASCII armored PGP user secret key. Will be created if empty (with Account_URL in the key details).|
|
||||
|-e DM_PGP_PASSWORD=|User PGP key password.|
|
||||
|-e DM_WEBAUTH=|Enable web user interface authentication.|
|
||||
|-e DM_LC_ALL=|Set Deal Module locale.|
|
||||
|-e DM_ACCOUNT_URL=|Set Account_URL for a new account non-interactive registration. Format: http[s]://<host>[:<port>]|
|
||||
|-e DM_FORWEB=|dm host for dm Web app (the host should be accessable from your browser). Default: `http://127.0.0.1:4999`|
|
||||
|-e DM_WEBAUTH=|Enable Web app user interface authentication. Default: `0`|
|
||||
|-e DM_LC_ALL=|Set locale for dm. Default: `en_US.UTF-8`|
|
||||
|-e DM_ACCOUNT_URL=|Set Account_URL for a new account registration. Format: `http[s]://<host>[:<port>]`|
|
||||
|
||||
|
||||
@@ -1,41 +1,56 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
JpqcNKY=
|
||||
=WxTf
|
||||
mI0EXgvhAAEEAND2+o1erJQ0nZo3CygW5iqTG7DZHvK0jBysPAk5KEKJld5+wIxZ
|
||||
zTkukczM2iJ2aprqr4+v2owQ2FNmUgFUsOA/hdLFDsNXdpdvuiwe0fTRFeV9nNOB
|
||||
n6P1HowrfQLOaTScvpRy4ofe9Tp4ym/Vpm46DGgZcw1j7CFxSlITRnFrABEBAAG0
|
||||
UUJpdGNvaW5fa2V5MiAoMDJkN2Y3ZWE1YmVkZmMyMjlkNzg5ZWNkNWFhYjc2NmZj
|
||||
YjllZTY5OTdhYmVmZTEzNGU3NDJiYzM5YzdkMmEyMGY2KYjOBBMBAgA4FiEELD0e
|
||||
1FyzQjWnqlGAbV80KhwzZ5AFAl4L4QACGwMFCwkIBwIGFQoJCAsCBBYCAwECHgEC
|
||||
F4AACgkQbV80KhwzZ5BYEQQAvJD1W9EtaSINrAE7ZLRDz0AsY/SNBeLom5715Ij/
|
||||
qp3CN4ASm8i4uBScyi6li4GXWSFQEYcyxvwljKLlAxxEdEuvggXSYq6B9aZFCtsj
|
||||
fX0N4SuhCNA+IjAosMFCrgrYsPUO4TdMka0GqTk2BnGKQI7dtqnTTMHBA0q5T99L
|
||||
yo+0DUJpdERlYWxzLXRlc3SIzgQTAQIAOBYhBCw9HtRcs0I1p6pRgG1fNCocM2eQ
|
||||
BQJeC+EAAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEG1fNCocM2eQNE4E
|
||||
ALjFrjr6IvIZ5CXQzdpYVjSnYAJuL3kbmgUFVxz4yb0fmHTtjEEDa79jQ5Q+zmca
|
||||
qDEmka1dVFeaU3qY8JRbg2svqpxQMLCOMSrdO/5+rKHFfkjD/fCDtq/8Q1NCnGYb
|
||||
c3Ld/vLXLL8kzyHtWVeUs4AkpXs4r4TjIYRzdvXDjwt+tFFCaXRjb2luX2tleTEg
|
||||
KDAyNDUyZGRhZmNkYjkzNzkzYmI1MGE3OTdjNWQ1OGVkZjkwNzRhOWIxYTk4ZDU5
|
||||
NTFmYjZkYTg3MTk3ZDhkN2MyNCmIzgQTAQIAOBYhBCw9HtRcs0I1p6pRgG1fNCoc
|
||||
M2eQBQJeC+EAAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEG1fNCocM2eQ
|
||||
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
|
||||
=nkLW
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
@@ -6,18 +6,22 @@
|
||||
## And can generate a Bitcoing and PGP key filies at first start.
|
||||
##
|
||||
|
||||
DM_TESTNET=${DM_TESTNET:-0}
|
||||
## Web app requires the dmHost address should be accessable from your browser
|
||||
DM_FORWEB=${DM_FORWEB:-http://127.0.0.1:4999}
|
||||
DM_WEBAUTH=${DM_WEBAUTH:-0}
|
||||
DM_TESTNET=${DM_TESTNET:-0}
|
||||
|
||||
## Daemon config files
|
||||
DM_CONF_FILES=$(find /etc/dm/ -type f -name "*.conf" -not -name "default.conf")
|
||||
CONF_FILES=$(find /etc/dm/ -type f -name "*.conf" -not -name "default.conf")
|
||||
BITDEALS_PGP_FILE="/etc/dm/bitdeals.asc"
|
||||
BITDEALS_TEST_PGP_FILE="/etc/dm/bitdeals-test.asc"
|
||||
PGP_SEC_FILE="/etc/dm/pgp.sec"
|
||||
BX_CONF_FILE="/usr/local/etc/libbitcoin/bx.cfg"
|
||||
DM_WEB_CONF_FILE="/var/www/web/config.js"
|
||||
WEB_CONF_FILE="/var/www/web/config.js"
|
||||
WEB_CONF_SITES="/etc/dm/sites/default.json"
|
||||
WEB_CONF_OAUTH="/etc/dm/oauth2/default.json"
|
||||
|
||||
#tput variable for color output
|
||||
#tput variable for log color output
|
||||
export TERM=xterm
|
||||
|
||||
## Write a default variables to dm config
|
||||
@@ -25,50 +29,58 @@ sed -i -e "/\[main\]/,/\[/ s/.*user=.*/user=$UNAME/" \
|
||||
-e "/\[main\]/,/\[/ s/.*group=.*/group=$UNAME/" \
|
||||
-e "/\[daemon\]/,/\[/ s/.*daemon=.*/daemon=false/" \
|
||||
-e "/\[server\]/,/\[/ s/.*listen=.*/listen=0.0.0.0/" \
|
||||
-e "/\[server\]/,/\[/ s/.*port=.*/port=4999/" $DM_CONF_FILES
|
||||
-e "/\[server\]/,/\[/ s/.*port=.*/port=4999/" $CONF_FILES
|
||||
|
||||
## Change dm Website config
|
||||
sed -i 's/dmHost:.*/dmHost: "http:\/\/0.0.0.0:4999",/' $DM_WEB_CONF_FILE
|
||||
sed -i "s|dmHost:.*|dmHost: \"$DM_FORWEB\",|" $WEB_CONF_FILE
|
||||
|
||||
if [ "$DM_WEBAUTH" = 1 -o "$DM_WEBAUTH" = true ]; then
|
||||
sed -i 's/confAuthorize:.*/confAuthorize: true,/' $DM_WEB_CONF_FILE
|
||||
sed -i 's/confAuthorize:.*/confAuthorize: true,/' $WEB_CONF_FILE
|
||||
else
|
||||
sed -i 's/confAuthorize:.*/confAuthorize: false,/' $DM_WEB_CONF_FILE
|
||||
sed -i 's/confAuthorize:.*/confAuthorize: false,/' $WEB_CONF_FILE
|
||||
fi
|
||||
if [ "$DM_LC_ALL" = "ru_RU.UTF-8" ]; then
|
||||
sed -i 's/defaultLanguage:.*/defaultLanguage: "ru",/' $DM_WEB_CONF_FILE
|
||||
sed -i 's/defaultLanguage:.*/defaultLanguage: "ru",/' $WEB_CONF_FILE
|
||||
else
|
||||
sed -i 's/defaultLanguage:.*/defaultLanguage: "en",/' $DM_WEB_CONF_FILE
|
||||
sed -i 's/defaultLanguage:.*/defaultLanguage: "en",/' $WEB_CONF_FILE
|
||||
fi
|
||||
|
||||
[ "$DM_LC_ALL" ] && \
|
||||
export LC_ALL="$DM_LC_ALL"
|
||||
|
||||
## Add DM_FORWEB to dm oauth config
|
||||
if ! grep -q "$DM_FORWEB" $WEB_CONF_SITES; then
|
||||
sed -i "/\"hosts\":/ s|]|, \"$(basename $DM_FORWEB)\"]|" $WEB_CONF_SITES
|
||||
sed -i -e "/\"redirect_uris\":/ s|$|\n\t\"$DM_FORWEB/oauth2/callback\",|" \
|
||||
-e "/\"redirect_uris\":/ s|$|\n\t\"$DM_FORWEB/oauth2/code\",|" $WEB_CONF_OAUTH
|
||||
fi
|
||||
|
||||
|
||||
## Write the PGP keys locations to dm config
|
||||
sed -i "/\[pgp\]/,/\[/ s%^private=.*%private=$PGP_SEC_FILE%" $DM_CONF_FILES
|
||||
sed -i "/\[pgp\]/,/\[/ s%^private=.*%private=$PGP_SEC_FILE%" $CONF_FILES
|
||||
|
||||
if [ "$DM_TESTNET" = 1 -o "$DM_TESTNET" = true ]; then
|
||||
sed -i "/\[pgp\]/,/\[/ s%^public=.*%public=$BITDEALS_TEST_PGP_FILE%" $DM_CONF_FILES
|
||||
sed -i "/\[pgp\]/,/\[/ s%^public=.*%public=$BITDEALS_TEST_PGP_FILE%" $CONF_FILES
|
||||
else
|
||||
sed -i "/\[pgp\]/,/\[/ s%^public=.*%public=$BITDEALS_PGP_FILE%" $DM_CONF_FILES
|
||||
sed -i "/\[pgp\]/,/\[/ s%^public=.*%public=$BITDEALS_PGP_FILE%" $CONF_FILES
|
||||
fi
|
||||
|
||||
## Write a user variables to the daemon config files.
|
||||
if [ "$DM_BITCOIN" ]; then
|
||||
sed -i "/\[module\]/,/\[/ s/^address=.*/address=$DM_BITCOIN/" $DM_CONF_FILES
|
||||
sed -i "/\[module\]/,/\[/ s/^address=.*/address=$DM_BITCOIN/" $CONF_FILES
|
||||
fi
|
||||
if [ "$DM_FEE" ]; then
|
||||
sed -i "/\[module\]/,/\[/ s/^#\?fee=.*/fee=$DM_FEE/" $DM_CONF_FILES
|
||||
sed -i "/\[module\]/,/\[/ s/^#\?fee=.*/fee=$DM_FEE/" $CONF_FILES
|
||||
fi
|
||||
if [ "$DM_PGP_PASSWORD" ] ; then
|
||||
#escaping the '/' in password line
|
||||
#escaping the '/' in password line for use it in `sed`
|
||||
DM_PGP_PASSWORD="$(echo $DM_PGP_PASSWORD | sed 's/\//\\\//g')"
|
||||
sed -i "/\[pgp\]/,/\[/ s/^passphrase=.*/passphrase=$DM_PASSWORD/" $DM_CONF_FILES
|
||||
sed -i "/\[pgp\]/,/\[/ s/^passphrase=.*/passphrase=$DM_PGP_PASSWORD/" $CONF_FILES
|
||||
fi
|
||||
if [ "$DM_TESTNET" = 1 -o "$DM_TESTNET" = true ]; then
|
||||
sed -i "/\[main\]/,/\[/ s/.*testnet=.*/testnet=true/" $DM_CONF_FILES
|
||||
sed -i "/\[main\]/,/\[/ s/.*testnet=.*/testnet=true/" $CONF_FILES
|
||||
else
|
||||
sed -i "/\[main\]/,/\[/ s/.*testnet=.*/testnet=false/" $DM_CONF_FILES
|
||||
sed -i "/\[main\]/,/\[/ s/.*testnet=.*/testnet=false/" $CONF_FILES
|
||||
fi
|
||||
if [ "$DM_BITDEALS_PGP" ]; then
|
||||
echo "$BITDEALS_PGP" > "$BITDEALS_PGP_FILE"
|
||||
@@ -90,7 +102,7 @@ then
|
||||
#GNUPGHOME="$(mktemp -d)" ;# works for gpg2
|
||||
gpg --faked-system-time $(TZ=UTC date --date=$(date +'%Y-%m-%d') +%s) \
|
||||
--pinentry-mode loopback --passphrase "$DM_PGP_PASSWORD" \
|
||||
--batch --gen-key 2>/dev/null <<-EOF
|
||||
--openpgp --batch --gen-key 2>/dev/null <<-EOF
|
||||
Key-Type: RSA
|
||||
Key-Usage: cert,sign
|
||||
Key-Length: 1024
|
||||
@@ -120,7 +132,7 @@ if [ -f "$PGP_SEC_FILE" ]; then
|
||||
chmod 600 "$PGP_SEC_FILE"
|
||||
fi
|
||||
|
||||
## Setup testnet settings in libbitcoin-explorer config
|
||||
## Setup testnet settings in libbitcoin-explorer config for new user bitcoin address generation
|
||||
[ "$DM_TESTNET" = 1 -o "$DM_TESTNET" = true ] && \
|
||||
sed -i -e "/\[wallet\]/,/\[/ s/wif_version? =.*/wif_version = 239/" \
|
||||
-e "/\[wallet\]/,/\[/ s/hd_public_version =.*/hd_public_version = 70617039/" \
|
||||
@@ -137,8 +149,8 @@ fi
|
||||
-e "/#block_url = tcp:\/\/testnet.libbitcoin.net:19093/ s/^#//" \
|
||||
-e "/#transaction_url = tcp:\/\/testnet.libbitcoin.net:19094/ s/^#//" "$BX_CONF_FILE"
|
||||
|
||||
## Create new Bitcoin keys. If user address is empty.
|
||||
_DM_BITCOIN="$(sed -n '/^[ \t]*\[module\]/,/\[/s/^[ \t]*address[ \t]*=[ \t]*//p' $DM_CONF_FILES)"
|
||||
## Create new Bitcoin keys. If user address (_DM_BITCOIN var) is empty.
|
||||
_DM_BITCOIN="$(sed -n '/^[ \t]*\[module\]/,/\[/s/^[ \t]*address[ \t]*=[ \t]*//p' $CONF_FILES)"
|
||||
|
||||
if [ -z "$_DM_BITCOIN" ]
|
||||
then
|
||||
@@ -152,16 +164,16 @@ then
|
||||
PRIVKEYWIF="$(bx ec-to-wif $PRIVKEY)"
|
||||
|
||||
## Write the bitcoin address to the daemon config
|
||||
sed -i "/\[module\]/,/\[/ s/^address=.*/address=$BITCOIN/" $DM_CONF_FILES
|
||||
sed -i "/\[module\]/,/\[/ s/^address=.*/address=$BITCOIN/" $CONF_FILES
|
||||
|
||||
## Show bitcoin key
|
||||
cat <<-EOF
|
||||
|
||||
Please backup this BITCOIN KEY:"
|
||||
Private key (raw form): $PRIVKEY"
|
||||
Private key (WIF form): ${B}$PRIVKEYWIF${N}"
|
||||
Public key: $PUBKEY"
|
||||
Bitcoin address: $BITCOIN\n"
|
||||
Please backup this BITCOIN KEY:
|
||||
Private key (raw form): $PRIVKEY
|
||||
Private key (WIF form): ${B}$PRIVKEYWIF${N}
|
||||
Public key: $PUBKEY
|
||||
Bitcoin address: $BITCOIN
|
||||
|
||||
EOF
|
||||
else
|
||||
|
||||
@@ -12,6 +12,17 @@ server {
|
||||
root /var/www/web;
|
||||
index index.html;
|
||||
try_files $uri $uri/ /index.html;
|
||||
|
||||
# location ^~ /api/ {
|
||||
# proxy_pass http://127.0.0.1:4999;
|
||||
# proxy_http_version 1.1;
|
||||
# proxy_set_header Host $host;
|
||||
# proxy_set_header Connection "close";
|
||||
# proxy_set_header X-Forwarded-Proto $scheme;
|
||||
# proxy_set_header X-Real-IP $remote_addr;
|
||||
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
# }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BIN
docker/screenshots/Account_details.png
Normal file
BIN
docker/screenshots/Account_details.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 244 KiB |
BIN
docker/screenshots/Authorization.png
Normal file
BIN
docker/screenshots/Authorization.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 63 KiB |
BIN
docker/screenshots/Create_deal.png
Normal file
BIN
docker/screenshots/Create_deal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
BIN
docker/screenshots/Deal_information.png
Normal file
BIN
docker/screenshots/Deal_information.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 168 KiB |
Reference in New Issue
Block a user