EvoX Genesis
EvoX Genesis는 고수준 목표를 재귀적 소프트웨어 세계로 전환해, 유한 에이전트가 개발하고 승인된 결과만 유지됩니다
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.