This repository contains the public deployment package for Constructos.
.
├── install.sh
├── install.ps1
├── uninstall.ps1
├── uninstall.sh
├── index.sh
├── scripts/
│ └── deploy.sh
├── compose/
│ ├── base/
│ │ └── app.yml
│ ├── platforms/
│ │ ├── macos-m4.yml
│ │ ├── ubuntu-gpu.yml
│ │ └── windows.yml
│ ├── ollama/
│ │ ├── disabled.yml
│ │ ├── gpu-dri.yml
│ │ ├── gpu-nvidia.yml
│ │ ├── host.yml
│ │ └── host-linux.yml
│ └── integrations/
│ └── jira-mcp.yml
├── .env.example
├── .env.jira-mcp.example
└── codex.config.toml
Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/nirm3l/constructos/main/install.sh | IMAGE_TAG=main INSTALL_COS=true AUTO_DEPLOY=1 bashLinux/macOS uninstall:
curl -fsSL https://raw.githubusercontent.com/nirm3l/constructos/main/uninstall.sh | bashWindows PowerShell (native):
$env:IMAGE_TAG='main'
$env:INSTALL_COS='true'
$env:AUTO_DEPLOY='1'
iwr -UseBasicParsing https://raw.githubusercontent.com/nirm3l/constructos/main/install.ps1 | iexWindows PowerShell uninstall:
iwr -UseBasicParsing https://raw.githubusercontent.com/nirm3l/constructos/main/uninstall.ps1 | iexLinux/macOS:
git clone https://github.com/nirm3l/constructos.git
cd constructos
IMAGE_TAG=main bash ./install.sh
IMAGE_TAG=main bash ./scripts/deploy.shWindows PowerShell:
git clone https://github.com/nirm3l/constructos.git
cd constructos
.\install.ps1 -ImageTag 'main' -AutoDeploy 'true'DEPLOY_TARGET=auto|base|ubuntu-gpu|macos-m4|windows-desktop(default:auto)IMAGE_TAG=<tag>(default:main)CODEX_CONFIG_FILE(default:./codex.config.toml)CODEX_AUTH_FILE(default:${HOME}/.codex/auth.json)CLAUDE_AUTH_FILE(default:${HOME}/.claude.json)INSTALL_COS=true|false(default:true)COS_INSTALL_METHOD=pipx|link(default:pipx)INSTALL_OLLAMA=auto|true|false(default:auto)DEPLOY_OLLAMA_MODE=auto|docker|docker-gpu|host|none(default:auto)
INSTALL_OLLAMA:
auto: prompt when Ollama is missing, then continue with/without support.true: try to install Ollama on host (automated on macOS and Windows when package manager is available).false: skip Ollama installation.
DEPLOY_OLLAMA_MODE:
auto: chooses in orderdocker-gpu -> host -> docker(on macOS profile: fixed to host unlessnone).docker: run Ollama as a Docker service (CPU mode).docker-gpu: prefer Docker GPU mode; if unavailable, deploy falls back tohostthendocker.host: use host Ollama athttp://host.docker.internal:11434.none: skip Ollama service entirely.
Platform defaults:
macos-m4: fixed to host Ollama (unless mode isnone).windows-desktopand Linux targets (base/ubuntu-gpu): support both Docker and host Ollama modes.
ghcr.io/nirm3l/constructos-task-app:<tag>ghcr.io/nirm3l/constructos-mcp-tools:<tag>
task-appmountsCODEX_CONFIG_FILEto/home/app/.codex/config.toml.task-appmountsCODEX_AUTH_FILEto/home/app/.codex/auth.jsononly when the file exists on host.task-appmountsCLAUDE_AUTH_FILEto/home/app/.claude.jsononly when the file exists on host.- Override any of these paths with
CODEX_CONFIG_FILE,CODEX_AUTH_FILE, orCLAUDE_AUTH_FILEin.envor shell env before deploy. - If
CODEX_AUTH_FILEis missing, deploy continues without Codex authentication. - If Claude host files are missing, deploy continues and Claude can still be configured through the app UI.
- Create local env file:
cp .env.jira-mcp.example .env.jira-mcp- Set Jira credentials in
.env.jira-mcp. - Start Jira MCP:
docker compose -p constructos-jira-mcp -f compose/integrations/jira-mcp.yml up -dinstall.sh installs cos by default as a best-effort step.
Disable automatic COS install:
curl -fsSL https://raw.githubusercontent.com/nirm3l/constructos/main/install.sh | INSTALL_COS=false bashSkip Ollama installation:
curl -fsSL https://raw.githubusercontent.com/nirm3l/constructos/main/install.sh | INSTALL_OLLAMA=false bashForce host Ollama mode:
IMAGE_TAG=main DEPLOY_OLLAMA_MODE=host bash ./scripts/deploy.shForce Docker Ollama with GPU:
IMAGE_TAG=main DEPLOY_OLLAMA_MODE=docker-gpu bash ./scripts/deploy.shUninstall and also remove named volumes:
curl -fsSL https://raw.githubusercontent.com/nirm3l/constructos/main/uninstall.sh | REMOVE_APP_DATA=true bashWindows PowerShell uninstall and also remove named volumes:
$env:REMOVE_APP_DATA='true'
iwr -UseBasicParsing https://raw.githubusercontent.com/nirm3l/constructos/main/uninstall.ps1 | iexDisable Ollama:
IMAGE_TAG=main DEPLOY_OLLAMA_MODE=none bash ./scripts/deploy.shManual COS install:
COS_CLI_VERSION=1.0.1
pipx install --force "https://github.com/nirm3l/constructos/releases/download/cos-v${COS_CLI_VERSION}/constructos_cli-${COS_CLI_VERSION}-py3-none-any.whl"
cos --help