Docker - Phase 1

Setup Postgres, Docker, Pull Plugin Docker Image & Setup Plugin Node

Please ensure, you have git & curl command installed already. If not, use the following command

sudo apt install git

sudo apt install curl

Step 1 - Download the Plugin Installation Script

NOTE: If you are having root access, please don't install from /root folder, better start from /home

git clone -b docker_branch_v1 https://github.com/GoPlugin/plugin-deployment.git && cd plugin-deployment

Step 2 - Postgres Setup

To set up custom password for PostgreSQL database execute the below mentioned command in plugin-deployment directory. The user needs to change the word ‘password’ to their own password for the database.

perl -i -p -e 's/plugin1234/yourpassword/g' postgresInstall.bash plugin.env ei.env

For example, here the password we are setting is 'yourpassword', please change it to your custom password.

NOTE: Don't use any special characters, just alphanumeric password is sufficient

perl -i -p -e 's/plugin1234/mypassword/g' postgresInstall.bash plugin.env ei.env

What's inside the plugin.env?

ETH_CHAIN_ID=50
ETH_URL=wss://pluginws.blocksscan.io
MIN_OUTGOING_CONFIRMATIONS=2
PLI_CONTRACT_ADDRESS=0xff7412ea7c8445c46a8254dfb557ac1e48094391
PLUGIN_TLS_PORT=0
SECURE_COOKIES=false
ALLOW_ORIGINS=*
DATABASE_TIMEOUT=0
FEATURE_EXTERNAL_INITIATORS=true
PLUGIN_DEV=true
DATABASE_URL=postgresql://postgres:[email protected]:5432/plugin_mainnet_db?sslmode=disable
ENABLE_EXPERIMENTAL_ADAPTERS=true
POSTGRES_USER=postgres
POSTGRES_PASSWORD=plugin1234
POSTGRES_DB=plugin_mainnet_db

Install PostgreSQL & Config PostgreSQL: (Just copy and paste each line) and make sure there is no error before you move on to the next line of commands

Step 3 - Setup Docker

Step 4 - Pull Plugin image

Step 5 - Copy down the image ID using below command

Step 6 - Change your credentials

It is important to change the credentials in these two files, inside the plugin-deployment directory.

These files are hidden files and you can edit using below command

  • .env.password

    • This is the password that helps generate and secure the Keystore wallet. Basically, your Plugin node will generate a wallet and this password is key to the same.

    • It follows certain standards and password conditions which you can get it from here

      • For example -

  • .env.apicred

    • This file has credentials that allows you to log in to PLUGIN GUI

    • You can use your email ID & password of your choice

Once the above files are updated, then you can proceed to the next!

Step 7 - Override the Image ID in the below command and run the docker container

For example, after you change the image ID, the command should be-

Once it is successful, you will see something like this

Step 8 - Get the container ID using the below command

Step 9 - Change the container_ID in below command and execute from your directory

For instance

Your node will start with status as ‘online’.

If you want to probe your running node, then you can use the command format given below.

You can replace <YOUR_COMMAND> with

- pm2 status - pm2 logs 0

Video Tutorial for this section -

Last updated