Dockerfile fix

This commit is contained in:
2023-03-10 02:16:28 -04:00
parent 001bebe75a
commit f02ec2cad2
12 changed files with 166 additions and 99 deletions

View File

@@ -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"
]
}
}

View File

@@ -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
View 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:

View File

@@ -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

View File

@@ -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>]`|

View File

@@ -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
XawD/3EGWzl6RS9HuZmXLZ9FVu6Rm14SD8Y2Mbco2g6tO1+UMI+M1xAXMJjzEXdc
KZVx/9kcIao/e9ZG8xmHwXmezdWNMrpbYJ/waoA4NfrHMUiEVCTyJUwMOVQB3eQG
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
=nkLW
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -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

View File

@@ -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;
# }
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB