Customizing Intrigue Core with your own Docker image

NOTE: this post will tell you how to build the standalone Docker image locally on your system. If you’d just like to USE the latest standalone docker image, there’s a pre-built image available on DockerHub

To build an Intrigue Core image using Docker, you’ll need to install Docker on your machine.

Next, pull down the Intrigue Core repository to your local machine with a git clone and jump into the directory:

$ git clone https://github.com/intrigueio/intrigue-core
$ cd intrigue-core

Then use Docker to build an image:

$ docker build -f Dockerfile. -t intrigue-core

Now, we can run the newly-minted image with Docker, and we’ll want to expose the UI/API listening on :7777! 

###
### Use the following command to start the Intrigue Core service
###
### NOTE: remove the -v option if you do not need to preserve
### data between runs!
###
$ docker run -e LANG=C.UTF-8 \
-v ~/intrigue-core-data:/data \
-p 0.0.0.0:7777:7777 \
--memory=8g \
-it intrigue-core

NOTE: If you’re running on a system as a user other than root, you may need to add the —privileged flag.

This will start the docker image with the intrigue-core services, giving you output that looks like the following (shortened for brevity):

Starting PostgreSQL 12.0 database server                                                                                                                                                           [ OK ] 
Starting redis-server: redis-server.
Starting intrigue-core processes
[+] Setup initiated!
[+] Generating system password: [PASSWORD]
[+] Copying puma config....
[ ] File already exists, skipping: /core/config/puma.rb

* Listening on tcp://0.0.0.0:7777
Use Ctrl-C to stop

As it starts up, you can see that it generates a unique password. You can  now log in with the username intrigue and the password above at https://127.0.0.1:7777 on your host machine!

Now, you’re up and running,  see: Up and running with Intrigue Core