Rust Implementation

Waline Light

A high-performance Waline comment system with extremely low memory usage, perfect for resource-constrained servers.

GitHub Release GitHub Issues GitHub License

Extremely Low Memory Usage

Uses only about 5.48MB of memory, which is just 1/25 of the Node.js version's memory footprint.

Perfect for small servers and resource-constrained environments while maintaining full functionality.

4% of original

Powerful Features

Implements most of the necessary APIs of the original Waline with high performance and low resource usage.

High Performance

Rust implementation delivers exceptional performance with minimal resource consumption.

Zero Dependency

No need to install Node.js environment, just an executable file is enough.

Easy Replacement

Drop-in replacement for original Waline with compatible APIs.

Security Features

Includes XSS protection, frequency limits, comment review, and anti-spam measures.

Comment Features

Full support for pageview counters, article reactions, and comment formatting.

Database Support

Supports SQLite and MySQL/MariaDB with potential for PostgreSQL support.

Feature Implementation Status

Feature Availability Status
Pageview Counter Fully Stable
Article Reactions Fully Stable
Email Notification Nearly In Progress
OAuth Fully Stable
Data Migration Fully Stable

Quick Start

Get up and running with Waline Light in just a few simple steps.

Binary Installation

Download the appropriate binary for your platform from GitHub Releases.

# Setting environment variables
export DATABASE_URL=sqlite:///path/to/waline.sqlite?mode=rwc
export JWT_TOKEN=your_secret_key
export SITE_NAME=your_site_name
export SITE_URL=your_site_url

# Start
./waline-light
Download from GitHub

Docker Installation

Use Docker to quickly deploy Waline Light with minimal setup.

services:
  waline:
    image: zhx57/waline-light:latest
    container_name: waline-light
    ports:
      - "8360:8360"
    volumes:
      - waline-db:/app/db
    environment:
      - DATABASE_URL=${DATABASE_URL:-sqlite:////app/db/waline.sqlite?mode=rwc}
      - JWT_TOKEN=${JWT_TOKEN}
      - SITE_NAME=${SITE_NAME}
      - SITE_URL=${SITE_URL}
    restart: unless-stopped

volumes:
  waline-db:
    driver: local
View on Docker Hub

Configuration

Configure Waline Light using environment variables to suit your needs.

Variable Required Default Description
DATABASE_URL - Database connection string
JWT_TOKEN - JWT signature key
SITE_NAME - Your site name
PORT 8360 Listening port
IPQPS 60 IP-based comment frequency limit

Frequently Asked Questions

Find answers to common questions about Waline Light.

How to migrate data from the original Waline?

  1. Export JSON from the original Waline background administration page
  2. Import JSON on the Waline Light background administration page

Which databases are supported?

SQLite and MySQL/MariaDB are supported. Compile features can be added to support PostgreSQL at any time.

How does Waline Light compare to the original?

Waline Light maintains the same core functionality as the original Waline but with significantly lower memory usage (only ~5MB compared to hundreds of MB for the Node.js version) and improved performance thanks to the Rust implementation.

Ready to Get Started?

Try Waline Light today and experience the power of a high-performance comment system with minimal resource usage.