Skip to content

Quick Start

Terminal window
git clone https://github.com/kutupbt/kutup.git
cd kutup
cp .env.example .env
# Edit .env — set strong values for POSTGRES_PASSWORD, JWT_SECRET,
# S3_SECRET_KEY, ADMIN_ACCOUNT.
mkdir -p nginx/certs
openssl req -x509 -nodes -newkey rsa:2048 -days 365 \
-keyout nginx/certs/privkey.pem -out nginx/certs/fullchain.pem \
-subj /CN=localhost -addext subjectAltName=DNS:localhost,IP:127.0.0.1
docker compose up -d --build --wait

Open https://localhost:38443, accept the local self-signed certificate, log in with the credentials from ADMIN_ACCOUNT, save your generated recovery phrase, and you’re in. HTTP on port 38080 redirects to HTTPS. The bootstrap account is the protected break-glass admin — it can’t be demoted, disabled, or deleted; promote any further admins from inside the app. Use a publicly trusted certificate and normal ports for production; see the self-hosting guide.

Office editing works in the default Compose build. The build pulls an immutable, verified client-side asset image from kutupbt/kutup-office-assets; no OnlyOffice DocumentServer or manual installer is required. The ./install-onlyoffice.sh script remains available for non-Docker frontend development and air-gapped image preparation.