[package]
name = "solid-pod-rs-server"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
rust-version.workspace = true
description = "Drop-in Solid Pod server binary. Wraps solid-pod-rs with actix-web and a JSS-compatible layered config loader."
keywords = ["solid", "pod", "server", "nostr", "agpl"]
categories = ["web-programming::http-server", "command-line-utilities"]
readme = "README.md"
[lib]
name = "solid_pod_rs_server"
path = "src/lib.rs"
[[bin]]
name = "solid-pod-rs-server"
path = "src/main.rs"
[dependencies]
solid-pod-rs = { version = "0.4.0-alpha.4", path = "../solid-pod-rs", features = ["fs-backend", "memory-backend", "config-loader", "legacy-notifications"] }
solid-pod-rs-idp = { version = "0.4.0-alpha.4", path = "../solid-pod-rs-idp" }
chrono = { version = "0.4", features = ["clock"] }
actix-web = "4"
tokio = { version = "1", features = ["macros", "rt-multi-thread", "signal", "sync"] }
clap = { version = "4", features = ["derive", "env"] }
bytes = "1"
percent-encoding = "2"
async-trait = "0.1"
futures-util = "0.3"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
anyhow = "1"
rustls = { version = "0.23", optional = true, default-features = false, features = ["std", "ring"] }
rustls-pemfile = { version = "2", optional = true }
[features]
default = []
tls = ["dep:rustls", "dep:rustls-pemfile", "actix-web/rustls-0_23"]
rate-limit = ["solid-pod-rs/rate-limit"]
quota = ["solid-pod-rs/quota"]
did-nostr = ["solid-pod-rs/did-nostr"]
security-primitives = ["solid-pod-rs/security-primitives"]
[dev-dependencies]
tokio = { version = "1", features = ["full"] }
tempfile = "3"
parking_lot = "0.12"
async-trait = "0.1"