Separate Frontend
Last updated
Was this helpful?
Last updated
Was this helpful?
This option is preferred if you want to modify the UI and/or have more control over the frontend.
Docker v20.10+
Docker-compose 2.x.x+
Running Ethereum JSON RPC client
Please see for additional information
Configure the app by passing the necessary environment variables when starting the Docker container..
Alternatively, you can build your own docker image and run your app using that container. Please follow this .
We assume Blockscout is already deployed in your environment.
Replace the example environment variables in the external-frontend.yml
file.
By default, ENV variables are set to testing settings (anvil) in the environment:
list. Replace with env vars from your existing backend. The only one you NEED to keep is API_V2_ENABLED='true'
. Any values added here will override existing variables in your instance when you start the container.
You will pass in the frontend proxy url when running docker compose. The standard configuration for the frontend is http://host.docker.internal:3000
but if you've made any changes pass in your url.
Run all containers (up) and run processes in the background (-d).
Check progress and view containers:
You should see the following containers:
Unless you overrode the default configs (or did not provide the FRONT_PROXY_PASS
variable) , you will see the default port for the backend default is 4000, and 3000 for the frontend.
There are several required ENVs for the frontend. If required variables are missing or invalid the frontend will show in error message and will not run the app.
To adjust, stop the frontend container, update the env file (or pass variables directly), and restart the container.
Note that in the smart-contract-verifier.envs
the SMART_CONTRACT_VERIFIER__SOLIDITY__FETCHER__LIST__LIST_URL
variable is different depending on your OS. The default is Linux, if you are running macOS or Windows be sure to comment out the appropriate variables.
However, with the proxy setup the whole application will default to port 80 (which is just localhost). Your instance should now be served on localhost. .
The common list of .
A detailed list with all available ENVs is in the
Typically the default values will provide what you need for the , , and files.