Skip to content

Quickstart (Self-Host)

Get Deckyard running on your machine. The installer takes one line; the manual path takes five.

Deckyard is a self-hosted web app for creating and presenting slide decks. It runs as:

  • A plain Node.js server
  • A vanilla ESM client (no bundler)
  • File-based JSON persistence on disk, with Postgres as an optional mode

Either of these is enough; the installer uses whichever it finds.

  • Docker, or
  • Node.js 22 or newer with npm

The installer does not install Docker or Node for you. If neither is present it says where to get them and stops.

Terminal window
curl -fsSL https://deckyard.eu/install.sh | bash

This clones the repository, auto-detects Docker or Node, writes a local .env, installs dependencies, starts the app and opens your browser at http://localhost:4177. Nothing leaves your machine.

It is safe to re-run: an existing install is updated in place, and an existing .env is left alone.

Optional knobs, all set as environment variables:

VariableEffect
DECKYARD_DIRTarget directory (default: ./deckyard)
DECKYARD_BRANCHBranch to check out (default: main)
DECKYARD_MODEForce docker or node instead of auto-detecting
PORTApp port (default: 4177)

Piping a script into bash deserves a look first. It is served at deckyard.eu/install.sh, and the same file is scripts/install.sh in the repository.

Terminal window
git clone https://github.com/jaapstronks/deckyard.git
cd deckyard
npm install
npm run setup # optional: AI key, auth, port (Enter accepts defaults)
npm run start

Open your browser to: http://localhost:4177

npm run setup writes a .env for you. To edit it by hand, copy .env.example to .env and change what you need.

See Environment Variables for the full configuration reference.

Deckyard is MCP-native, so a shell-capable coding agent can clone it, configure it with your keys, start it and wire itself in over MCP. The setup script takes flags for exactly that:

Terminal window
npm run setup -- --yes --ai=claude --ai-key=… --auth=off