Archmeta Deployment
ArchMeta Deployment model
Elements (11)
ArchMeta Deploymentarchimate:node
deploymentHow ArchMeta is run. Everything below is a technology-layer reading of the containers above: images, the runtime that executes them, and the volumes that carry state. The product itself is stateless — all state is the mounted Git working tree.
Docker Enginearchimate:node
deployment.docker-engineThe container runtime, on the architect's workstation for authoring or on a build agent for CI. Composed by a docker-compose file that wires the Kernel to the model repository volume and the site container to the generated output.
Container Imagesarchimate:node
deployment.imagesWhat is actually shipped. Multi-stage builds: the workspace is compiled once, then only the built output and production dependencies are copied into a slim runtime layer.
Volumesarchimate:node
deployment.volumesThe only state in the deployment. Both are bind mounts rather than named volumes, because the architect works on these directories with their own editor and Git client at the same time.
archmeta-kernel (container)archimate:node
deployment.docker-engine.kernel-containerRuns the Kernel daemon, publishing port 7777 and serving the Viewer bundle alongside the API. Stateless: kill it and nothing is lost, because everything it knows was read from the mounted repository and everything it changed was committed back to it.
archmeta-site (container)archimate:node
deployment.docker-engine.site-containerAn nginx image serving the generated static site. It has no connection to the Kernel and no back end of its own — once the site is built, this container is interchangeable with any static host.
archmeta-build (job)archimate:node
deployment.docker-engine.builder-containerA one-shot container that runs archmeta build and exits. This is the CI shape: check the repository out, build the site, publish the artifact, tear everything down. Nothing persists between runs, which is safe precisely because the load is a pure function of the commit.
archmeta/kernelarchimate:technologycomponent
deployment.images.kernel-imageMulti-stage image on node:22-alpine. Build stage installs the npm workspace and compiles every package; the runtime stage carries the Kernel, the CLI and the Viewer bundle. Entry point is archmeta daemon; the model repository arrives as a mount, never baked in.
archmeta/sitearchimate:technologycomponent
deployment.images.site-imagenginx:alpine with the generated site copied into the web root. Built per model repository rather than per product release, because its content is the customer's architecture, not ArchMeta's code.
Model Repository Volumearchimate:node
deployment.volumes.model-repoThe Git working tree holding the .arch, .data, .view, .cascade, .metamodel, .bpmn and .md files, mounted read-write so the Kernel can commit. This is the database, and it is a directory.
Site Output Volumearchimate:node
deployment.volumes.site-outputWhere the Publisher writes the generated site and the site container reads it from. Disposable: it is derived entirely from the model repository at a given commit.
Relationships (17)Relationships (1)
Mounts read-onlyarchimate:access
deployment.docker-engine.builder-container → deployment.volumes.model-repoWritesarchimate:access
deployment.docker-engine.builder-container → deployment.volumes.site-outputWrites the generated site to
Mounts read-writearchimate:access
deployment.docker-engine.kernel-container → deployment.volumes.model-repoReads fromarchimate:access
deployment.docker-engine.site-container → deployment.volumes.site-outputdeployment.docker-engine → deployment.docker-engine.builder-containerDocker Engine → archmeta-build (job)archimate:composition
deployment.docker-engine → deployment.docker-engine.builder-containerdeployment.docker-engine → deployment.docker-engine.kernel-containerDocker Engine → archmeta-kernel (container)archimate:composition
deployment.docker-engine → deployment.docker-engine.kernel-containerdeployment.docker-engine → deployment.docker-engine.site-containerDocker Engine → archmeta-site (container)archimate:composition
deployment.docker-engine → deployment.docker-engine.site-containerIs instantiated asarchimate:realization
deployment.images.kernel-image → deployment.docker-engine.builder-containerIs instantiated asarchimate:realization
deployment.images.kernel-image → deployment.docker-engine.kernel-containerIs instantiated asarchimate:realization
deployment.images.site-image → deployment.docker-engine.site-containerdeployment.images → deployment.images.kernel-imageContainer Images → archmeta/kernelarchimate:composition
deployment.images → deployment.images.kernel-imagedeployment.images → deployment.images.site-imageContainer Images → archmeta/sitearchimate:composition
deployment.images → deployment.images.site-imagedeployment.volumes → deployment.volumes.model-repoVolumes → Model Repository Volumearchimate:composition
deployment.volumes → deployment.volumes.model-repodeployment.volumes → deployment.volumes.site-outputVolumes → Site Output Volumearchimate:composition
deployment.volumes → deployment.volumes.site-outputdeployment → deployment.docker-engineArchMeta Deployment → Docker Enginearchimate:composition
deployment → deployment.docker-enginedeployment → deployment.imagesArchMeta Deployment → Container Imagesarchimate:composition
deployment → deployment.imagesdeployment → deployment.volumesArchMeta Deployment → Volumesarchimate:composition
deployment → deployment.volumes