Frontend for the Vocdoni Bridge voting client
There are two types of docker images, bootstrap generated and fully static, depending on the Dockerfile used:
-
Dockerfile: By default, the image includes all NodeJS dependencies, and generates the static site at bootstrap based on the env vars provided. Hence, the initial run of the image takes few minutes to start since it has to build itself. This image is for testing and/or developing purposes. -
Dockerfile.static: This image generates the static site at build time, and serves the content with nginx, so once it's built no parameters can be configured at runtime. It starts instantly as you would expect. This is a final image, to be used in production environments.
To deploy using Docker Compose follow the instructions.
- GNU/Linux based operating system
- Docker engine (version 19.03 or above) Installation
- Docker compose (version 1.24 or above) Installation
- A DNS domain
Configure the .env file with the following variables:
BRIDGE_UI_TAGDocker tag of the image (main, stage, release)VOCDONI_ENVIRONMENTEnviromnent type (dev, stage, prod)BOOTNODES_URLURL to fetch the JSON containing nodes information (gateways, etc.)SIGNALING_ORACLE_URLThe URL of the signaling oracle, used to create gassless proposalsETH_NETWORK_IDEthereum nework ID (xdai, goerli...)DOMAINDomain name to be served. Used by Traefik to fetch SSL certificates from Let's EncryptLE_EMAILEmail associated to the domain. Used by Traefik to fetch SSL certificates from Let's Encrypt
TBD: Add all remaining variables.
Pull the images
docker-compose pull
Deploy all services
docker-compose up -d
After a while, the bridge should be ready at https://