1 parent
0d9f3ff447
commit
95c0587c1e
26 files changed
+237
-52
No files matched your search
+31
-1
@@ -112,7 +112,7 @@ The bundled SILO topology is intended for local/integration validation of the S3
|
||||
|
||||
### `compose-mysql-nfs-opensearch.yml`
|
||||
|
||||
MySQL, shared POSIX/NFS blob storage and OpenSearch. The NFS volume driver is deliberate: a normal local Docker named volume is not shared between Docker hosts and therefore is not a valid blob backend for a multi-host RustBox deployment.
|
||||
MySQL, shared POSIX/NFS blob storage and OpenSearch. The NFS volume driver is deliberate: a normal local Docker named volume is not shared between Docker hosts and therefore is not a valid blob backend for a multi-host RustBox deployment. These examples intentionally run one RustBox application container; the shared backing services demonstrate storage/database topology, not multi-app load balancing.
|
||||
|
||||
## Production notes
|
||||
|
||||
@@ -135,3 +135,33 @@ ENVIRONMENT=production docker compose -p rustbox -f compose-postgres-s3-opensear
|
||||
In `production`, RustBox intentionally marks authentication cookies as `Secure`. Opening the application directly over plain HTTP in that mode causes the browser not to send the session cookie and protected requests return `Invalid or expired session`.
|
||||
|
||||
After changing from production/HTTP to development/HTTP, log in again. If the browser still has stale RustBox state, clear cookies/site data for the RustBox origin once and reload.
|
||||
|
||||
## OpenSearch disk watermark / 429 errors
|
||||
|
||||
The `opensearch-data` named volume still consumes space on the filesystem used by Docker. Running OpenSearch in a container does not give it an independent disk. If the Docker host filesystem reaches OpenSearch's flood-stage threshold, OpenSearch protects indices with `read_only_allow_delete` and RustBox indexing receives HTTP 429 responses.
|
||||
|
||||
Check the actual filesystem seen by the container:
|
||||
|
||||
```bash
|
||||
docker compose -p rustbox -f compose-postgres-s3-opensearch.yml exec opensearch \
|
||||
df -h /usr/share/opensearch/data
|
||||
```
|
||||
|
||||
Also inspect Docker usage on the host:
|
||||
|
||||
```bash
|
||||
df -h
|
||||
docker system df
|
||||
docker volume inspect rustbox_opensearch-data
|
||||
```
|
||||
|
||||
Free disk space first. Do not permanently lower the OpenSearch flood-stage safety threshold. If the index remains read-only after disk usage is back below the high watermark, clear the block explicitly:
|
||||
|
||||
```bash
|
||||
docker compose -p rustbox -f compose-postgres-s3-opensearch.yml exec opensearch \
|
||||
curl -fsS -X PUT http://localhost:9200/rustbox-messages-v1/_settings \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{"index.blocks.read_only_allow_delete":null}'
|
||||
```
|
||||
|
||||
RustBox 0.2.1 backs off its OpenSearch outbox worker after these 429/flood-stage responses, so a full disk no longer produces one warning per queued event.
|
||||
@@ -76,7 +76,7 @@ services:
|
||||
SMTP_HOST: ${SMTP_HOST:-mail.example.com}
|
||||
SMTP_PORT: ${SMTP_PORT:-587}
|
||||
TLS_ENABLED: ${TLS_ENABLED:-true}
|
||||
RUST_LOG: ${RUST_LOG:-info}
|
||||
RUST_LOG: ${RUST_LOG:-info,sqlx::postgres::notice=warn}
|
||||
DATABASE_URL: postgres://rustbox:${POSTGRES_PASSWORD:-rustbox-dev-password}@postgres:5432/rustbox
|
||||
SESSION_ENCRYPTION_KEY: ${SESSION_ENCRYPTION_KEY:-MDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWY=}
|
||||
AWS_ACCESS_KEY_ID: ${S3_ACCESS_KEY:-rustbox}
|
||||
|
||||
Reference in new issue
Block a user