// Copyright (c) 2025 SecurITe
// All rights reserved.
//
// This source code is the property of SecurITe.
// Unauthorized copying, modification, or distribution of this file,
// via any medium is strictly prohibited unless explicitly authorized
// by SecurITe.
//
// This software is proprietary and confidential.
//
// File Owner: deepinder@securite.world
// Created On: 04/28/2026
This repository uses docker-compose.yml to run the basic Orion management
services locally. The Docker services are managed through the orion.sh shell
script, which wraps the common launch, stop, restart, status, and test commands.
The compose stack includes:
nginx: reverse proxy on ports80and443minio: object store on ports9000and9001apis-container: Orion API service on port8080postgres: PostgreSQL database on port5432redpanda: Kafka-compatible broker on ports9092and9644
Install the following tools on the host:
- Docker Engine
- Docker Compose
- Go toolchain
jq- PostgreSQL client tools, including
psqlandcreatedb - MinIO client,
mc
On Ubuntu, the common packages are:
sudo apt-get update
sudo apt-get install -y docker.io docker-compose jq postgresql-clientInstall the MinIO client if it is not already available:
curl https://dl.min.io/client/mc/release/linux-amd64/mc -o mc
chmod +x mc
sudo mv mc /usr/local/bin/mcBuild the Orion binaries and install the runtime configuration used by the Docker services:
git pull
make all
make install
make install-utils
make configmake config installs configuration under /opt/config. The compose file
mounts these files into the containers, including:
/opt/config/nginx/nginx.conf/opt/config/db.json/opt/config/minio.json/opt/config/schema_pg_v2.sql
Use orion.sh for normal service lifecycle operations:
./orion.sh launch
./orion.sh status
./orion.sh restart
./orion.sh stop./orion.sh launch calls launch.sh, which starts docker-compose.yml with
up -d --build and verifies that the expected containers are running.
For direct Docker Compose access, use:
docker-compose -f docker-compose.yml ps
docker-compose -f docker-compose.yml logs -f
docker-compose -f docker-compose.yml downAfter the containers are running, initialize PostgreSQL and MinIO:
init_db.sh /opt/config/db.json /opt/config/schema_pg_v2.sql
init_minio.sh /opt/config/minio.jsonThe database initialization script drops and recreates the configured database after confirmation. Verify the printed configuration before approving the prompt.
To populate the database with development data:
populate_db.sh /opt/config/db.jsonTo populate MinIO with the sample data in minio/:
populate_minio.sh /opt/config/db.json /opt/config/minio.json minio/Run the sanity test after launch and initialization:
./orion.sh testUseful local endpoints:
- API service:
http://localhost:8080 - MinIO API:
http://localhost:9000 - MinIO console:
http://localhost:9001 - Nginx:
http://localhost - PostgreSQL:
localhost:5432 - Redpanda Kafka:
localhost:9092
docker-compose.ymluses named and local volumes for service data. Stopping the stack with./orion.sh stopremoves containers and the compose network, but it does not delete the named PostgreSQL volume.- MinIO data is stored under
./minio/data. - The default development credentials are defined in
docker-compose.ymland the matching files underconfig/.