Adding Blockscout explorer deployment to devnet docker-compose#45
Adding Blockscout explorer deployment to devnet docker-compose#45vbaranov wants to merge 17 commits intoflashbots:mainfrom
Conversation
|
When I do But when I open localhost in the browser, i get an nginx error: |
|
@metachris yeah, I mentioned in the note, that the frontend container starts comparatively long (1-2 minutes)
After 1-2 minutes from the docker containers launch, explorer UI will be available at http://localhost. |
|
Why does the frontend container need 1-2 minutes to start? This seems unreasonably long 🤔 We'd also appreciate if we could collapse the seven blockscout containers down to a single one, even if it's run just in some dev mode. Can you do that? |
We'll try to address it in the next release of the frontend.
Not sure, I'd say this will complicate components basic updates delivery. |
This has been resolved with the latest version of frontend (PR has been updated).
I created an alternative PR #69 with 2 containers for Blockscout in total: application + DB |
0x416e746f6e
left a comment
There was a problem hiding this comment.
thanks for the PR @vbaranov!
I got couple of questions.
| # INDEXER_TOKEN_INSTANCE_LEGACY_SANITIZE_BATCH_SIZE=10 | ||
| # TOKEN_INSTANCE_OWNER_MIGRATION_CONCURRENCY=5 | ||
| # TOKEN_INSTANCE_OWNER_MIGRATION_BATCH_SIZE=50 | ||
| SUAVE_BID_CONTRACTS=0x8f21fdd6b4f4cacd33151777a46c122797c8bf17 No newline at end of file |
There was a problem hiding this comment.
question:
what are these contract(s)? are they relevant for SUAVE?
There was a problem hiding this comment.
Yes, this an address of the SUAVE contract which emits BidEvent event in devnet afaik
| NETWORK= | ||
| SUBNETWORK=Awesome chain | ||
| LOGO=/images/blockscout_logo.svg | ||
| ETHEREUM_JSONRPC_WS_URL=ws://host.docker.internal:8546/ |
There was a problem hiding this comment.
issue:
for some reason this seems to keep failing:
websocat "ws://localhost:8080/socket/v2/websocket?vsn=2.0.0" -vvv
[INFO websocat::lints] Auto-inserting the line mode
[DEBUG websocat] Done third phase of interpreting options.
[DEBUG websocat] Done fourth phase of interpreting options.
[DEBUG websocat] Preparation done. Now actually starting.
[DEBUG websocat::sessionserve] Serving Line2Message(ThreadedStdio) to Message2Line(WsClient("ws://localhost:8080/socket/v2/websocket?vsn=2.0.0")) with Options { websocket_text_mode: true, websocket_protocol: None, websocket_reply_protocol: None, udp_oneshot_mode: false, udp_broadcast: false, udp_multicast_loop: false, udp_ttl: None, udp_join_multicast_addr: [], udp_join_multicast_iface_v4: [], udp_join_multicast_iface_v6: [], udp_reuseaddr: false, unidirectional: false, unidirectional_reverse: false, max_messages: None, max_messages_rev: None, exit_on_eof: false, oneshot: false, unlink_unix_socket: false, unix_socket_accept_from_fd: false, exec_args: [], ws_c_uri: "ws://0.0.0.0/", linemode_strip_newlines: false, linemode_strict: false, origin: None, custom_headers: [], custom_reply_headers: [], websocket_version: None, websocket_dont_close: false, websocket_ignore_zeromsg: false, one_message: false, no_auto_linemode: false, buffer_size: 65536, broadcast_queue_len: 16, read_debt_handling: Warn, linemode_zero_terminated: false, restrict_uri: None, serve_static_files: [], exec_set_env: false, no_exit_on_zeromsg: false, reuser_send_zero_msg_on_disconnect: false, process_zero_sighup: false, process_exit_sighup: false, process_exit_on_disconnect: false, socks_destination: None, auto_socks5: None, socks5_bind_script: None, tls_domain: None, tls_insecure: false, headers_to_env: [], max_parallel_conns: None, ws_ping_interval: None, ws_ping_timeout: None, request_uri: None, request_method: None, request_headers: [], autoreconnect_delay_millis: 20, ws_text_prefix: None, ws_binary_prefix: None, ws_binary_base64: false, ws_text_base64: false, close_status_code: None, close_reason: None, asyncstdio: false, foreachmsg_wait_reads: false, announce_listens: false, timestamp_monotonic: false, print_ping_rtts: false, byte_to_exit_on: 28, max_ws_message_length: 209715200, max_ws_frame_length: 104857600, preamble: [], preamble_reverse: [], compress_deflate: false, compress_zlib: false, compress_gzip: false, uncompress_deflate: false, uncompress_zlib: false, uncompress_gzip: false, jsonrpc_omit_jsonrpc: false, inhibit_pongs: None, max_sent_pings: None }
[INFO websocat::stdio_threaded_peer] get_stdio_peer (threaded)
[DEBUG websocat::sessionserve] Underlying connection established
[INFO websocat::ws_client_peer] get_ws_client_peer
websocat: WebSocketError: I/O failure
websocat: error running
do you have any idea why?
There was a problem hiding this comment.
also:
application=phoenix [info] CONNECTED TO BlockScoutWeb.UserSocketV2 in 1ms │
│ Transport: :websocket │
│ Serializer: Phoenix.Socket.V1.JSONSerializer │
│ Parameters: %{} │
│ 2023-10-20T12:10:08.667 [error] Ranch listener BlockScoutWeb.Endpoint.HTTP had connection process started with :cowboy_clear:start_link/4 at #PID<0.14257.53> exit with reason: {:function_clause, [{Phoenix. │
│ Socket.Message, :from_map!, [["47", "47", "transactions:new_transaction", "phx_join", %{}]], []}, {Phoenix.Socket, :__in__, 2, [file: 'lib/phoenix/socket.ex', line: 466]}, {Phoenix.Endpoint.Cowboy2Handler, │
│ :websocket_handle, 2, [file: 'lib/phoenix/endpoint/cowboy2_handler.ex', line: 175]}, {:cowboy_websocket, :handler_call, 6, [file: '/app/deps/cowboy/src/cowboy_websocket.erl', line: 528]}, {:cowboy_http, : │
│ loop, 1, [file: '/app/deps/cowboy/src/cowboy_http.erl', line: 257]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 226]}]}
|
|
||
| services: | ||
| blockscout-backend: | ||
| image: blockscout/blockscout-suave:${DOCKER_TAG:-latest} |
There was a problem hiding this comment.
suggestion:
it would be great if we could pin the tags to immutable values. having "latest" makes it hard to reproduce issues as latest tag is a constantly moving target.
There was a problem hiding this comment.
Sure, explicit versions of Docker images configured here 590e665
…e db instance for stats and backend; enhance proxy template
📝 Summary
Adding Blockscout explorer deployment to devnet docker-compose.
Blockscout components are added to the main
docker-compose.yml.Description of new added files:
suave/devenv/blockscout/services/*- configs of Blockscout components: backend, frontend, 2 Postgres DBs (backend and stats), stats, visualizer, sig-provider, Redis, Nginx proxy.suave/devenv/blockscout/envs/*- default env variables values for Blockscout components.suave/devenv/blockscout/proxy/default.conf.template- Nginx proxy config template.Running instructions are the same:
make devnet-up. Blockscout explorer will be running at http://localhost:8080.Note: the longest startup time will be at
frontendcontainer. It usually takes 1-2 minutes to start.Successful frontend container start will follow after these lines in the logs (
docker logs frontend -f):UI of the explorer:
📚 References
https://twitter.com/blockscoutcom/status/1696117267535102199
https://docs.blockscout.com/for-developers/information-and-settings/docker-integration-local-use-only