Database Container

This guide explains how to run the SoftDsim database services using Docker


Overview

The stack contains four services orchestrated by Docker Compose:

Service

Image

Purpose

Host Port

maria_application_db

mariadb:mariadb:11.8-noble

Relational database

3306

mongo_template_db

mongo:8.2.2-noble

Scenario Studio

27017

Data for MariaDB is persisted in the named volume maria_store so that it survives container rebuilds. Same for MongoDB with volume mongo_store and mongo_config.


Prerequisites

  • Docker Engine & Docker Compose v2
    (docker compose version → v2.x)

  • Filled Environment Variable. See Environment Setup.


Starting the database container

From the project root directory

docker compose -f docker/docker-compose.yml up -d

Shut everything down (and delete the database volume) with:

# Stop and remove containers, networks, and volumes
docker compose -f docker/docker-compose.yml down -v

# Remove dangling volumes (optional)
docker volume prune

# Only stop containers (keep volumes)
docker compose -f docker/docker-compose.yml down

Clean‑Up

docker compose down -v       # stop containers and delete maria_store
docker volume prune          # remove dangling volumes (optional)

Production Notes

  • Replace the Django dev server with Gunicorn or Uvicorn.

  • Add HTTPS termination (Traefik, Caddy, Nginx) in front of the stack.

  • Mount an external volume or managed database for MariaDB instead of the local maria_store.