version: "3.7"
services:
node:
# For running on Aarch64 add `-aarch64` after `DATE`
image: ghcr.io/subspace/node:gemini-3d-2023-apr-18
volumes:
# Instead of specifying volume (which will store data in `/var/lib/docker`), you can
# alternatively specify path to the directory where files will be stored, just make
# sure everyone is allowed to write there
- node-data:/var/subspace:rw
# - /path/to/subspace-node:/var/subspace:rw
ports:
# If port 30333 or 30433 is already occupied by another Substrate-based node, replace all
# occurrences of `30333` or `30433` in this file with another value
- "0.0.0.0:30333:30333"
- "0.0.0.0:30433:30433"
restart: unless-stopped
command: [
"--chain", "gemini-3d",
"--base-path", "/var/subspace",
"--execution", "wasm",
"--blocks-pruning", "archive",
"--state-pruning", "archive",
"--port", "30333",
"--dsn-listen-on", "/ip4/0.0.0.0/tcp/30433",
"--rpc-cors", "all",
"--rpc-methods", "safe",
"--unsafe-ws-external",
"--dsn-disable-private-ips",
"--no-private-ipv4",
"--validator",
# Replace `INSERT_YOUR_ID` with your node ID (will be shown in telemetry)
"--name", "!da_blockchain2"
]
healthcheck:
timeout: 5s
# If node setup takes longer than expected, you want to increase `interval` and `retries` number.
interval: 30s
retries: 5
farmer:
depends_on:
node:
condition: service_healthy
# For running on Aarch64 add `-aarch64` after `DATE`
image: ghcr.io/subspace/farmer:gemini-3d-2023-apr-18
volumes:
# Instead of specifying volume (which will store data in `/var/lib/docker`), you can
# alternatively specify path to the directory where files will be stored, just make
# sure everyone is allowed to write there
- farmer-data:/var/subspace:rw
# - /path/to/subspace-farmer:/var/subspace:rw
ports:
# If port 30533 is already occupied by something else, replace all
# occurrences of `30533` in this file with another value
- "0.0.0.0:30533:30533"
restart: unless-stopped
command: [
"--base-path", "/var/subspace",
"farm",
"--disable-private-ips",
"--node-rpc-url", "ws://node:9944",
"--listen-on", "/ip4/0.0.0.0/tcp/30533",
# Replace `WALLET_ADDRESS` with your Polkadot.js wallet address
"--reward-address", "st8x34MosEbJ46S7ZRnvApZ9wvTvFVrCXTz9n3x6Kkff61KDR",
# Replace `PLOT_SIZE` with plot size in gigabytes or terabytes, for example 100G or 2T (but leave at least 60G of disk space for node and some for OS)
"--plot-size", "100G"
]
volumes:
node-data:
farmer-data:
And I use “docker compose” command instead of docker-compose if it matters (IDK why but I had probs with installation of docker-compose variant, but everything worked smooth till last days, I plotted some part of whole field according to last time my node was in telemetry, then I stopped to check and now I have this)