/docs/self-host-directory
Self-host an IICP directory
IICP has two official directory implementations. PHP runs the current Genesis Seed. Rust v0.1.15 is a pre-1.0 operator preview for local and disposable evaluation. Publishing the Rust source does not move production traffic or make public federation available.
Use the Rust preview to inspect and test a directory you control. Do not present it as an official public replica or a production replacement for iicp.network.
- Clone the public Rust directory repository.
- Run its tests.
- Start it in local in-memory mode.
- Use MySQL only after reading its backup and recovery guide.
Evaluate the Rust preview
git clone https://github.com/RobLe3/iicp-directory-rust.git cd iicp-directory-rust git checkout v0.1.15 cargo test --locked cargo run --locked
With no DATABASE_URL, the service uses non-durable in-memory storage and listens on port 8090. This is the safest first evaluation path.
Use durable storage
export DATABASE_URL="mysql://iicp_user:[email protected]/iicp_directory" export APP_ENV=local cargo run --locked
Create a dedicated database and credentials. Keep signing keys, backups and environment files outside the repository and outside web-accessible directories. Follow the repository's operations guide before testing migrations or recovery.
Implementation boundary
- The public protocol and conformance contracts are authoritative.
- PHP v1.10.93 remains the current Genesis implementation release; the live iicp.network deployment is tracked separately.
- Rust v0.1.15 is not production support or a cutover decision.
- Independent public replicas and partition recovery remain later milestones.