[package]
name = "rustploy"
version = "0.1.21"
edition = "2024"
default-run = "rustployd"
description = "Rustploy PaaS daemon — lightweight self-hosted deployment platform"
license = "MIT"
authors = ["Antonio Fernando <antoniofernando2723@gmail.com>"]
repository = "https://github.com/antoniofernandodj/rustploy-daemon"
keywords = ["paas", "deploy", "docker", "self-hosted"]
categories = ["command-line-utilities"]
[[bin]]
name = "rustployd"
path = "src/main.rs"
[[bin]]
name = "rustploy-cli"
path = "src/bin/rustploy-cli.rs"
[[bin]]
name = "rustployd-fw"
path = "src/bin/rustployd-fw.rs"
[[bin]]
name = "rustployd-update"
path = "src/bin/rustployd-update/main.rs"
[package.metadata.deb]
name = "rustployd"
maintainer = "Antonio Fernando <antoniofernando2723@gmail.com>"
copyright = "2026, Antonio Fernando"
extended-description = "Rustploy PaaS daemon — lightweight self-hosted deployment platform"
section = "admin"
priority = "optional"
depends = "$auto, docker.io | docker-ce | podman"
conf-files = ["/etc/rustploy/config.toml"]
maintainer-scripts = "../../packaging/debian"
assets = [
["target/release/rustployd", "usr/bin/rustployd", "755"],
["target/release/rustployd-fw", "usr/libexec/rustployd-fw", "755"],
["target/release/rustploy-cli", "usr/bin/rustploy-cli", "755"],
["../../packaging/config.toml", "etc/rustploy/config.toml", "644"],
["../../packaging/rustployd.service", "lib/systemd/system/rustployd.service", "644"],
["../../packaging/rustployd-fw.socket", "lib/systemd/system/rustployd-fw.socket", "644"],
["../../packaging/rustployd-fw.service", "lib/systemd/system/rustployd-fw.service", "644"],
["target/release/rustployd-update", "usr/libexec/rustployd-update", "755"],
["../../packaging/rustployd-update.socket", "lib/systemd/system/rustployd-update.socket", "644"],
["../../packaging/rustployd-update.service", "lib/systemd/system/rustployd-update.service", "644"],
]
[dependencies]
fs_extra = "1.3.0"
shared = { package = "rustploy-shared", version = "0.13.0" }
update-core = { package = "rustploy-update-core", version = "0.3.3" }
tokio = { version = "1", features = ["full"] }
futures = "0.3"
hyper = { version = "1", features = ["full"] }
hyper-util = { version = "0.1", features = ["tokio", "client", "client-legacy"] }
http-body-util = "0.1"
http = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
sqlx = { version = "0.8", features = ["runtime-tokio-native-tls", "sqlite", "chrono"] }
bollard = "0.17"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json"] }
arc-swap = "1"
rustls = { version = "0.23", features = ["ring"] }
rustls-pemfile = "2"
tokio-rustls = "0.26"
webpki-roots = "1"
instant-acme = "0.7"
rcgen = { version = "0.14.8", features = ["aws_lc_rs", "pem"] }
age = { version = "0.10", features = ["async"] }
hex = "0.4"
sha2 = "0.10"
base64 = "0.22"
ulid = { version = "1", features = ["serde"] }
chrono = { version = "0.4", features = ["serde"] }
tar = "0.4"
flate2 = "1"
zip = { version = "2", default-features = false, features = ["deflate"] }
anyhow = "1"
thiserror = "2"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
async-trait = "0.1"
toml = "0.8"
hmac = "0.12"
bytes = "1"
mimalloc = { version = "0.1", default-features = false }
sysinfo = { version = "0.33", default-features = false, features = ["system", "disk"] }
[build-dependencies]
flate2 = "1"
serde = { version = "1", features = ["derive"] }
toml = "0.8"
[dev-dependencies]
tempfile = "3"
chromiumoxide = "0.9.1"