NodehouseDocs

Install Nodehouse#

Run Nodehouse from source for development or use Docker Compose for a persistent single-host deployment.

Before you start#

  • Git and a supported Node.js runtime with npm.
  • A strong, unique SysOp password of at least 12 characters.
  • For Docker: Docker Engine with the Compose plugin.
  • Two distinct available ports for HTTP and Telnet.

Run from source#

git clone https://github.com/packetloss404/Nodehouse.git
cd Nodehouse
npm install
cp .env.example .env
npm run verify
npm start

Before starting, edit .env, set the intended environment and define a unique NODEHOUSE_SYSOP_PASSWORD. Do not expose a development database or a known bootstrap credential to a network.

Run with Docker Compose#

cp .env.example .env
# Edit .env: set NODE_ENV=production and NODEHOUSE_SYSOP_PASSWORD.
docker compose up -d --build

The committed Compose service publishes HTTP on host port 8088 and Telnet on host port 23. It persists data/ and files/ beside the Compose file.

The image includes the art/ directory, which holds the ANSI art gallery. Nodehouse also creates data/transfers at startup to stage offline packets, so the persisted data/ volume covers it. If you build a custom image or mount your own application directory, copy art/ as well or the gallery lists no artwork.

Verify#

curl -fsS http://127.0.0.1:8088/healthz
docker compose ps
docker compose logs --tail=100 nodehouse
docker compose exec nodehouse ls art/gallery

Also connect to the Telnet listener and confirm the welcome banner appears. A successful health response must report that the database is available, and art/gallery must list the shipped .ans files. Stop the service and use Troubleshooting if either listener fails.

If it does not work#

Symptom Check Recovery
/healthz refuses the connection Whether the process is running at all, and on the expected port See Nodehouse refuses to start
/healthz answers but reports unhealthy The body — it names what is wrong See /healthz is unhealthy
Compose reports the container up while health fails docker compose logs --tail=100 nodehouse A running container is not a working board
A port is already in use What else is bound to it Change the published port rather than stopping an unrelated service