diff --git a/.idea/acrate.iml b/.idea/acrate.iml
index 8ef4dcf..05d6838 100644
--- a/.idea/acrate.iml
+++ b/.idea/acrate.iml
@@ -11,6 +11,7 @@
+
diff --git a/Cargo.toml b/Cargo.toml
index d528923..c4c058b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,3 +1,3 @@
[workspace]
resolver = "2"
-members = ["acrate_database", "acrate_rd", "acrate_nodeinfo", "acrate_rdserver"]
+members = ["acrate_database", "acrate_rd", "acrate_nodeinfo", "acrate_rdserver", "acrate_apub_inbox"]
diff --git a/acrate_apub_inbox/Cargo.toml b/acrate_apub_inbox/Cargo.toml
new file mode 100644
index 0000000..526c49f
--- /dev/null
+++ b/acrate_apub_inbox/Cargo.toml
@@ -0,0 +1,26 @@
+[package]
+name = "acrate_apub_inbox"
+version = "0.3.0"
+authors = ["Stefano Pigozzi "]
+edition = "2021"
+description = "ActivityPub inbox web server for the acrate project"
+repository = "https://forge.steffo.eu/unimore/tirocinio-canali-steffo-acrate"
+license = "EUPL-1.2"
+keywords = ["activitypub", "apub", "federation"]
+categories = ["web-programming"]
+
+[dependencies]
+acrate_database = { path = "../acrate_database", features = ["connect"] }
+anyhow = "1.0.93"
+axum = { version = "0.7.7", features = ["macros"] }
+log = { version = "0.4.22", features = ["std", "max_level_trace", "release_max_level_debug"] }
+micronfig = "0.3.0"
+minijinja = "2.5.0"
+pretty_env_logger = "0.5.0"
+serde = { version = "1.0.215", features = ["derive"] }
+serde_json = "1.0.132"
+tokio = { version = "1.41.1", features = ["macros", "net", "rt-multi-thread"] }
+mediatype = { version = "0.19.18", features = ["serde"] }
+
+[lints.clippy]
+tabs-in-doc-comments = "allow"
diff --git a/acrate_apub_inbox/src/main.rs b/acrate_apub_inbox/src/main.rs
new file mode 100644
index 0000000..e7a11a9
--- /dev/null
+++ b/acrate_apub_inbox/src/main.rs
@@ -0,0 +1,3 @@
+fn main() {
+ println!("Hello, world!");
+}