Install with Docker Compose
Create a folder for Plekt and put a private .env file beside the Compose file:
ADMIN_PASSWORD=choose-a-strong-private-password
Create docker-compose.yml:
services:
plekt:
image: plembfin/plekt:latest
container_name: plekt
ports:
- "5056:5055"
volumes:
- ./data:/data
environment:
PLEKT_PUBLISHED_PORT: "5056"
ADMIN_USERNAME: admin
ADMIN_PASSWORD: "${ADMIN_PASSWORD:?Set ADMIN_PASSWORD in .env before starting}"
restart: unless-stopped
Stable release images are available as plembfin/plekt:latest on Docker Hub and as
ghcr.io/lasikiewicz/plekt:latest on GitHub Container Registry. You can pin a stable
version, such as plembfin/plekt:2.0.0. Alpha and develop images are published on GHCR
only. Installs that still use the old plembfin/plembfin or ghcr.io/lasikiewicz/plembfin
image names keep receiving releases for at least six months after the rebrand; see
Upgrading from Plembfin to Plekt for the safe update procedure.
Start the container and open http://localhost:5056:
docker compose up -d
The /data volume is essential.
It keeps the database, settings, credentials, artwork cache, logs, and backups across container recreation or upgrades.
Back up this directory and use Plekt’s own backup tools for a portable archive.
Docker Desktop on macOS or Windows
Use a named volume for /data instead of the ./data folder. Docker Desktop shares host
folders through a file sharing layer that can corrupt the SQLite database under heavy
writes, such as a first Trakt sync. The damage shows up as database disk image is malformed.
services:
plekt:
# image, ports, environment, and restart as above
volumes:
- plekt-data:/data
volumes:
plekt-data:
Never open the database file (plekt.db, or plembfin.db on an install that predates the
rebrand) from the host while the container is running. Linux hosts are
not affected. To move an existing install, take a backup in
Backups and operations and restore it into the new volume.
