A very light-weight pastebin implementation in Rust https://paste.blakerain.com/
  • HTML 44.7%
  • Rust 27%
  • CSS 25.4%
  • Dockerfile 2.2%
  • Makefile 0.4%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Blake Rain 194804111b
All checks were successful
Deploy / build (push) Successful in 2m3s
feat: update README
2026-08-08 11:38:57 +01:00
.forgejo/workflows feat: add embedding of pastes 2026-05-29 08:58:52 +01:00
media feat: update screenshots 2026-08-08 11:38:31 +01:00
migrations feat: change over to using libsql 2026-02-28 00:41:43 +00:00
src feat: add support for changing binding address and port 2026-08-08 11:38:44 +01:00
static fix: logo color 2024-08-05 14:45:09 +01:00
style feat: add embedding of pastes 2026-05-29 08:58:52 +01:00
templates feat: add embedding of pastes 2026-05-29 08:58:52 +01:00
.dockerignore fix: allow .git directory in Dockerfile 2023-10-13 23:04:13 +01:00
.gitignore feat: add embedding of pastes 2026-05-29 08:58:52 +01:00
.ignore feat: update Cement UI 2026-03-08 11:57:05 +00:00
bacon.toml feat: update Cement UI 2026-03-08 11:57:05 +00:00
build.rs feat: add embedding of pastes 2026-05-29 08:58:52 +01:00
Cargo.toml feat: add embedding of pastes 2026-05-29 08:58:52 +01:00
Dockerfile feat: change over to using libsql 2026-02-28 00:41:43 +00:00
LICENSE Initial commit 2023-10-13 16:53:00 +00:00
Makefile feat: update Cement UI 2026-03-08 11:57:05 +00:00
package.json feat: add embedding of pastes 2026-05-29 08:58:52 +01:00
postcss.config.js feat: update Cement UI 2026-03-08 11:57:05 +00:00
README.md feat: update README 2026-08-08 11:38:57 +01:00

cement - a super light-weight pastebin

Screenshot of Cement displaying a paste

Cement is a very simple pastebin-like web application written in Rust.

Cement binds to the address 0.0.0.0 on port 3000. The address and port can be overridden with the --host and --port flags (or HOST and PORT environment variable).

Cement stores pastes in a local or remote SQLite database, using libSQL. You can specify the database file with the --db flag (or DB environment variable), or a remote URL and token with the --db-remote and --db-token flags (or DB_REMOTE and DB_TOKEN environment variables).

$ cargo run -- --db /path/to/database.sqlite
$ cargo run -- --db-remote https://example.com/db --db-token 1234567890

Docker images are also available from two sources:

You can pull the image and run Cement in a container, and use environment variables to configure Cement. For example, to store the Cement database in a Docker volume called cement_data, you can run the following commands:

$ docker volume create cement_data
$ docker run -p 3000:3000 -e DB=/data/cement.db -v cement_data:/data blakerain/cement