Serein
Rust로 만든 가볍고 성능 좋은 Discord 전용 네이티브 클라이언트
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Klonkt — self-hosted music & blog platform with ActivityPub/fediverse. Solo or circles. Node + SQLite + htmx.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Your own, self-hosted corner of the web — for your story, your visuals and your sound. Built on Node + SQLite + htmx: lightweight, server-rendered, and yours. No algorithm, no ads, no platform sitting in between.
Set KLONKT_AUDIO=off in .env to disable the entire audio/music feature.
Klonkt then runs as a lightweight blog/photo/EPK/links site without ffmpeg —
ideal for minimal hosting. Circles and external embeds
(YouTube/SoundCloud/Spotify) keep working.
It's fully reversible: set KLONKT_AUDIO back to on (or remove the line)
and restart — no reinstall. The flag only toggles the audio routes/UI; the
database tables are never dropped, so any tracks you had are preserved.
Klonkt is a Node app — run it on a VPS, in Docker, or on a Node hosting platform (PaaS). Not on classic shared PHP hosting. The database (SQLite) creates itself on first start.
Requires Node.js 20 or newer. The one-command VPS installer and the Docker image include it; only a manual install needs you to provide it.
Good if: you have (or just rented) a fresh, empty Debian/Ubuntu VPS and want the easiest path. This single line does everything — installs Node 20, sets up Caddy for automatic HTTPS, runs Klonkt as a background service that auto-restarts on reboot, and adds an update command. It's coexistence-safe (if the server already runs something it picks a free port and skips Caddy), but a clean VPS is simplest. Point your domain's DNS (A + AAAA records) at the server first, then run as root:
curl -fsSL https://klonkt.com/install.sh | sudo bash -s -- --domain yourdomain.com
Then open https://yourdomain.com and finish setup in the browser. Update anytime
with klonkt-update.
Updates track the stable branch — it only advances to a version that's been verified,
so klonkt-update never pulls work-in-progress. Want the bleeding edge instead? Install with
--branch main (or set KLONKT_BRANCH=main).
Good if: you already use Docker, or want everything bundled in one isolated container. Node, ffmpeg and cwebp are inside the image — you only need Docker + Docker Compose.
git clone https://github.com/roboburr/klonkt.git
cd klonkt
cp .env.example .env # works as-is; optionally set PUBLIC_BASE_URL to your domain
docker compose up -d
SESSION_SECRET is auto-generated on first start, so the defaults work as-is.
Klonkt runs on port 3000 — put your own reverse proxy in front for HTTPS (see
step 5 of Option C). Data (database + media) stays in the klonkt-data volume,
even across updates. Update: git pull && docker compose up -d --build.
Good if: you want full control, are adding Klonkt to a server you already manage, or just want to test it locally.
1. Get the code & install dependencies
git clone https://github.com/roboburr/klonkt.git
cd klonkt
npm ci
2. Create your config. SESSION_SECRET (the key that signs login cookies) is
auto-generated on first start, so this works as-is. For production, set
PUBLIC_BASE_URL to your site address (e.g. https://yourdomain.com) so email &
login links are correct:
cp .env.example .env
nano .env # optional: PUBLIC_BASE_URL, plus SMTP if you want it
3. Start it — the SQLite database is created automatically on first start:
npm start # runs on http://localhost:3000
Just testing locally? Stop here and open http://localhost:3000.
4. Keep it running across crashes and reboots (easiest is pm2):
npm install -g pm2
pm2 start src/server.js --name klonkt
pm2 save && pm2 startup # run the one command it prints, once
5. Add HTTPS with a reverse proxy in front. With Caddy (automatic
certificates), put this in /etc/caddy/Caddyfile and reload Caddy:
yourdomain.com {
reverse_proxy localhost:3000
}
By default the app binds to 127.0.0.1 (via HOST in .env), so only your
reverse proxy can reach it — not the open internet. Local testing on the same
machine (localhost:3000) still works. Only set HOST=0.0.0.0 if you need direct
external access without a proxy (then open the port in your firewall and add HTTPS
yourself).
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗