This is the synchronization server for the Octi ecosystem. It accepts connections from:
- Octi for Android — the primary client.
- Octi Desktop — Compose Multiplatform desktop client (early-stage).
- Octi Web — browser-based client (early-stage).
./gradlew clean installDistThe binaries you can copy to a server will be placed under ./build/install/octi-server.
More details here.
./build/install/octi-server/bin/octi-server --datapath=./octi-dataThe following flags are available:
--datapath(required) where the server should store its data--debugto enable additional log output--portto change the default port (8080)--trusted-proxy-ipscomma-separated proxy IPs whoseX-Real-IP/X-Forwarded-Forheaders are trusted (default: loopback)--account-quota-mb,--max-blob-mb,--max-module-document-kb,--max-blob-patch-kb,--min-free-disk-mb--max-upload-sessions-per-device,--max-upload-sessions-per-account--idle-session-ttl-seconds,--complete-idle-session-ttl-seconds,--absolute-session-ttl-seconds--max-devices-per-account,--max-modules-per-device,--max-blob-refs-per-module--rate-limit,--rate-limit-window-seconds,--account-rate-limit,--account-rate-limit-window-seconds,--disable-rate-limits
The default data volume is /etc/octi-server.
Stable releases are published as :latest and :X.Y.Z. Pre-release tags such as -beta or -rc are published only as their explicit version tag.
docker run -v octi-data:/etc/octi-server -p 8080:8080 ghcr.io/d4rken-org/octi-server:latestEnvironment variables:
OCTI_PORT— server port (default: 8080)OCTI_DEBUG— enable debug mode (default: false)OCTI_DATA_DIR— override data directory pathOCTI_TRUSTED_PROXY_IPS— comma-separated trusted proxy IPsOCTI_ACCOUNT_QUOTA_MB,OCTI_MAX_BLOB_MB,OCTI_MAX_MODULE_DOCUMENT_KB,OCTI_MAX_BLOB_PATCH_KB,OCTI_MIN_FREE_DISK_MBOCTI_MAX_UPLOAD_SESSIONS_PER_DEVICE,OCTI_MAX_UPLOAD_SESSIONS_PER_ACCOUNTOCTI_IDLE_SESSION_TTL_SECONDS,OCTI_COMPLETE_IDLE_SESSION_TTL_SECONDS,OCTI_ABSOLUTE_SESSION_TTL_SECONDSOCTI_MAX_DEVICES_PER_ACCOUNT,OCTI_MAX_MODULES_PER_DEVICE,OCTI_MAX_BLOB_REFS_PER_MODULEOCTI_RATE_LIMIT,OCTI_RATE_LIMIT_WINDOW_SECONDS,OCTI_ACCOUNT_RATE_LIMIT,OCTI_ACCOUNT_RATE_LIMIT_WINDOW_SECONDS,OCTI_DISABLE_RATE_LIMITS
GET /v1/metrics exposes coarse aggregate counters only. It does not include account, device, blob, session, or IP identifiers.
Migrating from /etc/octi-sync-server: The old volume path is still detected automatically. Update your mount to /etc/octi-server when convenient, or set OCTI_DATA_DIR explicitly.