EvoX Genesis
EvoX Genesis turns a high-level software objective into a persistent recursive software world: finite-lived agents recursively develop software, while only accepted consequences persist across develop
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Modula Deploy: a self-hosted, Railway-style platform
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Self-hosted platform for deploying apps and databases on your own servers. Push to GitHub or pick an image, and Modula builds, deploys, routes and secures it. The workflow is modeled on Railway's: a project canvas, environments, staged changes, variables with references, domains, database backups and a CLI.
Status: alpha. It runs real apps, but expect rough edges and breaking changes before 1.0. Today an instance has a single owner account; teams and invites come later. Read SECURITY.md before exposing it.
modula up from a local directory. Builds use Railpack
or your Dockerfile, in a sandboxed BuildKit per workspace.${{ Postgres.DATABASE_URL }}),
sealed values, encrypted at rest with keys per environment.modula mirrors the Railway CLI's commands;
.modula/modula.ts (TypeScript, like Railway's railway.ts) or
.modula/modula.toml keeps a whole project in git.On a fresh Ubuntu 22.04+ or Debian 12+ server (2 GB RAM or more):
curl -fsSL https://usemodula.org/install.sh | bash
No domain is needed to start: the dashboard comes up on https://<server IP>
and you can set a domain later in Settings → Domain. The installer sets up
Postgres, Redis, Docker and Caddy, downloads binaries verified against a signed
checksum list, writes hardened systemd units, and prints a one-time setup token.
It also writes /root/modula-recovery-kit.txt with the master key: copy it
somewhere safe and delete it from the server.
Full details, including unattended installs, ports, upgrades and recovery: guide/install.md.
Or work from the terminal. Install the CLI on your own machine (Linux or macOS):
curl -fsSL https://usemodula.org/install-cli.sh | bash
Then log in and deploy the current directory:
modula login deploy.example.com # approve the login in your browser
modula init # create a project, or `modula link` an existing one
modula up # build and deploy this directory
modula logs # follow the logs
Every command is in guide/cli.md; scripting and agent use is in guide/cli-for-humans-and-agents.md.
The guide covers everything: projects and services, variables, deployments, databases, backups, domains, servers, the CLI, the API, and migrating from Railway.
crates/server modula-server: axum API, auth, authz, jobs, migrations, embedded UI,
internal CA, node endpoint (gRPC), deployments
crates/node modula-node: runs on every server; Docker runtime, Caddy, builds, databases
crates/cli the `modula` CLI
crates/crypto envelope encryption (XChaCha20-Poly1305, AAD-bound), tokens, argon2id
crates/proto modula.node.v1 gRPC protocol between server and node
crates/backup backup streaming, age encryption, outbound network guard
crates/hetzner Hetzner Cloud API client
web/ React SPA (served by modula-server)
deploy/ install.sh, release public key, e2e installer test
scripts/ check.sh (what CI runs), release.sh, dev-*.sh
guide/ user documentation
Prerequisites and conventions are in CONTRIBUTING.md.
scripts/dev-services.sh # Postgres :55432, Redis :56379 (127.0.0.1 only)
cp .env.example .env && set -a && . ./.env && set +a
(cd web && pnpm install && pnpm build) # without web/dist the UI is blank
cargo run -p modula-server -- keygen --out ./dev-master.key
cargo run -p modula-server # prints the one-time setup token
scripts/check.sh # fmt, clippy, tests, deny, audit, no-shell
Run a server (node) against it. The join command comes from Servers → Add
server or POST /api/nodes/join-tokens:
MODULA_JOIN_TOKEN=mcj_… cargo run -p modula-node -- --data-dir .dev/node join --server https://localhost:7101 --ca sha256:…
cargo run -p modula-node -- --data-dir .dev/node run
cargo test -p modula-node --test docker -- --ignored # real Docker round trip
On macOS, Docker Desktop can't route to container IPs from the host, so health
checks only pass when modula-node runs on Linux. scripts/dev-node.sh starts a
simulated server (a privileged container with its own dockerd, Caddy and node)
joined to scripts/dev-server.sh:
scripts/dev-node.sh dev-node-1 8080 # apps on http://<generated>.localhost:8080
scripts/dev-node.sh dev-node-1 --rm # remove it
For the UI with hot reload: scripts/dev-server.sh, then cd web && pnpm dev
(start the server with MODULA_PUBLIC_URL=http://localhost:5173).
Releases are built and signed with scripts/release.sh; the signing key lives
outside the repository and its public half is deploy/release.pub.pem.
deploy/e2e/run.sh runs the installer end to end in systemd containers.
Contributions are welcome: bug reports, fixes, docs, and features.
scripts/check.sh
(the same checks as CI) before opening a pull request. Add tests for behavior you
change, and update the guide when users would notice.guide/
are some of the most useful contributions.CONTRIBUTING.md has prerequisites, conventions and the review process. Security issues go through SECURITY.md, never public issues. Everyone taking part follows the Code of Conduct.
Please report vulnerabilities privately, as described in SECURITY.md. The design in brief:
Origin match (CSRF); sessions are hashed,
__Host- HttpOnly cookies, rotated on login and sudo.no-new-privileges, default memory and
CPU limits, one network per environment, and no access to cloud metadata.
Builds run in a sandboxed BuildKit per workspace.scripts/no-shell.sh enforces it in CI).AGPL-3.0-only. Third-party components and their licenses are listed in THIRD_PARTY_NOTICES.md.
Modula Deploy is not affiliated with or endorsed by Railway Corp. "Railway" is their trademark and is used here only to describe compatibility.