Sign inSign up

ccomb/volca

By ccomb

Updated 2 days ago

VoLCA engine: work faster with LCA environmental data

Image
0

1.4K

ccomb/volca repository overview

VoLCA

A Life Cycle Assessment engine that turns LCA databases into inspectable, queryable answers, fast. It loads EcoSpold2, EcoSpold1, SimaPro CSV, ILCD and Brightway Excel databases into memory, builds supply chain trees, computes inventories with sparse matrix algebra and applies characterization methods (PEF/EF and any collection you load).

This image ships the engine only: an HTTP API at /api/v1 and an MCP endpoint at /mcp, no web interface.

Quick start

docker run -d -p 8080:8080 -v volca-data:/data ccomb/volca
curl http://localhost:8080/api/v1/version

No LCA database is bundled: they carry their own licenses. Send yours to the running engine, no configuration file involved:

# SimaPro CSV, EcoSpold XML, Brightway .xlsx, or a .zip/.7z/.tar.gz of any of them
curl -X POST --data-binary @AGB32_final.CSV \
  "http://localhost:8080/api/v1/db/upload?name=agribalyse"
curl -X POST http://localhost:8080/api/v1/db/agribalyse/load

The upload is stored under /data/uploads, so with the named volume above it survives the next docker run.

To load databases at startup instead, give the engine a configuration file. Start from the one the image ships, so the reference data and the method it declares stay declared:

docker run --rm --entrypoint cat ccomb/volca /app/volca.toml > volca.toml
cat >> volca.toml <<'TOML'

[[databases]]
name = "agribalyse-3.2"
path = "/db/AGB32_final.CSV"
load = true
TOML

docker run -d -p 8080:8080 -v volca-data:/data \
  -v "$PWD/databases:/db" \
  -v "$PWD/volca.toml:/app/volca.toml" \
  ccomb/volca

What is inside

  • A statically linked engine binary, linux/amd64 and linux/arm64
  • The reference tables (units, flow synonyms, compartment mapping, geographies, energy densities) and a plain-indicators method that counts raw physical quantities through the supply chain, all active on first start
  • Archive support: databases can stay in .zip, .7z, .gz or .xz
  • A per-database cache written next to the source, so the second start of a 26 000 activity database takes seconds instead of a minute

Runtime

Port8080
Volume/data, the shipped reference data plus everything the engine writes (VOLCA_DATA_DIR)
Config/app/volca.toml, overridden by --config
Tagslatest and every released vX.Y.Z, multi-arch

Use a named volume for /data: Docker fills an empty one with what the image holds. A bind mount of a host directory hides the shipped reference data instead, and the engine then starts without units, synonyms or method.

Memory is the real requirement: the whole database sits in RAM. Around 4 GB for Agribalyse, 8 GB or more for ecoinvent.

Tag summary

Content type

Image

Digest

sha256:91074a3bb

Size

21.9 MB

Last updated

2 days ago

docker pull ccomb/volca