Back to Apps
Remark42

Deploy Remark42 on Your Own Server

Self-hosted, lightweight, and simple (yet functional) comment engine, which doesn't spy on users. It can be embedded into blogs, articles or any other place where readers add comments.

πŸ“ CMSπŸ“ˆ Monitoringβœ… Productivity

Want to deploy Remark42 on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Remark42?

See description of the parameters below [in the documentation](https://remark42.com/docs/configuration/parameters/). _multi_ parameters separated by `,` in the environment, like `ADMIN_SHARED_EMAIL=admin@example.org,admin2@example.org`

Self-Host Remark42

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  remark42:
    image: umputun/remark42:v1.9.0
    environment:
      ADMIN_EDIT: "false"
      ADMIN_PASSWD: ""
      ADMIN_SHARED_EMAIL: ""
      ADMIN_SHARED_ID: ""
      ALLOWED_HOSTS: remark42.your-domain.com,
      ANON_VOTE: "false"
      AUTH_ANON: "false"
      AUTH_DEV: "false"
      AUTH_EMAIL_CONTENT_TYPE: text/html
      AUTH_EMAIL_ENABLE: "false"
      AUTH_EMAIL_FROM: ""
      AUTH_EMAIL_SUBJ: remark42 confirmation
      AUTH_FACEBOOK_CID: ""
      AUTH_FACEBOOK_CSEC: ""
      AUTH_GITHUB_CID: ""
      AUTH_GITHUB_CSEC: ""
      AUTH_GOOGLE_CID: ""
      AUTH_GOOGLE_CSEC: ""
      AUTH_MICROSOFT_CID: ""
      AUTH_MICROSOFT_CSEC: ""
      AUTH_PATREON_CID: ""
      AUTH_PATREON_CSEC: ""
      AUTH_SAME_SITE: default
      AUTH_SEND_JWT_HEADER: ${auth_send}-jwt_header
      AUTH_TELEGRAM: "false"
      AUTH_TTL_COOKIE: 200h
      AUTH_TTL_JWT: 5m
      AUTH_TWITTER_CID: ""
      AUTH_TWITTER_CSEC: ""
      AUTH_YANDEX_CID: ""
      AUTH_YANDEX_CSEC: ""
      AVATAR_BOLT_FILE: ./var/avatars.db
      AVATAR_FS_PATH: ./var/avatars
      AVATAR_RSZ_LMT: 0 (disabled)
      AVATAR_TYPE: fs
      AVATAR_URI: ./var/avatars
      BACKUP_PATH: ./var/backup
      CACHE_MAX_ITEMS: "1000"
      CACHE_MAX_SIZE: "50000000"
      CACHE_MAX_VALUE: "65536"
      CACHE_REDIS_ADDR: 127.0.0.1:6379
      CACHE_TYPE: mem
      CRITICAL_SCORE: "-10"
      DEBUG: "false"
      EDIT_TIME: 5m
      EMOJI: "false"
      IMAGE_BOLT_FILE: /var/pictures.db
      IMAGE_FS_PARTITIONS: "100"
      IMAGE_FS_PATH: ./var/pictures
      IMAGE_FS_STAGING: ./var/pictures.staging
      IMAGE_MAX_SIZE: "5000000"
      IMAGE_PROXY_CACHE_EXTERNAL: ${image}-proxy_cache_external
      IMAGE_PROXY_HTTP2HTTPS: "false"
      IMAGE_RESIZE_HEIGHT: "900"
      IMAGE_RESIZE_WIDTH: "2400"
      IMAGE_TYPE: fs
      LOW_SCORE: "-5"
      MAX_BACKUP_FILES: "10"
      MAX_COMMENT_SIZE: "2048"
      MAX_VOTES: "-1"
      NOTIFY_ADMINS: none
      NOTIFY_EMAIL_FROM: ""
      NOTIFY_EMAIL_VERIFICATION_SUBJ: Email verification
      NOTIFY_QUEUE: "100"
      NOTIFY_SLACK_CHAN: general
      NOTIFY_SLACK_TOKEN: ""
      NOTIFY_TELEGRAM_CHAN: ""
      NOTIFY_USERS: none
      NOTIFY_WEBHOOK_HEADERS: ""
      NOTIFY_WEBHOOK_TIMEOUT: 5s
      NOTIFY_WEBHOOK_URL: ""
      POSITIVE_SCORE: "false"
      PROXY_CORS: "false"
      READONLY_AGE: ""
      REMARK_ADDRESS: ""
      REMARK_PORT: "8080"
      REMARK_URL: https://remark42.your-domain.com
      REMARK_WEB_ROOT: ./web
      RESTRICTED_NAMES: ""
      RESTRICTED_WORDS: ""
      SECRET: 54bba0a9ae
      SIMPLE_VIEW: "false"
      SITE: remark
      SMTP_HOST: ""
      SMTP_PASSWORD: ""
      SMTP_PORT: ""
      SMTP_TIMEOUT: 10s
      SMTP_TLS: "false"
      SMTP_USERNAME: ""
      SSL_ACME_EMAIL: ""
      SSL_ACME_LOCATION: ./var/acme
      SSL_CERT: ""
      SSL_KEY: ""
      SSL_PORT: "8443"
      SSL_TYPE: none
      STORE_BOLT_PATH: ./var
      STORE_BOLT_TIMEOUT: 30s
      STORE_TYPE: bolt
      SUBSCRIBERS_ONLY: "false"
      TELEGRAM_TIMEOUT: 5s
      TELEGRAM_TOKEN: ""
      UPDATE_LIMIT: "0.5"
      VOTES_IP: "false"
      VOTES_IP_TIME: ${votes}-ip_time
    volumes:
      - remark42-data:/srv/var
volumes:
  remark42-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:8080

Why Self-Host Remark42?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

umputun/remark42:${tag_version}

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"