diff --git a/acct-group/prosody-filer/metadata.xml b/acct-group/prosody-filer/metadata.xml
new file mode 100644
index 0000000..a9ea785
--- /dev/null
+++ b/acct-group/prosody-filer/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ shinyoukai@laidback.moe
+ Shin'ya Minazuki
+
+
diff --git a/acct-group/prosody-filer/prosody-filer-0.ebuild b/acct-group/prosody-filer/prosody-filer-0.ebuild
new file mode 100644
index 0000000..aa3d0e3
--- /dev/null
+++ b/acct-group/prosody-filer/prosody-filer-0.ebuild
@@ -0,0 +1,7 @@
+# Copyright 2026 Shin'ya Minazuki
+EAPI=8
+
+inherit acct-group
+
+ACCT_GROUP_ID=-1
+
diff --git a/acct-user/prosody-filer/metadata.xml b/acct-user/prosody-filer/metadata.xml
new file mode 100644
index 0000000..a9ea785
--- /dev/null
+++ b/acct-user/prosody-filer/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ shinyoukai@laidback.moe
+ Shin'ya Minazuki
+
+
diff --git a/acct-user/prosody-filer/prosody-filer-0.ebuild b/acct-user/prosody-filer/prosody-filer-0.ebuild
new file mode 100644
index 0000000..488a18e
--- /dev/null
+++ b/acct-user/prosody-filer/prosody-filer-0.ebuild
@@ -0,0 +1,10 @@
+# Copyright 2026 Shin'ya Minazuki
+EAPI=8
+
+inherit acct-user
+
+DESCRIPTION="System user for prosody-filer"
+ACCT_USER_ID=-1
+ACCT_USER_GROUPS=( prosody-filer )
+
+acct-user_add_deps
diff --git a/www-apps/prosody-filer/files/prosody-filer.initd-r0 b/www-apps/prosody-filer/files/prosody-filer.initd-r0
new file mode 100644
index 0000000..27e2008
--- /dev/null
+++ b/www-apps/prosody-filer/files/prosody-filer.initd-r0
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 2026 Shin'ya Minazuki
+
+supervisor="supervise-daemon"
+command="/usr/sbin/prosody-filer"
+command_args="-config /etc/prosody-filer.toml"
+command_background="true"
+command_user="prosody-filer"
+pidfile="/run/${RC_SVCNAME}.pid"
+
+depend() {
+ want apache
+ want caddy
+ want nginx
+}
+
+start_pre() {
+ ebegin "Checking for the existence of /etc/${RC_SVCNAME}.toml ..."
+ if ! checkpath --file /etc/${RC_SVCNAME}.toml; then
+ eerror "Configuration file not found."
+ eerror "Bailing out."
+ fi
+}
diff --git a/www-apps/prosody-filer/files/prosody-filer.service b/www-apps/prosody-filer/files/prosody-filer.service
new file mode 100644
index 0000000..34bb63a
--- /dev/null
+++ b/www-apps/prosody-filer/files/prosody-filer.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=A simple file server for handling XMPP upload requests
+After=network-online.target
+After=ejabberd.service
+After=prosody.service
+
+[Service]
+ExecStart=/usr/sbin/prosody-filer -config /etc/prosody-filer.toml
+Restart=always
+RestartSec=5s
+User=prosody-filer
+Group=prosody-filer
+
+[Install]
+WantedBy=multi-user.target
diff --git a/www-apps/prosody-filer/metadata.xml b/www-apps/prosody-filer/metadata.xml
new file mode 100644
index 0000000..44b8ca0
--- /dev/null
+++ b/www-apps/prosody-filer/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ shinyoukai@laidback.moe
+ Shin'ya Minazuki
+
+
+ ThomasLeister/prosody-filer
+
+
diff --git a/www-apps/prosody-filer/prosody-filer-20260327.ebuild b/www-apps/prosody-filer/prosody-filer-20260327.ebuild
new file mode 100644
index 0000000..51959b1
--- /dev/null
+++ b/www-apps/prosody-filer/prosody-filer-20260327.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2026 Shin'ya Minazuki
+EAPI=8
+
+inherit git-r3 go-module systemd
+
+DESCRIPTION="A simple file server for handling XMPP upload requests"
+HOMEPAGE="https://github.com/ThomasLeister/prosody-filer"
+EGIT_REPO_URI="https://github.com/ThomasLeister/prosody-filer"
+EGIT_COMMIT="bd3c2fe1fbd81758503ac3faeba68ba13308ca38"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ acct-group/prosody-filer
+ acct-user/prosody-filer
+"
+
+src_unpack() {
+ git-r3_src_unpack
+ go-module_live_vendor
+}
+
+src_compile() {
+ ego build -x -v -o ${PN} ${PN}.go
+}
+
+src_install() {
+ newinitd "${FILESDIR}/prosody-filer.initd-r0" "${PN}"
+ systemd_dounit "${FILESDIR}/prosody-filer.service"
+ dosbin "${PN}"
+ insinto "/usr/share/doc/${PF}"
+ doins config.example.toml
+}
+
+pkg_postinst() {
+ elog "This will not work without a reverse proxy"
+ elog "It's advised to emerge www-servers/apache or www-servers/nginx"
+}