Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Prerequisites

Required Tools

Liteskill uses mise for tool version management. The mise.toml at the project root pins:

ToolVersion
Elixir1.18
Erlang/OTP28
Node.js24
mdbooklatest

Install mise and run mise install to get the correct versions.

System Dependencies

A C compiler and make are required to build native extensions (e.g. argon2_elixir). Install your platform’s build tools before running mix deps.compile:

  • Debian/Ubuntu: sudo apt install build-essential
  • Fedora/RHEL: sudo dnf groupinstall "Development Tools"
  • macOS: xcode-select --install
  • Arch Linux: sudo pacman -S base-devel

PostgreSQL

PostgreSQL 16 with the pgvector extension is required.

Option A: Local install

Install PostgreSQL and pgvector via your system package manager. The default dev config expects:

  • Host: localhost
  • Port: 5432
  • User/password: postgres/postgres

Option B: Docker

Use the included test script which starts a disposable Postgres container:

./scripts/test-with-docker.sh test

Or use the production docker-compose.yml which provides a pgvector/pgvector:pg16 service.

Quick Start (Docker Compose)

If you just want to run Liteskill without setting up a development environment:

export SECRET_KEY_BASE=$(openssl rand -base64 64)
export ENCRYPTION_KEY=$(openssl rand -base64 32)
docker compose up

This starts PostgreSQL with pgvector and the Liteskill application on port 4000.