Skip to main content
You can move a project from Modelcode Hosted to Self hosted at any point, even mid-migration. The move is one-way: a self-hosted project can’t go back to hosted builds. The daemon pool and the platform stay fixed for the life of the project.

Moving a hosted project to self hosted

Starting on Modelcode Hosted is the fastest way to begin. Once the migration is underway, you may want it to run inside your own network instead. Moving to self hosted lets each milestone build and validate on your own infrastructure, such as staging, dev, or any host that can reach your real deployed services and environments, so the migration is tested against those systems rather than a sandbox. Run builds on your own machine, with a Move to self-hosted button Open Build Environment from the Roadmap and click Move to self-hosted.

Before you switch

  • Merge all open milestone pull requests. The button stays disabled while any milestone is running or has an unmerged PR.
  • Open chats are closed. New chats will run in the newly configured self-hosted enviroment.

During the transition

The project goes back into onboarding mode, and milestones are paused while you:
  1. Connect a daemon. Install ModelDaemon on a machine running the project’s platform and connect it to a pool.
  2. Build the environment. The Morph Platform discovers the project’s dependencies and installs them on the daemon. This usually takes a few minutes.
  3. Validate setup. The setup chat runs your build, run, and test commands on your machine, and asks you only when it is blocked.
Once the new build environment is validated, the Roadmap unlocks and you can continue with the next milestone.

What changes

Your Project Spec, roadmap, and merged work carry over unchanged. The main change is in the environment setup and lifecycle scripts, which are adapted to your machine during validation. You may also choose a different lifecycle strategy, for example connect to point at an app already running in your environment.

What can’t be switched

Hosting, from self hosted back to hosted. A self-hosted project relies on access to your network that the hosted sandbox doesn’t have. The daemon pool. When a project joins a pool, its dependencies are prepared on that pool’s machines. Another pool’s machines would need the same preparation before they could serve the project. You can move an individual machine between pools, which helps when reorganizing capacity, but not the project. A pool also can’t be deleted while a project is connected to it; deleting the project releases the pool. The platform. A project’s platform, Linux or Windows, decides the shell every generated command is written in, the base image a sandbox is built from, and the syntax of the lifecycle scripts. When you move to self hosted, the daemon must run the same platform. Pick the platform your application already builds on. A project that needs the other one is a new project.