Source: https://seerepo.com/r/LemmyNet/lemmy/built
Markdown source: https://seerepo.com/r/LemmyNet/lemmy/built.md
Description: lemmy is a Rust repo built with Actix Web and Tokio. It stores its data in moka and Postgres. It has 82,862 written lines, with 19 test files.

# What is lemmy built with?

lemmy is a Rust repo built with Actix Web and Tokio. It stores its data in moka and Postgres, reaches it with diesel, diesel-async, diesel-derive-newtype, and diesel_migrations, signs people in with bcrypt, jsonwebtoken, and totp-rs, makes its content with html-to-markdown-rs, html2text, infer, and lettre, deploys with tracing, prometheus, reqwest-tracing, tracing-actix-web, and tracing-subscriber, and uses tokio-postgres and tokio-postgres-rustls. It has 82,862 written lines, with 19 test files.

Read on November 8, 2026, at commit e831e70.

Repository: https://github.com/LemmyNet/lemmy

## Backend

### The base

- **Actix Web**: 170 files

### Data

- **[tokio-postgres](https://seerepo.com/uses/tokio-postgres)**
- **tokio-postgres-rustls**
- **[moka](https://seerepo.com/uses/moka)**: 5 files
- **[Postgres](https://seerepo.com/uses/postgres)**: 2 files · [crates/diesel_utils/src/connection.rs, line 186](https://github.com/LemmyNet/lemmy/blob/e831e709a11c399027485b1980f86ed95d9d5855/crates/diesel_utils/src/connection.rs#L186)

### Data access

- **diesel**: 138 files
- **diesel-async**: 70 files
- **diesel-derive-newtype**: 2 files
- **diesel_migrations**: 1 file

### Sign-in

- **[bcrypt](https://seerepo.com/uses/bcrypt)**: 4 files
- **[jsonwebtoken](https://seerepo.com/uses/jsonwebtoken)**: 1 file
- **totp-rs**: 1 file

## Support

### The base

- **[Tokio](https://seerepo.com/uses/tokio)**: 71 files

### Content

- **html-to-markdown-rs**: 2 files
- **[html2text](https://seerepo.com/uses/html2text)**: 2 files
- **[infer](https://seerepo.com/uses/infer)**: 1 file
- **lettre**: 1 file

### Deploy

- **[tracing](https://seerepo.com/uses/tracing)**: 25 files
- **[prometheus](https://seerepo.com/uses/prometheus)**: 1 file
- **reqwest-tracing**: 1 file
- **tracing-actix-web**: 1 file
- **[tracing-subscriber](https://seerepo.com/uses/tracing-subscriber)**: 1 file

### Tools

- **ts-rs**: 82 files
- **derive-new**: 17 files
- **clap**: 2 files
- **git-version**: 1 file

### Other

- **serde**: 144 files
- **url**: 127 files
- **chrono**: 115 files
- **serde_with**: 74 files
- **async-trait**: 37 files
- **either**: 31 files
- **serde_json**: 21 files
- **anyhow**: 19 files
- **strum**: 10 files
- **futures**: 9 files
- **regex**: 9 files
- **itertools**: 7 files
- **reqwest**: 5 files
- **urlencoding**: 5 files
- **futures-util**: 4 files
- **reqwest-middleware**: 4 files
- **tokio-util**: 4 files
- **uuid**: 4 files
- **enum-map**: 3 files
- **http**: 2 files
- **rand**: 2 files
- **rustls**: 2 files
- **actix-cors**: 1 file
- **base16ct**: 1 file
- **base64**: 1 file
- **dashmap**: 1 file
- **deadpool**: 1 file
- **encoding_rs**: 1 file
- **mime**: 1 file
- **mime_guess**: 1 file
- **percent-encoding**: 1 file
- **semver**: 1 file
- **serde_urlencoded**: 1 file
- **sha2**: 1 file
- **tikv-jemallocator**: 1 file
- **unicode-segmentation**: 1 file
- **webpage**: 1 file
- **webpki-roots**: 1 file

## Other repos with a similar stack

- [juspay/hyperswitch](https://seerepo.com/r/juspay/hyperswitch/built): Actix Web, moka, Postgres, Tokio, diesel, diesel_migrations, jsonwebtoken, totp-rs, infer, lettre, tracing, tracing-actix-web, tracing-subscriber · [Compare](https://seerepo.com/compare/juspay/hyperswitch/vs/LemmyNet/lemmy)
- [dani-garcia/vaultwarden](https://seerepo.com/r/dani-garcia/vaultwarden/built): moka, Tokio, diesel, diesel-derive-newtype, diesel_migrations, jsonwebtoken, lettre, tracing · [Compare](https://seerepo.com/compare/dani-garcia/vaultwarden/vs/LemmyNet/lemmy)
- [rustfs/rustfs](https://seerepo.com/r/rustfs/rustfs/built): tokio-postgres, tokio-postgres-rustls, moka, Postgres, Tokio, jsonwebtoken, tracing, tracing-subscriber · [Compare](https://seerepo.com/compare/LemmyNet/lemmy/vs/rustfs/rustfs)
- [zeroclaw-labs/zeroclaw](https://seerepo.com/r/zeroclaw-labs/zeroclaw/built): Postgres, Tokio, jsonwebtoken, infer, lettre, tracing, prometheus, tracing-subscriber · [Compare](https://seerepo.com/compare/LemmyNet/lemmy/vs/zeroclaw-labs/zeroclaw)
- [zed-industries/zed](https://seerepo.com/r/zed-industries/zed/built): moka, Postgres, Tokio, jsonwebtoken, tracing, prometheus, tracing-subscriber · [Compare](https://seerepo.com/compare/LemmyNet/lemmy/vs/zed-industries/zed)
- [meilisearch/meilisearch](https://seerepo.com/r/meilisearch/meilisearch/built): Actix Web, Tokio, jsonwebtoken, tracing, prometheus, tracing-actix-web, tracing-subscriber · [Compare](https://seerepo.com/compare/LemmyNet/lemmy/vs/meilisearch/meilisearch)

## Frequently asked questions

### What language is lemmy written in?

lemmy is written in Rust, with 82,862 written lines.

### What framework does lemmy use?

lemmy is built with Actix Web and Tokio.

### What database does lemmy use?

lemmy stores its data in moka and Postgres and reaches it with diesel, diesel-async, diesel-derive-newtype, and diesel_migrations.

### What does lemmy sign people in with?

lemmy signs people in with bcrypt, jsonwebtoken, and totp-rs.

### What services does lemmy use?

lemmy uses tokio-postgres and tokio-postgres-rustls.

### Does lemmy have tests?

Yes. lemmy has 19 test files.

### Which repos have a stack like lemmy's?

The ones that share most of its stack: juspay/hyperswitch, dani-garcia/vaultwarden, and rustfs/rustfs.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
