aboutsummaryrefslogtreecommitdiffstats
path: root/packaging/rpm/meshbay-node.spec
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-08-09 05:19:13 +0200
committerChristophe Besson <cbesson@gmail.com>2026-08-09 05:19:13 +0200
commitdeee67755991994742ef144400857dd5f6b8aafa (patch)
tree1daf5196d03046d7c33bc4ec00480ccf66289bc6 /packaging/rpm/meshbay-node.spec
parent42556800d103ede20b4e97f2d91d20bbc0000c1e (diff)
downloadmeshbay-deee67755991994742ef144400857dd5f6b8aafa.tar.gz
chore: add RPM/DEB packaging artifacts — 5.10
3 packages: python3-meshbay-common (dep), meshbay-hub, meshbay-node. RPM: spec files with pre/post scriptlets (useradd, systemd macros). DEB: DEBIAN/control + postinst for hub, control for node + common. Systemd: hub.service (system, security hardening) + node.service (user template @%i, EnvironmentFile for MESHBAY_UNLOCK_KEY). packaging/README.md: build + install instructions. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'packaging/rpm/meshbay-node.spec')
-rw-r--r--packaging/rpm/meshbay-node.spec57
1 files changed, 57 insertions, 0 deletions
diff --git a/packaging/rpm/meshbay-node.spec b/packaging/rpm/meshbay-node.spec
new file mode 100644
index 0000000..5604f4a
--- /dev/null
+++ b/packaging/rpm/meshbay-node.spec
@@ -0,0 +1,57 @@
+Name: meshbay-node
+Version: 0.1.0
+Release: 1%{?dist}
+Summary: MeshBay Node — local file host, streaming server, and group daemon
+License: AGPLv3+
+URL: https://meshbay.org
+Source0: %{name}-%{version}.tar.gz
+
+BuildArch: noarch
+BuildRequires: python3-devel >= 3.12
+BuildRequires: python3-pip
+BuildRequires: python3-hatchling
+
+Requires: python3 >= 3.12
+Requires: python3-meshbay-common = %{version}
+Requires: python3-fastapi
+Requires: python3-uvicorn
+Requires: python3-httpx
+Requires: python3-watchdog
+Requires: python3-aioquic >= 1.0
+Requires: python3-aioice
+Requires: python3-pyjwt
+Requires: python3-blake3
+Requires: python3-msgpack
+Requires: python3-zstandard
+# Optional: ffmpeg for HLS streaming
+Recommends: ffmpeg
+
+%description
+MeshBay Node indexes local directories and serves encrypted files
+to authenticated group members over QUIC (MNP v2) or TCP+TLS (MNP v1).
+Includes a local web UI at http://localhost:18000.
+
+%prep
+%autosetup
+
+%build
+%{python3} -m pip wheel --no-deps --wheel-dir dist .
+
+%install
+%{python3} -m pip install --root %{buildroot} --no-index --find-links dist meshbay-node
+
+# systemd user service (template)
+install -Dm644 packaging/systemd/meshbay-node.service \
+ %{buildroot}%{_userunitdir}/meshbay-node.service
+
+%files
+%license LICENSE
+%doc README.md
+%{python3_sitelib}/meshbay_node/
+%{python3_sitelib}/meshbay_node-*.dist-info/
+%{_bindir}/meshbay-node
+%{_userunitdir}/meshbay-node.service
+
+%changelog
+* Sat Aug 09 2026 MeshBay Team <team@meshbay.org> - 0.1.0-1
+- Initial package