ILP Kit Docker-Compose
Deploy a complete ILP kit through docker
Installing Docker on a vps is not always as straight-forward as it may seem; there are several versions of Docker, and the docker-compose.yml file used in this repo is not compatible with all of them. Before you start, consider whether the Azure instructions are an option for you, they are the easiest ilp-kit install instructions to use.
In order to start an ILP Kit, you need to:
- Have a domain that points to your host machine.
- Have an email address (different from the above domain).
- Decide on a currency code for your ILP Kit's ledger.
- Generate a SECURE base64 secret value (eg. with
openssl rand 32 | base64).
To start ILP Kit, run the command below, but with your own values instead of these placeholders.
First, ping your domain name to double-check that it points to the IP address of your server. If it does, ssh to your server, and run:
ILP_DOMAIN='example.com' \ ILP_EMAILemail@example.com' \ ILP_CURRENCY='USD' \ ILP_SECRET='Z4ZwCWbuo18eMrS1Tgn5L0FPUgK/2pKvgdvZzMogPw4' \ docker-compose up -d
Be very careful to use the same hostname, without spelling mistakes, in the
ILP_DOMAIN variable there,
and in your DNS zone. This is the mistake that most often causes errors for this deploy method.
Also take care to use an upper-case currency code, not lower-case; it should be one of the currency codes supported by fixer.io (unless you configure your ilp-kit with a custom exchange rate backend).
Log in to your ilp-kit
First, wait for about 10 minutes! Until then, there will be nothing to see yet on your ilp-kit URL, or just an nginx default page.
Then, go to your ilp-kit's URL with your browser, and make sure to explicitly type 'https://' in the address bar first (so https://example.com,
and not http://example.com or example.com, in the example above). Once you see a login page, log in with user 'admin' and your
ILP_SECRET as the password.
If you deployed on Azure, then you will have a user and password for your vps; use these to ssh to your vps, and
when you log in, your
ILP_SECRET will be printed as part of the ssh Welcome Banner.
If you generated your
ILP_SECRET yourself like described above, then you can directly paste it into the password field on the login
You can watch the logs with
docker-compose logs -f ilp-kit.
Check that all three containers started successfully, using
docker ps -a and for instance
docker logs letsencrypt.
postgres containers are all running, log in to your ilp-kit using user 'admin', and
ILP_SECRET you generated as the password.
To auto deploy to Azure see the Azure Resource Template
- ILP Kit
- Postgres database (storing in the local
- Automatic Letsencrypt setup (storing certs and keys in the
- Nginx reverse proxy, exposing ILP Kit on port 443.
- Use different secrets between API, admin, connector, etc.
- Allow advanced configuration for options like Github and Mailgun.