commit 36eb461591c2745f1514286f2a6fd7895801b5d1
parent 3d5accf0aed02c7e667a98ebd4a375aaae75e848
Author: MS <ms@taler.net>
Date: Mon, 6 Mar 2023 13:40:31 +0100
NLnet docs (Docker setup).
Diffstat:
1 file changed, 41 insertions(+), 16 deletions(-)
diff --git a/libeufin/local-currencies-tutorial.rst b/libeufin/local-currencies-tutorial.rst
@@ -50,7 +50,7 @@ password as ``secret``.
.. code-block:: console
$ export LIBEUFIN_SANDBOX_ADMIN_PASSWORD=secret
- $ libeufin-sandbox serve
+ $ libeufin-sandbox serve --port 5016
If Sandbox is running, jump to `this part <after-installation_>`_.
@@ -79,28 +79,53 @@ Now build the image with the following command.
$ docker build -t nlnet .
If the build step went well, the following command
-should suffice to start Sandbox and bind it to the
-host's port 5000.
+should suffice to start Sandbox and NGINX, by mapping
+the host's 8080 port to the container's 80.
.. code-block:: console
+ $ export LIBEUFIN_EXPOSED_PORT=8080
+ $ docker run \
+ -e LIBEUFIN_EXPOSED_PORT=$LIBEUFIN_EXPOSED_PORT \
+ -p $LIBEUFIN_EXPOSED_PORT:80 \
+ -it nlnet
- $ docker run -p 5000:5000 -v libeufin_data:/libeufin-data -it nlnet
+The previous command uses a default admin password of 'admin'.
+Do **CHANGE** the admin password in a production scenario. The
+following command shows how to start the services with custom
+values.
-The previous command uses a default admin password of
-'admin' and the NB currency. Do **CHANGE** the admin
-password in a production scenario. The following command
-shows how to start the Sandbox with custom administrator
-password and currency (defaults to EUR otherwise).
+.. note::
+ Start the services this way to provide the environment
+ suitable for this tutorial.
.. code-block:: console
- $ export MY_PASSWORD=secret
- $ docker run -e LIBEUFIN_SANDBOX_ADMIN_PASSWORD=$MY_PASSWORD -e CURRENCY=NB -v libeufin_data:/libeufin-data -p 5000:5000 -it nlnet
+ $ export MY_ADMIN_PASSWORD=secret
+ $ export LIBEUFIN_EXPOSED_PORT=8080
+ $ docker run \
+ -e LIBEUFIN_SANDBOX_ADMIN_PASSWORD=$MY_ADMIN_PASSWORD
+ -e CURRENCY=NB \
+ -v libeufin_data:/libeufin-data \
+ -p $LIBEUFIN_EXPOSED_PORT:80 \
+ -p 5016:5016 \
+ -it nlnet
+
+In the example above, Docker:
+
+0. Sets the admin password to *secret*
+1. Sets the currency to *NB*
+2. Stores the database in a *volume*. This helps to
+ share the database between containers.
+3. Maps the host's 8080 to the container's 80 port.
+4. Maps the host's 5016 to the container's 5016 port.
+ That lets the CLI reach Sandbox inside the container,
+ and therefore run the tutorial.
+By success, Web browsers get the UI by visiting localhost:8080!
-This setup stores the database in a Docker *volume*. The following
-command therefore resets all the data stored by LibEuFin.
+The following command shows how to delete the database,
+by deleting its volume.
.. code-block:: console
@@ -115,11 +140,11 @@ documentation for further information.
If Sandbox is running
=====================
-Sandbox should now be reachable on the port 5000. Check it with:
+Sandbox should now be reachable on the port 5016. Check it with:
.. code-block:: console
- $ curl http://localhost:5000
+ $ curl http://localhost:5016
If Sandbox is correctly running, it should respond with a greeting message.
At this point, the administrator can add a new merchant to the bank with the
@@ -135,7 +160,7 @@ following command.
export LIBEUFIN_SANDBOX_USERNAME=admin
export LIBEUFIN_SANDBOX_PASSWORD=secret
- export LIBEUFIN_SANDBOX_URL=http://localhost:5000/
+ export LIBEUFIN_SANDBOX_URL=http://localhost:5016/
export LIBEUFIN_NEW_CIRCUIT_ACCOUNT_PASSWORD=shop-secret
libeufin-cli \