Installation
Every way to get Alaf Server running — the one-line install script, the npm CLI, the desktop app, or a Docker Compose stack.
Alaf Server has a few different front doors, and they all lead to the same place. Think of it like getting a new appliance: you can grab the quick-start cable (the install script), unpack it with tools you already own (npm), buy the ready-to-use boxed version (the desktop app), or wire it into your workshop for good (Docker Compose). Pick the one that fits you — you can always switch later.
Which one should I pick?
- Just want to try it on your own machine, the fast way? Use the install script.
- Already have Node.js and npm? Use the npm CLI.
- Want a clickable app with no terminal at all? Get the desktop app.
- Running a server and want it always on? Use Docker Compose.
Install
The fastest way. One command downloads the Bun runtime (if you don't already have it) and installs
the alaf server command — no Node or npm required.
curl -fsSL https://get.alafteknoloji.com | shOn Windows, run this in PowerShell instead:
irm https://raw.githubusercontent.com/mtntasci/alafserver/main/scripts/install.ps1 | iexPin a version
Want a specific release instead of the latest? Set ALAFSERVER_VERSION before running the script, e.g.
ALAFSERVER_VERSION=0.1.9 curl -fsSL https://get.alafteknoloji.com | sh.
Can't find the alaf server command afterward?
The installer adds Bun's global bin folder to your PATH. If your shell still can't find alaf server,
open a new terminal — or on macOS/Linux run export PATH="$HOME/.bun/bin:$PATH" — and try again.
When it finishes you'll have the alaf server command. Now jump to [Run Alaf Server](#run-alaf server) below.
Already have Node.js and a package manager? Install the CLI globally with whichever one you use:
npm i -g alaf serverpnpm add -g alaf server # pnpm
yarn global add alaf server # yarn
bun add -g alaf server # bunThat gives you the same alaf server command as the install script. Head to [Run Alaf Server](#run-alaf server).
The desktop app bundles the whole thing — the API, the dashboard, and the database — into a single application you run on your own machine. No server, no Docker: great for local development and for deploying straight from a folder on your disk.
If you already have the CLI, one command fetches and launches it:
alaf server installOr download it directly for your system:
- macOS — [Apple Silicon](https://github.com/mtntasci/alafserver/releases/latest/download/Alaf Server-arm64.dmg) · [Intel](https://github.com/mtntasci/alafserver/releases/latest/download/Alaf Server-x64.dmg)
- Windows — [Alaf Server-win32-x64.zip](https://github.com/mtntasci/alafserver/releases/latest/download/Alaf Server-win32-x64.zip)
- Linux — [Alaf Server.AppImage](https://github.com/mtntasci/alafserver/releases/latest/download/Alaf Server.AppImage)
You can also grab them from the download page.
On Linux, make the AppImage runnable, then start it — no installer, no root:
chmod +x Alaf Server.AppImage
./Alaf Server.AppImageAppImage needs FUSE
Most Linux distros ship it already. If the AppImage won't start, either install FUSE
(sudo apt-get install -y libfuse2 on Debian/Ubuntu) or run it self-extracting:
./Alaf Server.AppImage --appimage-extract-and-run.
Screenshot
Prefer containers on a server? Clone the repo and bring up the bundled stack. It runs five services:
Postgres, Redis, the API (:4000), the dashboard (:3001), and the marketing/docs
site (:3000).
git clone https://github.com/mtntasci/alafserver.git
cd alafserver
cp .env.example .env # then edit the secrets inside
docker compose up -dWhen it's up, open the dashboard at http://localhost:3001 and the API at http://localhost:4000/api.
The first start builds from source
The first docker compose up builds the API, dashboard, and site images from the repo, so it can take a
few minutes. Later starts reuse the built images and come up quickly.
Edit .env first
Copy .env.example to .env and fill in the secrets before you start the stack — the containers read
their configuration from that file at boot.
Run Alaf Server
If you installed the CLI (the install script or npm), start Alaf Server with a single command:
alaf server upThis installs Alaf Server as a background service that starts on boot and restarts itself if it crashes —
like a delivery truck that always comes back to the depot. It runs the API on :4000 and the dashboard on
:3001 (the dashboard is downloaded automatically the first time), backed by a small embedded database with
no external services to set up. On your own machine, local access needs no login.
alaf server stop # stop the service — it won't restart or come back on reboot
alaf server up --foreground # run it attached to this terminal instead (a one-off; stop with Ctrl-C)
alaf server up --no-ui # run the API only, without the dashboardWhat --foreground is for
alaf server up keeps running after you close the terminal. alaf server up --foreground does the opposite: it
stays in your terminal and stops when you press Ctrl-C. Use it for a quick throwaway run, or on a system
where the background service can't be installed.
Under the hood, alaf server up registers with your operating system's service manager so it can survive
reboots:
- Linux — a systemd unit (
--userwith linger enabled, or a system unit when you run it as root). - macOS — a launchd agent that reloads at login.
- Windows — a Scheduled Task at logon (best-effort; here
alaf server up --foregroundor the desktop app are the more reliable options).
No service manager found?
On a Linux box without systemd, alaf server up can't install a persistent service. Run
alaf server up --foreground instead, or use the Docker Compose stack for always-on.
Open it and check it's working
With a local instance running, open the dashboard in your browser:
alaf server openOr check the API's health straight from the terminal:
alaf server statusScreenshot
alaf server open after alaf server up. (screenshot pending)Alaf Server Cloud
Don't want to run a server at all? Sign up for Alaf Server Cloud — the same platform, fully managed for you.