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
Deploy apps and databases on servers you own. Open source, run by a non-profit.
Developer toolsRust · TypeScriptGitHub @Modula-LabsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Modula Deploy: a self-hosted, Railway-style platform
Translation pending
Taken from the repository README
Loading the full README.
Read the full 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.