Remark42
Purpose: Open source commenting system for websites. Lightweight, self-hosted alternative to Disqus and other third-party commenting platforms.
Last verified: December 2025
Account Details
- Notes: Open source commenting system installed on Pacing blog, can be used for clients
- Category: SELF_HOSTING
- Account type: INTERNAL, CLIENT_ACCESS
- Created: December 2025
- Account owner: Ben Power
Overview
Remark42 is a lightweight, self-hosted commenting system designed to be privacy-focused and efficient. It provides a modern commenting interface that can be embedded on any website, replacing third-party solutions like Disqus.
Key Features:
- Privacy-focused (self-hosted, no third-party tracking)
- Lightweight resource usage (~80MB RAM, minimal CPU)
- Multiple authentication providers (Google, Facebook, Twitter, GitHub, etc.)
- Real-time updates
- Moderation tools
- Spam protection
- Export capabilities
- GDPR compliant
System Requirements (from production usage):
- CPU: Minimal usage (typically under 0.1%)
- Memory: ~80MB RAM (less than 4% of 2GB)
- Network: Moderate bandwidth requirements
- Disk: Small footprint (under 200MB for a 5-year-old installation with regular activity)
Installation
Docker Installation (Recommended)
The recommended way to run Remark42 is using Docker:
- Copy provided
docker-compose.ymland customize for your needs - Ensure
ADMIN_PASSWDis not kept for non-development deployments - Pull prepared images:
docker compose pull && docker compose up -d - Or compile from sources:
docker compose build && docker compose up -d
Binary Installation
- Download archive for the stable release
- Unpack with
gunzip(Linux, macOS) orzip(Windows) - Run as:
remark42.{os}-{arch} server {parameters...}- Example:
remark42.linux-amd64 server --secret=12345 --url=http://127.0.0.1:8080
- Example:
- Or compile from sources:
make OS=[linux|darwin|windows] ARCH=[amd64,386,arm64,arm]
Systemd Service Installation
For a clean persistent setup:
-
Create environment file
/etc/remark42.env:SECRET=12345
REMARK_URL=http://127.0.0.1:8080 -
Create systemd service file
/etc/systemd/system/remark42.service:[Unit]
Description=Remark42 Commenting Server
After=syslog.target
After=network.target
[Service]
Type=simple
EnvironmentFile=/etc/remark42.env
ExecStart=/usr/local/bin/remark42 server
WorkingDirectory=/var/www/remark42
Restart=on-failure
User=nobody
Group=nogroup
[Install]
WantedBy=multi-user.target -
Enable and start the service:
sudo systemctl enable remark42.service
sudo systemctl start remark42.service -
To update configuration, edit the environment file and restart:
sudo systemctl restart remark42.service
Frontend Integration
Basic Setup
Add config for Remark42 on your website page:
<script>
var remark_config = {
host: "REMARK_URL",
site_id: "YOUR_SITE_ID",
}
</script>
Example:
<script>
var remark_config = {
host: "https://demo.remark42.com",
site_id: "remark",
}
</script>
Embed Script
Place this code snippet right after the config:
<script>!function(e,n){for(var o=0;o<e.length;o++){var r=n.createElement("script"),c=".js",d=n.head||n.body;"noModule"in r?(r.type="module",c=".mjs"):r.async=!0,r.defer=!0,r.src=remark_config.host+"/web/"+e[o]+c,d.appendChild(r)}}(remark_config.components||["embed"],document);</script>
Comments Container
Add this HTML where you want comments to appear:
<div id="remark42"></div>
The widget will be rendered inside this node.
Quick Installation Test
To verify if Remark42 has been properly installed, check a demo page at ${REMARK_URL}/web URL. Make sure to include remark site ID to the ${SITE} list.
Hosting
Provider: Hetzner Cloud
Project: Comments1 (Project ID: 12402044)
Server: remark42 (Server ID: 112749374)
Public IP: 91.98.226.29
Location: Nuremberg, Germany (nbg1-dc3)
Server Specifications:
- Type: CPX21
- vCPUs: 3 cores (shared)
- RAM: 4 GB
- Disk: 80 GB (local storage)
- Monthly Cost: €7.05
- OS: Ubuntu 22.04
Infrastructure Details: See tools/hetzner.md for complete server configuration and management commands.
Configuration
Required Environment Variables
SECRET- Secret key for session encryptionREMARK_URL- Public URL where Remark42 instance is servedSITE- Site ID (default:remark)
Optional Configuration
- Multiple authentication providers
- Custom themes and styling
- Moderation settings
- Spam protection rules
- Backup configuration
For detailed configuration options, see the Remark42 documentation.
Use Cases
- Pacing Blog: Currently installed on Pacing blog for comment functionality
- Client Websites: Can be deployed for client websites as a privacy-focused commenting solution
- Multi-site: Single instance can serve multiple sites with different site IDs
References
- Official Documentation: https://remark42.com/docs/
- GitHub: https://github.com/umputun/remark42
- Docker Hub: https://hub.docker.com/r/umputun/remark42