DevOps bootstrap toolkit for Ubuntu/Debian servers, packaged as a .deb, focused on:
- base system provisioning
- Docker Engine and Docker Compose plugin
- Codex CLI environment (Node.js +
@openai/codex) - MCP (Model Context Protocol) tooling
- MCP server generation and orchestration
French version: README.fr.md
Primary install paths:
/usr/local/bin/opt/n3xai/setup-devops/opt/bootstrap/etc/n3xai
Main entrypoint:
n3xai-install
Menu options in n3xai-install:
- Base System
- Docker Engine
- Codex CLI
- MCP Tools
- MCP Generator
- MCP Orchestrator
- Full Install (runs steps 1 to 6)
- runs
apt update && apt upgrade -y - installs:
curl,wget,git,jq,unzip,build-essential,software-properties-common,apt-transport-https,ca-certificates,lsb-release,gnupg
- removes old Docker packages (
docker,docker.io,containerd,runc, etc.) - configures Docker official APT repository
- installs:
docker-ce,docker-ce-cli,containerd.io,docker-buildx-plugin,docker-compose-plugin - enables and starts
dockerservice
- installs
curlandgit - installs Node.js LTS from NodeSource
- installs globally:
@openai/codex
- installs:
python3,python3-full,python3-pip,python3-venv,jq,git,curl - creates MCP structure:
/root/mcp/{servers,logs,registry,runtime,templates,build} - creates server category directories:
/root/mcp/servers/{docker,aws,aapanel,dns} - creates Python virtual environment:
/root/mcp/venv - installs Python dependencies in venv:
fastapi,uvicorn,pydantic,requests,pyyaml,watchdog
- creates
create-mcp-serverunder/opt/n3xai/mcp-generator - symlinks it to
/usr/local/bin/create-mcp-server - generator creates a minimal
server.pyin/root/mcp/servers/<name>
- creates
orchestrator.pyunder/opt/n3xai/mcp-orchestrator - symlinks it to
/usr/local/bin/mcp-orchestrator - orchestrator behavior:
- discovers
server.pyfiles in/root/mcp/servers - starts each server process
- monitors and restarts stopped processes
n3xai-install: interactive installation menucreate-mcp-server: create MCP server skeletonmcp-from-openapi <url> <name>: download OpenAPI file and generate MCP stubmcp-register <name> <path>: append server entry into/root/mcp/registry/registry.jsonmcp-dockerize <name>: generate Dockerfile and buildmcp-<name>image
These are not called automatically by n3xai-install but are provided for ops workflows:
users.sh- reads
/etc/n3xai/env.conf - creates two admin users and adds them to
sudo ssh-hardening.sh- edits
sshd_config(PermitRootLogin/PasswordAuthentication) - restarts SSH service
postgresql.sh- installs PostgreSQL
- creates database/user/grants from
env.conf docker-registry.sh- runs private Docker registry container (
registry:2) on port5000
Main config file:
etc/n3xai/env.conf
Template file for public/open source usage:
etc/n3xai/env.conf.example
Important variables:
- PostgreSQL:
POSTGRE_* - admin accounts:
ADMIN*_USER,ADMIN*_PASS,ADMIN*_EMAIL - MCP env:
MCP_HOME,MCP_VENV,PATH
From /root:
cd /root
./n3xai-devops-codex/build.sh
sudo dpkg -i n3xai-devops-codex.debRun installer:
sudo n3xai-install# Create a new MCP server
create-mcp-server
# Start orchestrator (if installed)
mcp-orchestrator
# Register a server
mcp-register myserver /root/mcp/servers/myserver/server.py- Default values in
etc/n3xai/env.confare placeholders and must be changed before production use. - Never commit real passwords, PATs, or private keys.
- Scripts assume root-level execution on Ubuntu/Debian with APT and systemd.
ssh-hardening.shkeepsPasswordAuthentication yes; this may not match strict hardening policies.- Scripts are not fully idempotent in all edge cases (for example pre-existing symlinks/resources).
Add an explicit open-source license file (LICENSE) before wider distribution.