Skip to content

Deployment Guide

sylvain legland edited this page Feb 26, 2026 · 2 revisions

Deployment Guide

3 Environments

1. Azure Production

Property Value
VM D4as_v5 (4 CPU, 16 GB), francecentral
SSH <user>@<azure-vm-ip>
Web http://<azure-vm-ip> (nginx basic auth)
LLM Azure OpenAI / gpt-5-mini
Container platform-platform-1
Compose deploy/docker-compose-vm.yml
Tracing OTEL → Jaeger :16686
DB PostgreSQL + SQLite

Deploy process:

# 1. Copy files to VM
scp -r platform/ <user>@<azure-vm-ip>:/home/<user>/

# 2. Copy to container
ssh <user>@<azure-vm-ip> "docker cp /home/<user>/platform platform-platform-1:/app/"

# 3. Restart
ssh <user>@<azure-vm-ip> "docker restart platform-platform-1"

2. OVH Demo

Property Value
VPS OVH VPS, Debian
SSH <user>@<ovh-vps-ip>
Web http://<ovh-vps-ip>
LLM Demo mode (mock, no API key needed)
Container software-factory-platform-1
Image software-factory-platform:v2
Code /opt/software-factory/
DB SQLite only

Deploy process:

rsync -avz --delete software-factory/ <user>@<ovh-vps-ip>:/opt/software-factory/
ssh <user>@<ovh-vps-ip> "cd /opt/software-factory && sudo docker compose up -d --build"

3. Local Development

Property Value
URL http://localhost:8099 (platform) / :8080 (dashboard)
LLM MiniMax / MiniMax-M2.5
Module platform (standard Python package)
DB SQLite (data/platform.db)
No Docker Direct uvicorn

Run locally:

# Platform (NEVER --reload, ALWAYS --ws none)
python3 -m uvicorn platform.server:app --host 0.0.0.0 --port 8099 --ws none --log-level warning

# Dashboard
python3 -m dashboard.server

# Tests
python3 -m pytest tests/ -v

Docker Quick Start

git clone https://github.com/macaron-software/software-factory.git
cd software-factory
make setup    # install deps, init DB
make run      # start Docker containers
# → http://localhost:8090

For demo mode (no LLM key): PLATFORM_LLM_PROVIDER=demo make run

🇫🇷 Guide de déploiement (FR) · 🇪🇸 ES · 🇩🇪 DE

Clone this wiki locally