Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

# Image pins. Defaults live in docker-compose.yml as ${VAR:-tag} fallbacks;
# override per pin here to test a pre-release or pin a digest.
# Z3_ZEBRA_IMAGE=zfnd/zebra:5.0.0
# Z3_ZEBRA_IMAGE=zfnd/zebra:latest
Comment on lines 21 to +23
# Z3_ZAINO_IMAGE=zingodevops/zainod:0.4.0-rc.2
# Z3_ZALLET_IMAGE=electriccoinco/zallet:v0.1.0-alpha.3
# Z3_ZEBRA_BUILD_FEATURES=default-release-binaries
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Z3 ships production-shaped defaults, but a few choices are yours to make before
- **Tune the host network (Linux).** On a busy mainnet node, default kernel TCP buffer and connection-backlog limits can cap Zebra's peer throughput. See [Zebra's TCP tuning notes](https://github.com/ZcashFoundation/zebra/pull/10513) for the `sysctl` values worth raising.
- **Bound resources on a shared host.** No CPU or memory limits are set by default: right for a dedicated node, easy to get wrong on a shared box. Add `deploy.resources.limits` in an override file if you need them.

Z3 ships safe defaults: pinned image versions (no surprise upgrades), non-root containers with Linux capabilities dropped, health checks that hold the wallet back until the node is synced, and automatic restart. Upgrades stay deliberate: bump the version pin in a reviewed change, or set `Z3_<SERVICE>_IMAGE`.
Z3 ships safe defaults: non-root containers with Linux capabilities dropped, health checks that hold the wallet back until the node is synced, and automatic restart. Zebra tracks the `latest` published image, so a `docker compose pull` can bring in a new Zebra release; for fully reproducible upgrades, pin a specific version with `Z3_ZEBRA_IMAGE`. Zaino and Zallet are pinned by default — bump them in a reviewed change or override with `Z3_ZAINO_IMAGE` / `Z3_ZALLET_IMAGE`.

### Monitoring

Expand Down Expand Up @@ -309,7 +309,7 @@ Z3_ZEBRA_RUST_LOG=debug
Z3_ZAINO_RUST_LOG=debug

# Pin a different image version
Z3_ZEBRA_IMAGE=zfnd/zebra:5.0.0
Z3_ZEBRA_IMAGE=zfnd/zebra:latest
Comment on lines 311 to +312

# Move chain state to an external SSD
Z3_CHAIN_DATA_PATH=/mnt/ssd/zebra-state
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ x-common: &common

services:
zebra:
image: ${Z3_ZEBRA_IMAGE:-zfnd/zebra:5.0.0}
image: ${Z3_ZEBRA_IMAGE:-zfnd/zebra:latest}
# Zebra is multi-arch; Docker selects the host's native variant.
# DOCKER_PLATFORM forces a specific arch for cross-architecture testing.
platform: ${DOCKER_PLATFORM:-}
Expand Down
2 changes: 1 addition & 1 deletion docs/docker-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The core principle: **`docker-compose.yml` is self-sufficient for mainnet**. Eve
Every variable reference in `docker-compose.yml` includes a default value:

```yaml
image: ${Z3_ZEBRA_IMAGE:-zfnd/zebra:5.0.0}
image: ${Z3_ZEBRA_IMAGE:-zfnd/zebra:latest}
environment:
ZEBRA_NETWORK__NETWORK: ${Z3_NETWORK:-Mainnet}
volumes:
Expand Down