Skip to content

Repository files navigation

Marine

Marine is the hardened deployment boundary for the Crab backend. It keeps storage and administrative services on a private network and exposes only the Nginx edge.

This release preserves the reusable runtime and migration safeguards developed for DataUnion deployments. Historical Ocean/Compute-to-Data stacks, screenshots, project specifications, and private operational evidence are intentionally excluded; they are not needed to run Crab safely.

The public history begins with a reviewed release cut because the private development repository also contained excluded operational material. The runtime predates that import and was developed by DataUnion contributors over multiple years.

Runtime boundary

  • compose.yaml is the runtime source of truth. Images are supplied by immutable digest and secrets remain in host-managed files.
  • CouchDB is the active private datastore. MongoDB, RabbitMQ, and the worker exist only behind an explicit legacy profile for deployments that still require them.
  • Crab runs without root privileges. Nginx is the only service that publishes host ports.
  • The optional DeSciLab overlay preserves a separately deployed frontend during a controlled migration; it does not restore the retired marketplace stack.

Start with the deployment guide. Existing installations should use the secure-upgrade guide, which treats backup, credential rotation, canary checks, and rollback as release gates.

Safety invariants

  • Back up CouchDB and Crab data before changing the stack; preserve retired storage until rollback is no longer required.
  • Use an immutable Crab image digest so rollback restores code without changing data.
  • Never publish database, queue, or management ports, and never commit generated environment files, application configuration, certificates, or receipts.
  • Never run docker compose down -v against a production deployment.
  • Treat unknown consent state and unresolved reward transfers as closed gates, not conditions to bypass during recovery.

License

Marine is distributed under GNU GPLv3. See LICENSE.

About

GPLv3 hardened Compose and migration boundary for the Crab backend

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages