You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-7Lines changed: 30 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@
23
23
- Multi-architecture images (`linux/amd64` and `linux/arm64`)
24
24
- Automated builds — new upstream Cuprate releases are detected and built every 8 hours
25
25
- Healthcheck via restricted RPC endpoint
26
-
- Resource limits and log rotation pre-configured
26
+
- Resource limits (4 GB memory limit in Docker Compose) and log rotation pre-configured
27
27
- Mainnet, testnet, and stagenet support
28
28
29
29
## Quick Start
@@ -77,8 +77,7 @@ Key defaults:
77
77
|`network`|`"Mainnet"`| Network to sync (`Mainnet`, `Testnet`, `Stagenet`) |
78
78
|`fast_sync`|`true`| Skip verification of old blocks using known hashes |
79
79
|`rpc.restricted.enable`|`true`| Restricted (read-only) RPC on `0.0.0.0:18089`|
80
-
|`rpc.unrestricted.enable`|`true`| Unrestricted RPC on `127.0.0.1:18081` (localhost only) |
81
-
|`target_max_memory`| auto-detected | Target max memory usage in bytes (auto-detected from system RAM) |
80
+
|`rpc.unrestricted.enable`|`true`| Unrestricted RPC on `127.0.0.1:18081` (container-local only by default) |
82
81
|`target_max_memory`| auto-detected | Target max memory usage in bytes (auto-detected from system RAM) |
83
82
84
83
### Network Selection
@@ -108,6 +107,25 @@ docker compose up -d
108
107
109
108
Only mainnet ports are mapped by default. See `docker-compose.override.yml.example` for testnet/stagenet.
110
109
110
+
## CLI Options
111
+
112
+
`cuprated` supports several command-line flags that override config file values. These can be passed via the `command` array in `docker-compose.yml` or at the end of a `docker run` invocation:
113
+
114
+
| Flag | Description |
115
+
|------|-------------|
116
+
|`--network <mainnet\|testnet\|stagenet>`| Override the network to run on |
117
+
|`--config-file <PATH>`| Specify a custom config file path |
118
+
|`--dry-run`| Validate configuration and exit without starting the node |
119
+
|`--generate-config`| Print the full default config file to stdout |
120
+
|`--version`| Print version and build information in JSON |
121
+
|`--no-fast-sync`| Disable fast sync (full verification of all past blocks) |
122
+
123
+
Example:
124
+
125
+
```bash
126
+
docker run --rm ghcr.io/hundehausen/cuprate-docker:latest --version
127
+
```
128
+
111
129
## Building from Source
112
130
113
131
```bash
@@ -129,10 +147,6 @@ You can also use the compose override to build locally instead of pulling from G
129
147
130
148
## Troubleshooting
131
149
132
-
### STDIN/TTY Issue
133
-
134
-
cuprated requires a STDIN pipe to avoid log spam ([cuprate#396](https://github.com/Cuprate/cuprate/issues/396)). When using `docker run`, always include the `-t -i` flags. The docker-compose configuration handles this automatically with `tty: true` and `stdin_open: true`.
135
-
136
150
### Container Exits Immediately
137
151
138
152
Check the container logs:
@@ -143,6 +157,15 @@ docker logs cuprate-node
143
157
144
158
Common causes: invalid config file syntax, insufficient permissions on mounted volumes. Ensure `config/` and its files are readable.
145
159
160
+
You can validate your config before starting the container:
The initial blockchain sync takes a significant amount of time depending on hardware and network. With `fast_sync = true` (the default), block verification is accelerated by comparing against known hashes. Monitor progress:
0 commit comments