Remark42
Self-hosted comment engine that doesn't spy on users
Alternative to: disqus, commento, facebook comments
Remark42 is a lightweight, self-hosted comment engine you embed on a blog or article page in place of Disqus or Facebook Comments. It supports social and email login, nested threads, markdown, voting, and moderation tools, storing everything in a single local file with no external database or user tracking required.
Remark42 Docker Compose example
Self-host Remark42 on your own server, homelab, or VPS starting from this Docker Compose example.
It runs Remark42 in Docker containers using the official ghcr.io/umputun/remark42:latest image, with persistent volumes and automatic restarts preconfigured.
Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.
services:
remark42:
image: ghcr.io/umputun/remark42:latest
restart: unless-stopped
volumes:
- data:/srv/var
environment:
# Site identifier(s) for the comment widget. Comma-separated when hosting
# comments for multiple sites from one instance.
SITE: "remark"
# Public URL where Remark42 is served (no trailing slash), e.g.
# https://comments.example.com. Must match how the browser reaches it.
REMARK_URL: "changeme"
# Secret key used to sign JWT/auth tokens. Use a long random string.
SECRET: "changeme"
# Allow anonymous commenting so the instance is usable before an OAuth
# provider is configured. Set to "false" to require login.
AUTH_ANON: "true"
# Enable the emoji picker in the comment editor.
EMOJI: "true"
# Comma-separated list of user IDs granted admin rights (format:
# provider_userid, e.g. github_1234567). Leave empty to set later.
ADMIN_SHARED_ID: ""
# Google OAuth client id / secret (optional social login provider).
AUTH_GOOGLE_CID: ""
AUTH_GOOGLE_CSEC: ""
# GitHub OAuth client id / secret (optional social login provider).
AUTH_GITHUB_CID: ""
AUTH_GITHUB_CSEC: ""
volumes:
data:
Values set to changeme are required — replace them with your own
values before starting Remark42.
Prefer a managed setup? WinterFlow installs, configures, and updates Remark42 for you using this same Docker Compose configuration.