summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMS <ms@taler.net>2022-09-27 19:11:41 +0200
committerMS <ms@taler.net>2022-09-27 19:19:24 +0200
commitf43ed91e00ed091cf137cec4751dc44fbe2c20ef (patch)
tree2578b2b963d089f1233935af13235725a8dbc3fb
parent7a738818b79ccb7aa29e132fe61ab13f9e8828e6 (diff)
downloaddeployment-f43ed91e00ed091cf137cec4751dc44fbe2c20ef.tar.gz
deployment-f43ed91e00ed091cf137cec4751dc44fbe2c20ef.tar.bz2
deployment-f43ed91e00ed091cf137cec4751dc44fbe2c20ef.zip
Docker skeleton
-rw-r--r--docker/hybrid/docker-compose.yml12
-rw-r--r--docker/hybrid/images/exchange/Dockerfile13
-rw-r--r--docker/hybrid/images/exchange/startup.sh15
-rw-r--r--docker/hybrid/images/exchange/taler.conf54
-rw-r--r--docker/hybrid/images/postgres/Dockerfile7
5 files changed, 101 insertions, 0 deletions
diff --git a/docker/hybrid/docker-compose.yml b/docker/hybrid/docker-compose.yml
new file mode 100644
index 0000000..9d6fc94
--- /dev/null
+++ b/docker/hybrid/docker-compose.yml
@@ -0,0 +1,12 @@
+version: '3' # '0' is not allowed
+
+services:
+
+ talerdb:
+ build: ./images/postgres
+ ports:
+ - 8888:5432
+ exchange:
+ build: ./images/exchange
+ depends_on:
+ - talerdb
diff --git a/docker/hybrid/images/exchange/Dockerfile b/docker/hybrid/images/exchange/Dockerfile
new file mode 100644
index 0000000..0289729
--- /dev/null
+++ b/docker/hybrid/images/exchange/Dockerfile
@@ -0,0 +1,13 @@
+FROM taler_local/taler_base
+RUN git clone git://git.taler.net/exchange /exchange
+
+WORKDIR /exchange
+RUN ./bootstrap
+RUN ./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc
+RUN make install
+
+COPY taler.conf /config/taler.conf
+COPY startup.sh /
+RUN chmod +x /startup.sh
+
+ENTRYPOINT /startup.sh
diff --git a/docker/hybrid/images/exchange/startup.sh b/docker/hybrid/images/exchange/startup.sh
new file mode 100644
index 0000000..1161549
--- /dev/null
+++ b/docker/hybrid/images/exchange/startup.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+export LD_LIBRARY_PATH=/usr/local/lib
+
+sed -i 's/\${EXCHANGE_URL}/http:\/\/exchange.example.com\//' /config/taler.conf
+
+taler-exchange-dbinit -c /config/taler.conf --reset # &> /dev/null
+
+#taler-exchange-secmod-eddsa -c /config/taler.conf &
+#taler-exchange-secmod-rsa -c /config/taler.conf &
+#taler-exchange-secmod-cs -c /config/taler.conf &
+
+#EXCHANGE_MASTER_PUB=$(taler-exchange-offline -c /config/taler.conf setup)
+#sed -i "s/\${EXCHANGE_MASTER_PUB}/$EXCHANGE_MASTER_PUB/" /config/taler.conf
+#taler-exchange-httpd -c /config/taler.conf
diff --git a/docker/hybrid/images/exchange/taler.conf b/docker/hybrid/images/exchange/taler.conf
new file mode 100644
index 0000000..ca78bf6
--- /dev/null
+++ b/docker/hybrid/images/exchange/taler.conf
@@ -0,0 +1,54 @@
+# TO REPLACE (wrapped with ${}):
+
+# NEXUS_URL
+# EXCHANGE_URL
+# CURRENCY
+# EXCHANGE_MASTER_PUB
+
+[paths]
+taler_data_home = /data
+
+[taler-exchange-secmod-eddsa]
+unixpath = /eddsa.http
+
+[taler-exchange-secmod-rsa]
+sm_priv_key = /data/taler-exchange-secmod-rsa/secmod-private-key
+unixpath = /sockets/exchange-secmod-rsa.sock
+
+[taler-exchange-secmod-cs]
+sm_priv_key = /data/taler-exchange-secmod-cs/secmod-private-key
+unixpath = /sockets/exchange-secmod-cs.sock
+
+[exchange-accountcredentials-1]
+username = exchange-nexus-user
+wire_gateway_auth_method = basic
+wire_gateway_url = ${NEXUS_URL}/facades/exchange-taler-facade/taler-wire-gateway/
+password = exchange-nexus-password
+
+[exchange-account-1]
+enable_credit = yes
+enable_debit = yes
+payto_uri = payto://iban/SANDBOXX/DE159593?receiver-name=Name+unknown
+
+[exchange]
+master_public_key = ${EXCHANGE_MASTER_PUB}
+privacy_dir = /usr/local/share/taler/exchange/pp
+terms_dir = /usr/local/share/taler/exchange/tos
+base_url = ${EXCHANGE_URL}
+unixpath = /sockets/exchange.sock
+serve = unix
+
+[exchangedb-postgres]
+config = postgres://talerdb/taler
+
+[coin_${CURRENCY}_1]
+rsa_keysize = 2048
+fee_deposit = ${CURRENCY}:0.01
+fee_refund = ${CURRENCY}:0.01
+fee_refresh = ${CURRENCY}:0.01
+fee_withdraw = ${CURRENCY}:0.01
+duration_legal = 10 years
+duration_spend = 5 years
+duration_withdraw = 3 years
+value = ${CURRENCY}:1
+cipher = RSA
diff --git a/docker/hybrid/images/postgres/Dockerfile b/docker/hybrid/images/postgres/Dockerfile
new file mode 100644
index 0000000..9f5cb69
--- /dev/null
+++ b/docker/hybrid/images/postgres/Dockerfile
@@ -0,0 +1,7 @@
+FROM postgres
+ENV POSTGRES_HOST_AUTH_METHOD=trust
+
+RUN echo "\
+CREATE ROLE root SUPERUSER;\n\
+CREATE DATABASE taler WITH OWNER root;\n\
+" > /docker-entrypoint-initdb.d/init.sql