Install
The install steps in one place, written to be read by coding agents and scripts. The same content as markdown is at /install.md.
Get the code
git clone https://github.com/fikadesk/fikadesk.git
cd fikadeskRequirements
- Docker Engine 24 or newer with the Compose plugin.
- 2 GB of RAM and 10 GB of disk to start.
- A DNS name pointing at the box if you want HTTPS.
- A second name for attachments, FIKADESK_MEDIA_URL; nothing serves that origin yet.
Quickstart
cp deploy/compose/.env.example deploy/compose/.env
openssl rand -hex 24 # POSTGRES_PASSWORD, FIKADESK_APP_PASSWORD
openssl rand -hex 32 # FIKADESK_AUTH_SECRET, FIKADESK_REALTIME_SECRET
$EDITOR deploy/compose/.env
docker compose -f deploy/compose/compose.yml --profile single up -d --wait
curl http://127.0.0.1/healthzFirst administrator
docker compose -f deploy/compose/compose.yml logs api | grep setupToken
curl -X POST http://127.0.0.1/api/setup -H 'content-type: application/json' \
-d '{"token":"<the token>","email":"[email protected]","name":"You","password":"<at least 12 characters>"}'Go public
Set FIKADESK_DOMAIN=support.example.com and FIKADESK_BIND=0.0.0.0 in .env. Caddy fetches a certificate on start and redirects HTTP to HTTPS.
Messenger
<script data-workspace="<workspace-slug>" src="https://<your-host>/loader.js"></script>Until a host domain is added to the workspace, the messenger loads nowhere.
Upgrade
$EDITOR deploy/compose/.env # bump FIKADESK_IMAGE to the new tag
docker compose -f deploy/compose/compose.yml --profile single pull
docker compose -f deploy/compose/compose.yml --profile single run --rm migrate
docker compose -f deploy/compose/compose.yml --profile single up -d --waitOpenAPI at a stable URL, the MCP server and the SDK packages ship later. The compose quickstart above is the install path today.