AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Nixploy is a free, self-hostable Platform as a Service. Deploy apps, databases, and compose stacks on infrastructure you control — with Git deploys, Traefik TLS, monitoring, backups, GitOps, MCP, Depl
개발 도구TypeScript · JavaScriptGitHub @bablilayoub온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Self-hosted PaaS — deploy apps, databases & Compose stacks on Docker Swarm with Traefik, Git deploys, and a CLI.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Deploy like a managed platform. Run it on your own server.
Git push → build → HTTPS → database → monitoring → rollback. On hardware you control, with no per-app pricing.README 전문 보기 ↗curl -fsSL https://raw.githubusercontent.com/bablilayoub/nixploy/main/install.sh | sudo bash
curl -fsSL https://raw.githubusercontent.com/bablilayoub/nixploy/main/install.sh | sudo bash
With a domain (point DNS first):
NIXPLOY_DOMAIN=panel.example.com [email protected] \
curl -fsSL https://raw.githubusercontent.com/bablilayoub/nixploy/main/install.sh | sudo bash
Full installer options: docs/install.md. Update with update.sh.
Releases: github.com/bablilayoub/nixploy/releases — tag vX.Y.Z to publish the GHCR image, changelog, and version-pinned install/update scripts. How to cut a release: docs/releases.md.
| Area | What you get |
|---|---|
| Deploy | GitHub / GitLab / Bitbucket / Gitea / generic Git, Docker images, zip · Nixpacks / Railpack / Dockerfile / buildpacks / static · BuildKit cache · PR previews (fork gate) · rollbacks |
| Data | Postgres, MySQL, MariaDB, MongoDB, Redis · DB backups to S3 · volume backups · instance self-backup (panel DB + config) |
| Compose | Native Compose / Swarm stacks with domains, logs, AI compose generate |
| Edge | Traefik v3 + Let's Encrypt / custom certs (DNS-01, expiry alerts) · redirects · basic-auth · any domain behind the panel login · TCP/UDP routes · traefik.me smoke hosts |
| Observe | Live logs & metrics (48h history) · web terminal · alert rules · uptime probes · incidents |
| Team | Orgs · roles (viewer→owner) · capability overlays · teams + per-project access · 2FA · passkeys (WebAuthn) · SSO (OIDC, group→role) · audit log + CSV export · quotas · white-label |
| Notify | Slack, Discord, Telegram, email, Gotify, ntfy, Pushover, Mattermost, Lark, Teams, webhooks |
| Automate | REST API + /swagger · @nixploy/cli (--wait returns a real outcome) · GitOps (nixploy.yaml) · MCP (POST /api/mcp, 35 annotated tools) |
| AI | Deploy Copilot — explain failures, confirm-gated chat, generate compose (BYO key) · llms.txt / agents.md / per-page Markdown |
| Infra | Remote Swarm servers · Docker control center · registries · schedules · in-app GHCR updates · doctor |
| Catalog | 146 one-click templates (15 categories), CI-checked image tags |
Product docs: nixploy.com/docs · API: nixploy.com/api
A single Node.js process (Next.js with a custom server) plus two sibling containers on a single-node Docker Swarm:
┌──────────────────────── Host (Docker Swarm manager) ────────────────────────┐
│ │
│ ┌──────────────┐ ┌──────────────────┐ ┌────────────────────────┐ │
│ │ nixploy │ │ nixploy-postgres │ │ nixploy-traefik │ │
│ │ (Next.js : │───▶│ (PostgreSQL) │ │ (:80 / :443, ACME) │ │
│ │ 3000) │ └──────────────────┘ └───────────▲────────────┘ │
│ └──────┬───────┘ │ │
│ │ writes dynamic YAML ──▶ /etc/nixploy/traefik/dynamic/*.yml │
│ │ dockerode / ssh2 ─────▶ docker service create|update │
│ │ (user apps, databases, compose stacks) │
│ │
│ overlay network: nixploy-network │
└─────────────────────────────────────────────────────────────────────────────┘
Remote servers join the primary Swarm over SSH. Details: docs/architecture.md.
Prerequisites: Node.js ≥ 22, pnpm ≥ 10, Docker (Swarm active: docker swarm init if needed).
pnpm install
docker run -d --name nixploy-dev-pg \
-e POSTGRES_USER=nixploy -e POSTGRES_PASSWORD=nixploy -e POSTGRES_DB=nixploy \
-p 54329:5432 postgres:17-alpine
cp apps/web/.env.example apps/web/.env
Set in apps/web/.env:
DATABASE_URL=postgres://nixploy:[email protected]:54329/nixploy
BETTER_AUTH_SECRET=$(openssl rand -hex 24) # paste the output
ENCRYPTION_KEY=$(openssl rand -hex 16)
BETTER_AUTH_URL=http://localhost:3000
pnpm db:migrate
cd apps/web && pnpm dev
Open http://localhost:3000/setup. Optional landing: cd apps/landing && pnpm dev → http://localhost:3001.
Full contributor guide: CONTRIBUTING.md · deeper setup: docs/development.md.
npm i -g @nixploy/cli
nixploy auth login --url http://localhost:3000 --api-key nxlp_...
nixploy doctor
REST paths are GET|POST /api/<router>.<procedure> with an x-api-key header. Interactive docs: /swagger on your panel. Guide: docs/api.md · nixploy.com/api.
| Guide | Link |
|---|---|
| Website docs | nixploy.com/docs |
| API reference | nixploy.com/api · docs/api.md |
| Contributing | CONTRIBUTING.md |
| Docs index (repo) | docs/README.md |
| Install | docs/install.md |
| Releases | GitHub Releases · docs/releases.md |
| Getting started | docs/getting-started.md |
| MCP | docs/mcp.md |
| Instance backup | docs/instance-backup.md |
| Observability |
| Path | Description |
|---|---|
apps/web | Next.js panel — UI, tRPC, REST/OpenAPI, custom server |
apps/landing | Marketing site (nixploy.com) |
apps/cli | @nixploy/cli |
packages/server | Schema, auth, deploy engine, Traefik/Docker utils |
docker/ | Production Dockerfile, Traefik config |
install.sh / update.sh | Production installer and updater |
Apache-2.0 — contributions welcome under the same license. See CONTRIBUTING.md.
docs/observability.md| Auth & capabilities | docs/auth.md |
| Docker control center | docs/docker.md |
| Migrate from another panel | docs/migrate-from-another-panel.md |