Persistent saves
Your game survives rebuilds.
The database and uploaded art live in the named heartmorrow-data volume. Rebuilding the image does not reset that volume.
The first evening
Heartmorrow runs on your own machine. Choose Pinokio for the easiest Windows setup, Docker for an isolated container, or Manual for the self-contained scripts and developer setup.
Choose your path
Every method runs Heartmorrow locally and keeps your game data on your machine. Pick the setup that best fits how you already use your computer.
Recommended on Windows
Pinokio downloads Heartmorrow, creates a private Node.js runtime, installs the dependencies, and gives you controls for starting and updating the game. It does not change your system Node.js installation.
Download and open Pinokio Desktop. If you already have it installed, move on to the next step.
Download Pinokio DesktopOpen Heartmorrow’s Pinokio page and choose Install. Pinokio will open the launcher in its desktop app.
Open Heartmorrow on PinokioOn Heartmorrow’s screen inside Pinokio, select Install. Pinokio downloads the game and prepares everything it needs inside its own app directory.
When installation finishes, select Start, then Open Heartmorrow. The game opens locally in your browser and remains on your machine.
Pinokio installs Heartmorrow, but it does not bundle a language model. Open Settings → Model & diagnostics, choose your local server or hosted provider, enter its connection details, select a model, and press Test connection.
Read the model setup guideAlternative launcher source. If the Pinokio listing does not open the desktop app, paste the launcher’s GitHub URL into Pinokio’s Download field.
Container install
This path needs Docker Desktop or Docker Engine, but no local Node.js or pnpm. The included Compose file builds the web app and API into one container and exposes one local port.
Download the project ZIP and extract it, or clone the repository with Git.
git clone https://github.com/HMDSimDev/heartmorrow.git cd heartmorrow
Open a terminal in the Heartmorrow folder and run the included Compose configuration.
docker compose up --build
Visit http://localhost:8787. Docker serves the web app and API together, so there is no separate :5173 address for this method.
If your model runs on the host computer, use host.docker.internal instead of localhost in its base URL. For example, LM Studio commonly uses http://host.docker.internal:1234/v1, while Ollama commonly uses port 11434.
Persistent saves
The database and uploaded art live in the named heartmorrow-data volume. Rebuilding the image does not reset that volume.
Local by default
The included Compose file publishes Heartmorrow only on 127.0.0.1. The app has no authentication, so do not expose it to an untrusted network.
Two manual routes
Use the self-contained installer if you want Heartmorrow to keep its tools inside the game folder. If you already have Node.js 24 or newer and pnpm, use your own environment instead.
Option A
No prerequisites are required. The script downloads an official Node.js build into .runtime/node, activates the project’s pinned pnpm version, installs dependencies, and seeds the sample database.
Download the ZIP and extract it somewhere you can find again. If you use Git, clone the project instead.
git clone https://github.com/HMDSimDev/heartmorrow.git cd heartmorrow
Windows
powershell -ExecutionPolicy Bypass -File .\install.ps1
macOS & Linux
chmod +x install.sh run.sh ./install.sh
Android
chmod +x install.sh run.sh ./install.sh
Use the Linux installer inside Termux, then play in your phone’s browser.
Windows
.\run.bat
macOS, Linux & Android
./run.sh
Open http://localhost:5173 if the page does not open automatically. The installer scripts are safe to run again when you need them.
Option B
This route requires Node.js 24 or newer and pnpm. The repository pins pnpm@11.7.0 through its package manager configuration.
Open a terminal in the extracted or cloned Heartmorrow folder, then install the workspace packages.
pnpm install
You can copy the example environment file if you want to change the defaults. Seed the sample world, characters, and items before your first run.
cp .env.example .env pnpm seed
On Windows PowerShell, use Copy-Item .env.example .env instead of cp.
pnpm dev
Open http://localhost:5173, then connect your model in Settings → Model & diagnostics.
Platform compatibility. The Pinokio launcher has been tested on Windows. Heartmorrow’s self-contained installers have been tested on Windows, macOS, Linux, and Android through Termux. Docker support depends on a compatible Docker installation.