a E2E encrypted collaborative online editor, simpler and not bloated like etherpad-lite https://betterpad.terabyte.gg
  • TypeScript 30.3%
  • Rust 27.1%
  • Svelte 19.2%
  • Shell 16.6%
  • CSS 2.6%
  • Other 4.2%
Find a file
0d0acre c37baf051d
Some checks failed
CI / Frontend Lint (push) Failing after 18s
CI / Frontend Type Check (push) Failing after 14s
CI / Frontend Unit Tests (push) Failing after 14s
CI / Frontend Build (push) Failing after 16s
CI / Backend Format Check (push) Failing after 3s
CI / Backend Clippy (push) Failing after 3s
CI / Backend Build (push) Failing after 3s
CI / E2E Tests (push) Has been skipped
Aggiorna README.md
2026-02-05 18:22:42 +01:00
.forgejo/workflows add 2026-02-04 11:49:36 +01:00
backend-rust now with ws socket encryption fixed 2026-02-03 10:53:13 +01:00
frontend Update code usage on the frontend 2026-02-04 11:39:08 +01:00
nginx Update 2026-01-29 01:56:42 +01:00
.dockerignore add deletion and toolbar 2026-01-29 00:56:03 +01:00
.gitignore now with ws socket encryption fixed 2026-02-03 10:53:13 +01:00
appunti.txt Update code usage on the frontend 2026-02-04 11:39:08 +01:00
compose.build.yml initial commit 2026-01-29 00:15:14 +01:00
compose.rust.yml updates 2026-01-29 13:45:01 +01:00
compose.yml fix compose db path 2026-01-29 02:16:46 +01:00
deploy.rust.sh skip image transfer if id it's the same 2026-02-04 11:46:15 +01:00
deploy.sh fix compose db path 2026-01-29 02:16:46 +01:00
DEVELOPMENT.md update dev 2026-02-02 20:49:01 +01:00
Dockerfile add drizzle to backend 2026-01-29 02:13:43 +01:00
justfile updates 2026-01-29 13:45:01 +01:00
README.md Aggiorna README.md 2026-02-05 18:22:42 +01:00
SECURITY-AUDIT.md Update code usage on the frontend 2026-02-04 11:39:08 +01:00
Vagrantfile updates 2026-01-29 13:45:01 +01:00

Betterpad

A fast, collaborative text editor that works in your browser.

Write together in real-time.

License: GPL v3 Built with SvelteKit Powered by Yjs

Provalo


Getting Started

Self-Host

Prerequisites

Quick Start

git clone https://git.lattuga.net/0d0acre/betterpad
cd betterpad
docker compose up -d
docker compose exec backend bunx drizzle-kit push

The app will be available at http://localhost:8060.

Data Persistence

Database data is stored in ./db_data/.

Database Migrations

After starting the services for the first time (or after schema updates), push the database schema:

docker compose exec backend bunx drizzle-kit push

Environment Variables

Variable Description Default
PUBLIC_WEBSOCKET_URL WebSocket URL for real-time sync ws://localhost/pad
ALLOWED_ORIGINS CORS allowed origins http://localhost
ORIGIN App origin URL http://localhost
DATABASE_URL PostgreSQL connection string (internal)

Deploying with a Custom Domain

To deploy BetterPad instance on a domain with HTTPS:

  1. Update compose.yml environment variables:

    • ALLOWED_ORIGINShttps://yourdomain.com
    • PUBLIC_WEBSOCKET_URLwss://yourdomain.com/pad
    • ORIGINhttps://yourdomain.com
  2. Configure your reverse proxy for TLS termination

  3. docker compose up -d