OpenSource-Hub
A

Artalk

SHA-256
2.3k stars·System Optimization·SHA-256 checksum verified

Artalk is a self-hosted comment system with a lightweight Vanilla JS client (~40KB) and a Go-powered backend. It supports Docker one-click deployment, social login, email notifications, captcha, multi-site management, and more. Privacy-focused, ready to replace third-party services.

Smart Download

Download Download Version

v2.9.1 · 15.8 MB

Self-hosted comment system: light, fast, privacy-first, with a 40KB client and Go backend.

Core Features

  • ~40KB client, pure Vanilla JS, no framework required
  • Go backend for high performance and low resource usage
  • One-click Docker deployment
  • Social login (GitHub, Google, etc.)
  • Email notifications and multiple push channels

What It Can't Do

  • Port mapping: The container uses port 23366 internally; map it to a host port (e.g., 8080).
  • Time zone & locale: Set TZ correctly for accurate timestamps; set ATK_LOCALE to your language (e.g., en).
  • Client server URL: Must be publicly accessible (or proper internal network) for the frontend to connect.
  • Page key: Use a unique key for each page/article, preferably absolute path.
  • Data persistence: Always mount the /data volume, otherwise data will be lost on container restart.

Use Cases

  • Add comments to personal blogs or technical articles
  • Enable user discussion on company sites or documentation
  • Replace Disqus or other third-party comment widgets for privacy

Detailed Introduction

Artalk is a self-hosted comment system designed for blogs, websites, and web applications. Its frontend client is only ~40KB, built with pure Vanilla JavaScript and no framework dependency, while the backend is powered by Go for efficiency and cross-platform support. It offers one-click Docker deployment, privacy-first self-hosting, and a rich feature set including social login, email notifications, captcha, multi-site management, sidebar admin, image upload, Markdown, emoji packs, comment moderation, data migration, and more. Artalk aims to replace third-party services like Disqus with a controllable, high-performance alternative.

Troubleshooting & FAQ (1)

Troubleshooting
Why do I still see 'Frontend 2.6.4 / Backend 2.7.0' warning after updating Artalk Docker to v2.7?

The warning appears because the frontend assets loaded by the browser are still v2.6.4 while the backend is v2.7.0. To fix:
1. Ensure you pulled the correct Docker image: docker pull artalk/artalk-go:2.7 (or latest).
2. Recreate the container: docker-compose down && docker-compose up -d.
3. Clear browser cache (Ctrl+Shift+R), as old assets may be cached.
4. If you are using a custom frontend mount (volume bind), update those files manually from the [Artalk release page](https://github.com/ArtalkJS/Artalk/releases).
5. If loading frontend from CDN, update the script tag to point to .../dist/Artalk.2.7.0.js instead of the old 2.6.4 version.
The official v2.7 Docker image includes frontend v2.7 by default; the warning should disappear once the correct assets are served.

GitHub Issue #668

Tags

self-hostedcomment-systembloggolangvanilla-jsdockerprivacy

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Deploy the server with Docker: docker run -d --name artalk -p 8080:23366 -v $(pwd)/data:/data -e "TZ=America/New_York" -e "ATK_LOCALE=en" -e "ATK_SITE_DEFAULT=My Blog" -e "ATK_SITE_URL=https://example.com" artalk/artalk-go

4

Step 2: Add the client script and CSS to your webpage, then initialize: Artalk.init({ el: '#Comments', site: 'My Blog', server: 'https://your-domain:8080', pageKey: '/2024/01/01/post.html' })

5

Step 3: Visit your page to see comments. Use the sidebar to manage comments, settings, etc.

Install Guide
  1. Step 1: Deploy the server with Docker: docker run -d --name artalk -p 8080:23366 -v $(pwd)/data:/data -e "TZ=America/New_York" -e "ATK_LOCALE=en" -e "ATK_SITE_DEFAULT=My Blog" -e "ATK_SITE_URL=https://example.com" artalk/artalk-go
  2. Step 2: Add the client script and CSS to your webpage, then initialize: Artalk.init({ el: '#Comments', site: 'My Blog', server: 'https://your-domain:8080', pageKey: '/2024/01/01/post.html' })
  3. Step 3: Visit your page to see comments. Use the sidebar to manage comments, settings, etc.
File Integrity

SHA-256 checksum verified

Checksum extracted from GitHub official Release page

SHA256 Checksum

ce0b893953341a9d7825930475c589ffa90abf36f0baa5a2608b31ca923911f2

This checksum is extracted from the GitHub Release page. Verify file integrity after download.

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Stop and remove the Docker container: docker stop artalk && docker rm artalk, and delete the data directory (e.g., $(pwd)/data) if no longer needed. For binary install, simply delete the executable and config file.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseMIT
Last Updated2026-06-27 13:55:24
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

1 FAQ

Similar Projects