From 603760fcb711af266c4958b850314b5c98a3e604 Mon Sep 17 00:00:00 2001 From: Simon <96721494+Simon-Tl@users.noreply.github.com> Date: Tue, 11 Jul 2023 22:39:06 +0800 Subject: [PATCH 1/5] ci: create docker-build.yml and changed the images repository Signed-off-by: Simon <96721494+Simon-Tl@users.noreply.github.com> --- .github/workflows/docker-build.yml | 37 +++++++++ dev.env | 42 +--------- docker/Dockerfile | 127 +++++++++++++++++++++++++---- 3 files changed, 149 insertions(+), 57 deletions(-) create mode 100644 .github/workflows/docker-build.yml diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml new file mode 100644 index 000000000..8c41db137 --- /dev/null +++ b/.github/workflows/docker-build.yml @@ -0,0 +1,37 @@ +name: Build Docker And Push +on: + push: + branches: + - docker-compose + workflow_dispatch: + +env: + REGISTRY: ghcr.io + IMAGE_NAME: blockscan + +jobs: + Build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + + - name: Build and Push Docker Image + uses: docker/build-push-action@v2 + with: + context: ./ + file: ./docker/Dockerfile + push: true + tags: ghcr.io/magickbase/${{env.IMAGE_NAME}}:latest \ No newline at end of file diff --git a/dev.env b/dev.env index 603c110b7..9eabb4139 100644 --- a/dev.env +++ b/dev.env @@ -1,17 +1,14 @@ -# DOCKER_TAG= ETHEREUM_JSONRPC_VARIANT=geth -ETHEREUM_JSONRPC_HTTP_URL=https://axon1.layerview.io/ -ETHEREUM_JSONRPC_TRACE_URL=https://axon1.layerview.io/ +ETHEREUM_JSONRPC_HTTP_URL=http://localhost:8000 +ETHEREUM_JSONRPC_TRACE_URL=http://localhost:8000 DATABASE_URL=postgresql://postgres:postgres123@db:5432/blockscan?ssl=false -# DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:5432/blockscan?ssl=false NETWORK=Axon SUBNETWORK=AxonChain LOGO=/images/blockscout_logo.svg LOGO_FOOTER=/images/blockscout_logo.svg -# ETHEREUM_JSONRPC_WS_URL= ETHEREUM_JSONRPC_TRANSPORT=http IPC_PATH= NETWORK_PATH=/ @@ -19,38 +16,15 @@ API_PATH=/ SOCKET_ROOT=/ BLOCKSCOUT_HOST= BLOCKSCOUT_PROTOCOL= -# SECRET_KEY_BASE= -# CHECK_ORIGIN= PORT=4020 -# COIN= -# COIN_NAME= -# COINGECKO_COIN_ID= -# METADATA_CONTRACT= -# VALIDATORS_CONTRACT= -# KEYS_MANAGER_CONTRACT= -# REWARDS_CONTRACT= -# TOKEN_BRIDGE_CONTRACT= EMISSION_FORMAT=DEFAULT -# CHAIN_SPEC_PATH= -# SUPPLY_MODULE= -# SOURCE_MODULE= POOL_SIZE=40 POOL_SIZE_API=10 ECTO_USE_SSL=false -# DATADOG_HOST= -# DATADOG_PORT= -# SPANDEX_BATCH_SIZE= -# SPANDEX_SYNC_THRESHOLD= HEART_BEAT_TIMEOUT=30 -# HEART_COMMAND= BLOCKSCOUT_VERSION= RELEASE_LINK= BLOCK_TRANSFORMER=axon -# GRAPHIQL_TRANSACTION= -# FIRST_BLOCK= -# LAST_BLOCK= -# TRACE_FIRST_BLOCK= -# TRACE_LAST_BLOCK= LINK_TO_OTHER_EXPLORERS=false OTHER_EXPLORERS={} SUPPORTED_CHAINS={} @@ -79,8 +53,6 @@ DISABLE_WRITE_API=false DISABLE_INDEXER=false INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=true INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER=true -# WEBAPP_URL= -# API_URL= WOBSERVER_ENABLED=false SHOW_ADDRESS_MARKETCAP_PERCENTAGE=true CHECKSUM_ADDRESS_HASHES=true @@ -96,15 +68,7 @@ TXS_STATS_DAYS_TO_COMPILE_AT_INIT=10 COIN_BALANCE_HISTORY_DAYS=90 APPS_MENU=true EXTERNAL_APPS=[] -# ETH_OMNI_BRIDGE_MEDIATOR= -# BSC_OMNI_BRIDGE_MEDIATOR= -# AMB_BRIDGE_MEDIATORS= -# GAS_PRICE= -# FOREIGN_JSON_RPC= -# RESTRICTED_LIST= -# RESTRICTED_LIST_KEY= DISABLE_BRIDGE_MARKET_CAP_UPDATER=true -# POS_STAKING_CONTRACT= INDEXER_DISABLE_BLOCK_REWARD_FETCHER=true ENABLE_POS_STAKING_IN_MENU=false SHOW_MAINTENANCE_ALERT=false @@ -115,7 +79,6 @@ CUSTOM_CONTRACT_ADDRESSES_TEST_TOKEN= ENABLE_SOURCIFY_INTEGRATION=false SOURCIFY_SERVER_URL= SOURCIFY_REPO_URL= -# CHAIN_ID= MAX_SIZE_UNLESS_HIDE_ARRAY=50 HIDE_BLOCK_MINER=false DISPLAY_TOKEN_ICONS=false @@ -124,7 +87,6 @@ TENDERLY_CHAIN_PATH= MAX_STRING_LENGTH_WITHOUT_TRIMMING=2040 RE_CAPTCHA_SECRET_KEY= RE_CAPTCHA_CLIENT_KEY= -# JSON_RPC= API_RATE_LIMIT=50 API_RATE_LIMIT_BY_KEY=50 API_RATE_LIMIT_BY_IP=50 diff --git a/docker/Dockerfile b/docker/Dockerfile index 0d07ebf6d..f89886e25 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,13 +2,119 @@ FROM bitwalker/alpine-elixir-phoenix:1.14 AS builder WORKDIR /app -RUN apk --no-cache --update add alpine-sdk gmp-dev automake libtool inotify-tools autoconf python3 file qemu-x86_64 +COPY ../dev.env ./.env + +RUN apk --no-cache --update add alpine-sdk gmp-dev automake libtool inotify-tools autoconf python3 file qemu-x86_64 +RUN export $(cat ./.env | xargs) + ENV GLIBC_REPO=https://github.com/sgerrand/alpine-pkg-glibc \ GLIBC_VERSION=2.30-r0 \ PORT=4000 \ MIX_ENV="prod" \ - SECRET_KEY_BASE="RMgI4C1HSkxsEjdhtGMfwAHfyT6CKWXOgzCboJflfSm4jeAlic52io05KB6mqzc5" + SECRET_KEY_BASE="RMgI4C1HSkxsEjdhtGMfwAHfyT6CKWXOgzCboJflfSm4jeAlic52io05KB6mqzc5" \ + COIN="" \ + CACHE_EXCHANGE_RATES_PERIOD="" \ + API_V1_READ_METHODS_DISABLED="false" \ + DISABLE_WEBAPP="false" \ + API_V1_WRITE_METHODS_DISABLED="false" \ + CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED="" \ + CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL="" \ + ADMIN_PANEL_ENABLED="" \ + RELEASE_VERSION=5.1.4 \ + ETHEREUM_JSONRPC_VARIANT=${ETHEREUM_JSONRPC_VARIANT:-geth} \ + ETHEREUM_JSONRPC_HTTP_URL=${ETHEREUM_JSONRPC_HTTP_URL:-http://localhost:8000} \ + ETHEREUM_JSONRPC_TRACE_URL=${ETHEREUM_JSONRPC_TRACE_URL:-http://localhost:8000} \ + DATABASE_URL=${DATABASE_URL:-postgresql://postgres:postgres123@db:5432/blockscan?ssl=false} \ + NETWORK=${NETWORK:-Axon} \ + SUBNETWORK=${SUBNETWORK:-AxonChain} \ + LOGO=${LOGO:-/images/blockscout_logo.svg} \ + LOGO_FOOTER=${LOGO_FOOTER:-/images/blockscout_logo.svg} \ + ETHEREUM_JSONRPC_TRANSPORT=${ETHEREUM_JSONRPC_TRANSPORT:-http} \ + IPC_PATH=${IPC_PATH:-} \ + NETWORK_PATH=${NETWORK_PATH:-/} \ + API_PATH=${API_PATH:-/} \ + SOCKET_ROOT=${SOCKET_ROOT:-/} \ + BLOCKSCOUT_HOST=${BLOCKSCOUT_HOST:-} \ + BLOCKSCOUT_PROTOCOL=${BLOCKSCOUT_PROTOCOL:-} \ + PORT=${PORT:-4020} \ + EMISSION_FORMAT=${EMISSION_FORMAT:-DEFAULT} \ + POOL_SIZE=${POOL_SIZE:-40} \ + POOL_SIZE_API=${POOL_SIZE_API:-10} \ + ECTO_USE_SSL=${ECTO_USE_SSL:-false} \ + HEART_BEAT_TIMEOUT=${HEART_BEAT_TIMEOUT:-30} \ + BLOCKSCOUT_VERSION=${BLOCKSCOUT_VERSION:-} \ + RELEASE_LINK=${RELEASE_LINK:-} \ + BLOCK_TRANSFORMER=${BLOCK_TRANSFORMER:-axon} \ + LINK_TO_OTHER_EXPLORERS=${LINK_TO_OTHER_EXPLORERS:-false} \ + OTHER_EXPLORERS=${OTHER_EXPLORERS:-{}} \ + SUPPORTED_CHAINS=${SUPPORTED_CHAINS:-{}} \ + CACHE_BLOCK_COUNT_PERIOD=${CACHE_BLOCK_COUNT_PERIOD:-7200} \ + CACHE_TXS_COUNT_PERIOD=${CACHE_TXS_COUNT_PERIOD:-7200} \ + CACHE_ADDRESS_COUNT_PERIOD=${CACHE_ADDRESS_COUNT_PERIOD:-7200} \ + CACHE_ADDRESS_SUM_PERIOD=${CACHE_ADDRESS_SUM_PERIOD:-3600} \ + CACHE_TOTAL_GAS_USAGE_PERIOD=${CACHE_TOTAL_GAS_USAGE_PERIOD:-3600} \ + CACHE_ADDRESS_TRANSACTIONS_GAS_USAGE_COUNTER_PERIOD=${CACHE_ADDRESS_TRANSACTIONS_GAS_USAGE_COUNTER_PERIOD:-1800} \ + CACHE_TOKEN_HOLDERS_COUNTER_PERIOD=${CACHE_TOKEN_HOLDERS_COUNTER_PERIOD:-3600} \ + CACHE_TOKEN_TRANSFERS_COUNTER_PERIOD=${CACHE_TOKEN_TRANSFERS_COUNTER_PERIOD:-3600} \ + CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=${CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL:-1800} \ + CACHE_AVERAGE_BLOCK_PERIOD=${CACHE_AVERAGE_BLOCK_PERIOD:-1800} \ + CACHE_MARKET_HISTORY_PERIOD=${CACHE_MARKET_HISTORY_PERIOD:-21600} \ + CACHE_ADDRESS_TRANSACTIONS_PERIOD=${CACHE_ADDRESS_TRANSACTIONS_PERIOD:-1800} \ + CACHE_ADDRESS_TOKENS_USD_SUM_PERIOD=${CACHE_ADDRESS_TOKENS_USD_SUM_PERIOD:-1800} \ + CACHE_ADDRESS_TOKEN_TRANSFERS_COUNTER_PERIOD=${CACHE_ADDRESS_TOKEN_TRANSFERS_COUNTER_PERIOD:-1800} \ + CACHE_BRIDGE_MARKET_CAP_UPDATE_INTERVAL=${CACHE_BRIDGE_MARKET_CAP_UPDATE_INTERVAL:-1800} \ + CACHE_TOKEN_EXCHANGE_RATE_PERIOD=${CACHE_TOKEN_EXCHANGE_RATE_PERIOD:-1800} \ + TOKEN_METADATA_UPDATE_INTERVAL=${TOKEN_METADATA_UPDATE_INTERVAL:-172800} \ + ALLOWED_EVM_VERSIONS=${ALLOWED_EVM_VERSIONS:-homestead,tangerineWhistle,spuriousDragon,byzantium,constantinople,petersburg,istanbul,berlin,london,default} \ + UNCLES_IN_AVERAGE_BLOCK_TIME=${UNCLES_IN_AVERAGE_BLOCK_TIME:-false} \ + DISABLE_WEBAPP=${DISABLE_WEBAPP:-false} \ + DISABLE_READ_API=${DISABLE_READ_API:-false} \ + DISABLE_WRITE_API=${DISABLE_WRITE_API:-false} \ + DISABLE_INDEXER=${DISABLE_INDEXER:-false} \ + INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=${INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER:-true} \ + INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER=${INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER:-true} \ + WOBSERVER_ENABLED=${WOBSERVER_ENABLED:-false} \ + SHOW_ADDRESS_MARKETCAP_PERCENTAGE=${SHOW_ADDRESS_MARKETCAP_PERCENTAGE:-true} \ + CHECKSUM_ADDRESS_HASHES=${CHECKSUM_ADDRESS_HASHES:-true} \ + CHECKSUM_FUNCTION=${CHECKSUM_FUNCTION:-eth} \ + DISABLE_EXCHANGE_RATES=${DISABLE_EXCHANGE_RATES:-true} \ + DISABLE_KNOWN_TOKENS=${DISABLE_KNOWN_TOKENS:-true} \ + ENABLE_TXS_STATS=${ENABLE_TXS_STATS:-true} \ + SHOW_PRICE_CHART=${SHOW_PRICE_CHART:-false} \ + SHOW_TXS_CHART=${SHOW_TXS_CHART:-true} \ + HISTORY_FETCH_INTERVAL=${HISTORY_FETCH_INTERVAL:-30} \ + TXS_HISTORIAN_INIT_LAG=${TXS_HISTORIAN_INIT_LAG:-0} \ + TXS_STATS_DAYS_TO_COMPILE_AT_INIT=${TXS_STATS_DAYS_TO_COMPILE_AT_INIT:-10} \ + COIN_BALANCE_HISTORY_DAYS=${COIN_BALANCE_HISTORY_DAYS:-90} \ + APPS_MENU=${APPS_MENU:-true} \ + EXTERNAL_APPS=${EXTERNAL_APPS:-[]} \ + DISABLE_BRIDGE_MARKET_CAP_UPDATER=${DISABLE_BRIDGE_MARKET_CAP_UPDATER:-true} \ + INDEXER_DISABLE_BLOCK_REWARD_FETCHER=${INDEXER_DISABLE_BLOCK_REWARD_FETCHER:-true} \ + ENABLE_POS_STAKING_IN_MENU=${ENABLE_POS_STAKING_IN_MENU:-false} \ + SHOW_MAINTENANCE_ALERT=${SHOW_MAINTENANCE_ALERT:-false} \ + MAINTENANCE_ALERT_MESSAGE=${MAINTENANCE_ALERT_MESSAGE:-} \ + SHOW_STAKING_WARNING=${SHOW_STAKING_WARNING:-false} \ + STAKING_WARNING_MESSAGE=${STAKING_WARNING_MESSAGE:-} \ + CUSTOM_CONTRACT_ADDRESSES_TEST_TOKEN=${CUSTOM_CONTRACT_ADDRESSES_TEST_TOKEN:-} \ + ENABLE_SOURCIFY_INTEGRATION=${ENABLE_SOURCIFY_INTEGRATION:-false} \ + SOURCIFY_SERVER_URL=${SOURCIFY_SERVER_URL:-} \ + SOURCIFY_REPO_URL=${SOURCIFY_REPO_URL:-} \ + MAX_SIZE_UNLESS_HIDE_ARRAY=${MAX_SIZE_UNLESS_HIDE_ARRAY:-50} \ + HIDE_BLOCK_MINER=${HIDE_BLOCK_MINER:-false} \ + DISPLAY_TOKEN_ICONS=${DISPLAY_TOKEN_ICONS:-false} \ + SHOW_TENDERLY_LINK=${SHOW_TENDERLY_LINK:-false} \ + TENDERLY_CHAIN_PATH=${TENDERLY_CHAIN_PATH:-} \ + MAX_STRING_LENGTH_WITHOUT_TRIMMING=${MAX_STRING_LENGTH_WITHOUT_TRIMMING:-2040} \ + RE_CAPTCHA_SECRET_KEY=${RE_CAPTCHA_SECRET_KEY:-} \ + RE_CAPTCHA_CLIENT_KEY=${RE_CAPTCHA_CLIENT_KEY:-} \ + API_RATE_LIMIT=${API_RATE_LIMIT:-50} \ + API_RATE_LIMIT_BY_KEY=${API_RATE_LIMIT_BY_KEY:-50} \ + API_RATE_LIMIT_BY_IP=${API_RATE_LIMIT_BY_IP:-50} \ + API_RATE_LIMIT_WHITELISTED_IPS=${API_RATE_LIMIT_WHITELISTED_IPS:-} \ + API_RATE_LIMIT_STATIC_API_KEY=${API_RATE_LIMIT_STATIC_API_KEY:-} + + RUN set -ex && \ apk --update add libstdc++ curl ca-certificates && \ @@ -24,18 +130,7 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y ENV PATH="$HOME/.cargo/bin:${PATH}" ENV RUSTFLAGS="-C target-feature=-crt-static" -ARG CACHE_EXCHANGE_RATES_PERIOD -ARG DISABLE_READ_API -ARG DISABLE_WEBAPP -ARG DISABLE_WRITE_API -ARG CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED -ARG ADMIN_PANEL_ENABLED -ARG CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL -ARG SESSION_COOKIE_DOMAIN -ARG MIXPANEL_TOKEN -ARG MIXPANEL_URL -ARG AMPLITUDE_API_KEY -ARG AMPLITUDE_URL + # Cache elixir deps ADD mix.exs mix.lock ./ @@ -71,9 +166,7 @@ RUN mkdir -p /opt/release \ ############################################################## FROM bitwalker/alpine-elixir-phoenix:1.14 -ARG RELEASE_VERSION -ENV RELEASE_VERSION=${RELEASE_VERSION} -ARG BLOCKSCOUT_VERSION +ENV RELEASE_VERSION=${RELEASE_VERSION:-5.1.4} ENV BLOCKSCOUT_VERSION=${BLOCKSCOUT_VERSION} RUN apk --no-cache --update add jq From 9836ad48cc29e716453df736bc305bfe1ac4590b Mon Sep 17 00:00:00 2001 From: Simon-Tl Date: Thu, 24 Aug 2023 10:48:49 +0800 Subject: [PATCH 2/5] ci: docker-compose test --- .github/workflows/docker-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 8c41db137..c95980bac 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -34,4 +34,4 @@ jobs: context: ./ file: ./docker/Dockerfile push: true - tags: ghcr.io/magickbase/${{env.IMAGE_NAME}}:latest \ No newline at end of file + tags: ghcr.io/simon-tl/${{env.IMAGE_NAME}}:latest \ No newline at end of file From ffdb091cb7b401cce0edaea42f10927d1fb54d2c Mon Sep 17 00:00:00 2001 From: Simon-Tl Date: Thu, 24 Aug 2023 15:40:54 +0800 Subject: [PATCH 3/5] ci: changed the images push repo and update docker-compose.yaml --- .github/workflows/docker-build.yml | 2 +- docker-compose.yml | 160 ++--------------------------- 2 files changed, 11 insertions(+), 151 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index c95980bac..8c41db137 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -34,4 +34,4 @@ jobs: context: ./ file: ./docker/Dockerfile push: true - tags: ghcr.io/simon-tl/${{env.IMAGE_NAME}}:latest \ No newline at end of file + tags: ghcr.io/magickbase/${{env.IMAGE_NAME}}:latest \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 4c82451c2..6d6f8bafd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,168 +16,28 @@ services: # POSTGRES_HOST_AUTH_METHOD: 'trust' ports: - 27543:5432 + env_file: + - ./dev.env volumes: - - db:/var/lib/postgresql/data + - "db:/var/lib/postgresql/data" extra_hosts: - 'host.docker.internal:host-gateway' blockscan: - image: blockscan/blockscan:${DOCKER_TAG:-latest} - # depends_on: - # - db + image: ghcr.io/magickbase/blockscan:${DOCKER_TAG:-latest} + depends_on: + - db links: - db:database - build: - context: ./ - dockerfile: ./docker/Dockerfile - args: - COIN: "" - CACHE_EXCHANGE_RATES_PERIOD: "" - API_V1_READ_METHODS_DISABLED: "false" - DISABLE_WEBAPP: "false" - API_V1_WRITE_METHODS_DISABLED: "false" - CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED: "" - CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL: "" - ADMIN_PANEL_ENABLED: "" - RELEASE_VERSION: 5.1.4 restart: always container_name: 'blockscan' # command: 'elixir --name blockscan@127.0.0.1 -S mix do ecto.create, ecto.migrate, phx.server' command: bash -c "bin/blockscout eval \"Elixir.Explorer.ReleaseTasks.create_and_migrate()\" && bin/blockscout start" extra_hosts: - 'host.docker.internal:host-gateway' - # env_file: - # - ./docker-compose/envs/common-blockscout.env - - environment: - - MIX_ENV=prod - - DOCKER_TAG - - ETHEREUM_JSONRPC_VARIANT - - ETHEREUM_JSONRPC_HTTP_URL - - DATABASE_URL - - ETHEREUM_JSONRPC_TRACE_URL - - NETWORK - - SUBNETWORK - - LOGO - - LOGO_FOOTER - - ETHEREUM_JSONRPC_WS_URL - - ETHEREUM_JSONRPC_TRANSPORT - - IPC_PATH - - NETWORK_PATH - - API_PATH - - SOCKET_ROOT - - BLOCKSCOUT_HOST - - BLOCKSCOUT_PROTOCOL - - SECRET_KEY_BASE - - CHECK_ORIGIN - - PORT - - COIN - - COIN_NAME - - COINGECKO_COIN_ID - - METADATA_CONTRACT - - VALIDATORS_CONTRACT - - KEYS_MANAGER_CONTRACT - - REWARDS_CONTRACT - - TOKEN_BRIDGE_CONTRACT - - EMISSION_FORMAT - - CHAIN_SPEC_PATH - - SUPPLY_MODULE - - SOURCE_MODULE - - POOL_SIZE - - POOL_SIZE_API - - ECTO_USE_SSL - - DATADOG_HOST - - DATADOG_PORT - - SPANDEX_BATCH_SIZE - - SPANDEX_SYNC_THRESHOLD - - HEART_BEAT_TIMEOUT - - HEART_COMMAND - - BLOCKSCOUT_VERSION - - RELEASE_LINK - - BLOCK_TRANSFORMER - - GRAPHIQL_TRANSACTION - - FIRST_BLOCK - - LAST_BLOCK - - TRACE_FIRST_BLOCK - - TRACE_LAST_BLOCK - - LINK_TO_OTHER_EXPLORERS - - OTHER_EXPLORERS - - SUPPORTED_CHAINS - - CACHE_BLOCK_COUNT_PERIOD - - CACHE_TXS_COUNT_PERIOD - - CACHE_ADDRESS_COUNT_PERIOD - - CACHE_ADDRESS_SUM_PERIOD - - CACHE_TOTAL_GAS_USAGE_PERIOD - - CACHE_ADDRESS_TRANSACTIONS_GAS_USAGE_COUNTER_PERIOD - - CACHE_TOKEN_HOLDERS_COUNTER_PERIOD - - CACHE_TOKEN_TRANSFERS_COUNTER_PERIOD - - CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL - - CACHE_AVERAGE_BLOCK_PERIOD - - CACHE_MARKET_HISTORY_PERIOD - - CACHE_ADDRESS_TRANSACTIONS_PERIOD - - CACHE_ADDRESS_TOKENS_USD_SUM_PERIOD - - CACHE_ADDRESS_TOKEN_TRANSFERS_COUNTER_PERIOD - - CACHE_BRIDGE_MARKET_CAP_UPDATE_INTERVAL - - CACHE_TOKEN_EXCHANGE_RATE_PERIOD - - TOKEN_METADATA_UPDATE_INTERVAL - - ALLOWED_EVM_VERSIONS - - UNCLES_IN_AVERAGE_BLOCK_TIME - - DISABLE_WEBAPP - - DISABLE_READ_API - - DISABLE_WRITE_API - - DISABLE_INDEXER - - INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER - - INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER - - WEBAPP_URL - - API_URL - - WOBSERVER_ENABLED - - SHOW_ADDRESS_MARKETCAP_PERCENTAGE - - CHECKSUM_ADDRESS_HASHES - - CHECKSUM_FUNCTION - - DISABLE_EXCHANGE_RATES - - DISABLE_KNOWN_TOKENS - - ENABLE_TXS_STATS - - SHOW_PRICE_CHART - - SHOW_TXS_CHART - - HISTORY_FETCH_INTERVAL - - TXS_HISTORIAN_INIT_LAG - - TXS_STATS_DAYS_TO_COMPILE_AT_INIT - - COIN_BALANCE_HISTORY_DAYS - - APPS_MENU - - EXTERNAL_APPS - - ETH_OMNI_BRIDGE_MEDIATOR - - BSC_OMNI_BRIDGE_MEDIATOR - - AMB_BRIDGE_MEDIATORS - - GAS_PRICE - - FOREIGN_JSON_RPC - - RESTRICTED_LIST - - RESTRICTED_LIST_KEY - - DISABLE_BRIDGE_MARKET_CAP_UPDATER - - POS_STAKING_CONTRACT - - INDEXER_DISABLE_BLOCK_REWARD_FETCHER - - ENABLE_POS_STAKING_IN_MENU - - SHOW_MAINTENANCE_ALERT - - MAINTENANCE_ALERT_MESSAGE - - SHOW_STAKING_WARNING - - STAKING_WARNING_MESSAGE - - CUSTOM_CONTRACT_ADDRESSES_TEST_TOKEN - - ENABLE_SOURCIFY_INTEGRATION - - SOURCIFY_SERVER_URL - - SOURCIFY_REPO_URL - - CHAIN_ID - - MAX_SIZE_UNLESS_HIDE_ARRAY - - HIDE_BLOCK_MINER - - DISPLAY_TOKEN_ICONS - - SHOW_TENDERLY_LINK - - TENDERLY_CHAIN_PATH - - MAX_STRING_LENGTH_WITHOUT_TRIMMING - - RE_CAPTCHA_SECRET_KEY - - RE_CAPTCHA_CLIENT_KEY - - JSON_RPC - - API_RATE_LIMIT - - API_RATE_LIMIT_BY_KEY - - API_RATE_LIMIT_BY_IP - - API_RATE_LIMIT_WHITELISTED_IPS - - API_RATE_LIMIT_STATIC_API_KEY + env_file: + - ./dev.env ports: - 4020:4020 + + From d71ebc438bc5a62daa68b0d9fa2ffc01e124b326 Mon Sep 17 00:00:00 2001 From: Simon-Tl Date: Thu, 24 Aug 2023 15:49:34 +0800 Subject: [PATCH 4/5] readme: change the boot method of blockscan --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a392bca81..07ea7355d 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,10 @@ BlockScan is a explorer for ETH compatible chain like [Axon](https://github.com/ ## Getting Started 1. install latest docker and docker compose 2. run pg database on the host machine - 3. edit `xxx.env` file - 4. build command `docker-compose --env-file ./dev.env -f ./docker-compose.yml build blockscan` - 5. run database `docker-compose --env-file ./dev.env -f ./docker-compose.yml up --force-recreate db` - 6. run command `docker-compose --env-file ./dev.env -f ./docker-compose.yml up --force-recreate blockscan` - 7. use your env file instead of dev.env + 3. edit `xxx.env` file change `ETHEREUM_JSONRPC_HTTP_URL` `ETHEREUM_JSONRPC_HTTP_URL` to the rpc domain name or ip+ port of the chain now in use + 4. run database `docker-compose -f ./docker-compose.yml up --force-recreate db` + 5. run command `docker-compose -f ./docker-compose.yml up --force-recreate blockscan` + 6. use your env file instead of dev.env ## Github Action 1. setting your forked project environment: "axon_staging" (you can change it in your github workflow file) 2. setting secret environment `ENV_FILE_PATH` which directing real path of your .env file on the deployment server From a60dd45ca8577f97683f89c8a372508a84b74e24 Mon Sep 17 00:00:00 2001 From: Simon <96721494+Simon-Tl@users.noreply.github.com> Date: Fri, 25 Aug 2023 13:42:11 +0800 Subject: [PATCH 5/5] ci: update .github/workflows/docker-build.yml Co-authored-by: Flouse <1297478+Flouse@users.noreply.github.com> Signed-off-by: Simon <96721494+Simon-Tl@users.noreply.github.com> --- .github/workflows/docker-build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 8c41db137..ea51ef36e 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -1,8 +1,10 @@ name: Build Docker And Push on: push: + tags: branches: - - docker-compose + - main + - dev workflow_dispatch: env: