v0.2.0_docker
RustBox CI / rustbox (push) Canceled after 0s

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-31 15:43:13 +01:00
1 parent 9ba6571fa6
commit 0d9f3ff447
5 files changed
+20

No files matched your search

+3
View File
@@ -40,3 +40,6 @@ NFS_EXPORT=/exports/rustbox
# A shell-exported COMPOSE_PROJECT_NAME overrides the top-level `name:` field. # A shell-exported COMPOSE_PROJECT_NAME overrides the top-level `name:` field.
# Recommended launch commands therefore use `docker compose -p rustbox ...`. # Recommended launch commands therefore use `docker compose -p rustbox ...`.
COMPOSE_PROJECT_NAME=rustbox COMPOSE_PROJECT_NAME=rustbox
# development = cookies work over plain HTTP; production = Secure cookies, requires HTTPS
ENVIRONMENT=development
+14
View File
@@ -121,3 +121,17 @@ Replace all example passwords, S3 credentials and `SESSION_ENCRYPTION_KEY` befor
The OpenSearch examples disable its security plugin to keep the local Compose topology self-contained. Production should use TLS/authentication and HTTPS URLs in `search.urls`. The OpenSearch examples disable its security plugin to keep the local Compose topology self-contained. Production should use TLS/authentication and HTTPS URLs in `search.urls`.
The two cluster-ready examples intentionally start one RustBox application container so they can run directly on a single Docker host. For multiple RustBox application nodes, put them behind an external load balancer and do not publish the same host port from every node; SQL, blob storage and OpenSearch must remain shared between the nodes. The two cluster-ready examples intentionally start one RustBox application container so they can run directly on a single Docker host. For multiple RustBox application nodes, put them behind an external load balancer and do not publish the same host port from every node; SQL, blob storage and OpenSearch must remain shared between the nodes.
## Sessions and HTTP/HTTPS
Docker Compose defaults to `ENVIRONMENT=development`. In this mode session cookies do not carry the `Secure` attribute, so login works when RustBox is opened directly over plain HTTP, for example `http://localhost:3009`.
For a production deployment behind HTTPS set:
```bash
ENVIRONMENT=production docker compose -p rustbox -f compose-postgres-s3-opensearch.yml up -d --build
```
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.
+1
View File
@@ -44,6 +44,7 @@ services:
- "${PORT:-3001}:${PORT:-3001}" - "${PORT:-3001}:${PORT:-3001}"
environment: environment:
RUSTBOX_CONFIG: /etc/rustbox/rustbox.toml RUSTBOX_CONFIG: /etc/rustbox/rustbox.toml
ENVIRONMENT: ${ENVIRONMENT:-development}
HOST: ${HOST:-0.0.0.0} HOST: ${HOST:-0.0.0.0}
PORT: ${PORT:-3001} PORT: ${PORT:-3001}
IMAP_HOST: ${IMAP_HOST:-mail.example.com} IMAP_HOST: ${IMAP_HOST:-mail.example.com}
@@ -68,6 +68,7 @@ services:
- "${PORT:-3001}:${PORT:-3001}" - "${PORT:-3001}:${PORT:-3001}"
environment: environment:
RUSTBOX_CONFIG: /etc/rustbox/rustbox.toml RUSTBOX_CONFIG: /etc/rustbox/rustbox.toml
ENVIRONMENT: ${ENVIRONMENT:-development}
HOST: ${HOST:-0.0.0.0} HOST: ${HOST:-0.0.0.0}
PORT: ${PORT:-3001} PORT: ${PORT:-3001}
IMAP_HOST: ${IMAP_HOST:-mail.example.com} IMAP_HOST: ${IMAP_HOST:-mail.example.com}
+1
View File
@@ -9,6 +9,7 @@ services:
- "${PORT:-3001}:${PORT:-3001}" - "${PORT:-3001}:${PORT:-3001}"
environment: environment:
RUSTBOX_CONFIG: /etc/rustbox/rustbox.toml RUSTBOX_CONFIG: /etc/rustbox/rustbox.toml
ENVIRONMENT: ${ENVIRONMENT:-development}
HOST: ${HOST:-0.0.0.0} HOST: ${HOST:-0.0.0.0}
PORT: ${PORT:-3001} PORT: ${PORT:-3001}
IMAP_HOST: ${IMAP_HOST:-mail.example.com} IMAP_HOST: ${IMAP_HOST:-mail.example.com}