From 5af9ee556095712f123c47cadbc49deba2332adb Mon Sep 17 00:00:00 2001 From: Greg Jeanmart Date: Mon, 2 Mar 2026 11:27:02 +0100 Subject: [PATCH 1/2] fix: update env files and compose config for self-hosted setup - Add missing CGW env vars: ALLOW_CORS, RELAY_PROVIDER_API_KEY_UNICHAIN, blocklist config, and dummy AWS credentials for CSV export - Add NEXT_PUBLIC_DEFAULT_MAINNET_CHAIN_ID to ui.env for dedicated chain deployments - Rename deprecated NEXT_PUBLIC_WC_BRIDGE to NEXT_PUBLIC_WC_PROJECT_ID - Fix circular dependency: move ui from nginx depends_on to nginx healthcheck - Document required chain features in docs/chain_info.md --- container_env_files/cgw.env | 20 ++++++++++++++++++++ container_env_files/ui.env | 5 ++++- docker-compose.yml | 3 +-- docs/chain_info.md | 12 ++++++++++++ 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/container_env_files/cgw.env b/container_env_files/cgw.env index a1ee287..f929866 100644 --- a/container_env_files/cgw.env +++ b/container_env_files/cgw.env @@ -9,6 +9,9 @@ SAFE_CONFIG_BASE_URI=http://nginx:8000/cfg # The RPC provider to be used. INFURA_API_KEY='' +# CORS +ALLOW_CORS=true + # Redis # The host name of where the Redis instance is running REDIS_HOST=cgw-redis @@ -69,6 +72,7 @@ RELAY_PROVIDER_API_KEY_AVALANCHE='' RELAY_PROVIDER_API_KEY_LINEA='' RELAY_PROVIDER_API_KEY_BLAST='' RELAY_PROVIDER_API_KEY_SEPOLIA='' +RELAY_PROVIDER_API_KEY_UNICHAIN='' # Staking Provider # The staking provider to be used. @@ -92,5 +96,21 @@ JWT_SECRET='' # Community FINGERPRINT_ENCRYPTION_KEY='' +# DB POSTGRES_HOST=cgw-db POSTGRES_DB=postgres + +# CSV Export +CSV_AWS_ACCESS_KEY_ID=dummy +CSV_AWS_SECRET_ACCESS_KEY=dummy +AWS_ACCESS_KEY_ID=dummy +AWS_SECRET_ACCESS_KEY=dummy + +# The encrypted blocklist data +# This contains the list of blocked addresses in encrypted format +BLOCKLIST_ENCRYPTED_DATA= +# The secret key for decrypting the blocked addresses list +BLOCKLIST_SECRET_KEY= +# The salt used for key derivation during encryption/decryption +# Use a unique salt per environment +BLOCKLIST_SECRET_SALT= \ No newline at end of file diff --git a/container_env_files/ui.env b/container_env_files/ui.env index 242d869..939564e 100644 --- a/container_env_files/ui.env +++ b/container_env_files/ui.env @@ -2,6 +2,9 @@ NEXT_PUBLIC_INFURA_TOKEN= NEXT_PUBLIC_GATEWAY_URL_PRODUCTION=http://localhost:8000/cgw +### For specific chain deployment +NEXT_PUBLIC_DEFAULT_MAINNET_CHAIN_ID= + # infura token used by Safe Apps NEXT_PUBLIC_SAFE_APPS_INFURA_TOKEN= @@ -25,7 +28,7 @@ NEXT_PUBLIC_SENTRY_DSN= NEXT_PUBLIC_BEAMER_ID= # Wallet specific variables -NEXT_PUBLIC_WC_BRIDGE= +NEXT_PUBLIC_WC_PROJECT_ID= NEXT_PUBLIC_FORTMATIC_KEY= NEXT_PUBLIC_PORTIS_KEY= NEXT_PUBLIC_CYPRESS_MNEMONIC= diff --git a/docker-compose.yml b/docker-compose.yml index f78f2d6..9651d97 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -38,6 +38,7 @@ services: - cfg-web - cgw-web - events-web + - ui txs-db: image: postgres:14-alpine @@ -168,8 +169,6 @@ services: image: safeglobal/safe-wallet-web:${UI_VERSION} env_file: - container_env_files/ui.env - depends_on: - - nginx expose: - 8080 diff --git a/docs/chain_info.md b/docs/chain_info.md index 9f7db67..bfe9b54 100644 --- a/docs/chain_info.md +++ b/docs/chain_info.md @@ -53,3 +53,15 @@ For the web app to be able to render links correctly you need to supply URLs wit ``` The `{{address}}` (Ethereum address `0x` prefixed) and `{{txHash}}` (transaction hash) are markers in the URL acting as placeholders that the Safe web app will use to replace values to construct links to block explorer corresponding to that chain. It is important that you indicate these correctly so links are valid at the moment of rendering. + +## Features + +Add and Enable the following features to your chain: + +- `MY_ACCOUNTS ` +- `SPENDING_LIMIT` +- `SAFE_APPS` +- `ERC1155` +- `ERC721` +- `DOMAIN_LOOKUP` +- `CONTRACT_INTERACTION` From ca4f4920202304c6d16220ae772e29b0c8e1a469 Mon Sep 17 00:00:00 2001 From: Greg Jeanmart Date: Mon, 2 Mar 2026 11:31:52 +0100 Subject: [PATCH 2/2] update README to add disclaimer about new FSL-1.1-MIT license --- docs/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/README.md b/docs/README.md index 46ce2d1..53f3e0b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,6 +1,10 @@ # Safe Infrastructure +> Please note that software releases of some Safe services after Feb 17, 2026 are published by Safe Labs under **FSL-1.1-MIT license**. +> This license does not permit making the software available to others in certain commercial products or services. You can find the applicable license texts in each GitHub repository and more information in our [blog](https://safe.global/blog/providing-the-infrastructure-for-self-custody-for-the-next-generation). + **Safe infrastructure diagram** +
- **Tx Service** is the core of the Safe. It indexes multisig transactions, module transactions, token transfers, collects signatures... There must be **1 Tx Service per Chain**, with different workers, PostgreSQL, Redis and RabbitMQ.