BizzFed — föderiertes berufliches Netzwerk (ActivityPub)
  • TypeScript 97.1%
  • CSS 1.9%
  • JavaScript 0.8%
  • Shell 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
root 049e8a9a41
Some checks failed
CI / lint-typecheck-test (push) Successful in 3m56s
CI / test-db (push) Successful in 2m40s
CI / static-analysis (push) Failing after 3m11s
perf(db): Indizes für Antworten, Zitate, Boosts und Gruppen-Posts
posts (1,37 Mio. Zeilen) hatte keinen Index auf in_reply_to_id, quoted_post_id,
boosted_post_id und group_id: Thread-, Zitat- und Gruppenabfragen liefen als
parallele Seq Scans (330-570 ms), Hauptlast auf dem 2-Kern-VPS. Partielle
Indizes (NOT NULL).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 12:46:13 +01:00
.forgejo/workflows chore(ci): wöchentlicher Audit-Lauf und dokumentierter Audit-Rhythmus (OP #329) 2026-11-02 08:53:23 +01:00
.semgrep ci: Semgrep als hartes Gate (--error), Projektregeln in .semgrep/bizzfed.yml 2026-10-17 17:07:21 +02:00
apps feat(security): messageCrypto für DM-Verschlüsselung im Ruhezustand (OP #333) 2026-11-04 09:06:51 +01:00
infra feat: Garage als optionales Compose-Profil statt MinIO (INFRA1) 2026-09-28 10:54:53 +02:00
packages perf(db): Indizes für Antworten, Zitate, Boosts und Gruppen-Posts 2026-11-04 12:46:13 +01:00
scripts fix(deploy): genau die CI-geprüfte SHA ausrollen, Endchecks brechen bei Fehler ab 2026-10-17 16:08:14 +02:00
.dockerignore feat(sh2): Produktions-Docker-Setup — Dockerfiles + docker-compose.prod.yml 2026-06-08 09:14:25 +02:00
.env.prod.example chore: MinIO aus docker-compose.prod.yml und Doku entfernt, Garage ist Standard 2026-10-12 07:38:19 +02:00
.gitignore feat: echten Software-Stand in NodeInfo + Mastodon-Instance-Endpoint (F4) 2026-07-24 08:41:04 +02:00
.npmrc feat: Q1 ESLint+Prettier-Setup, Q7 reproduzierbare Dependency-Kontrolle (Fider #113) 2026-06-20 10:42:43 +02:00
.prettierignore feat: Q1 ESLint+Prettier-Setup, Q7 reproduzierbare Dependency-Kontrolle (Fider #113) 2026-06-20 10:42:43 +02:00
.prettierrc.json feat: Q1 ESLint+Prettier-Setup, Q7 reproduzierbare Dependency-Kontrolle (Fider #113) 2026-06-20 10:42:43 +02:00
AGENTS.md docs/feat: DM-Hinweis bei Remote-Konten, CI-/Deploy-Beschreibung korrigiert, MinIO-Reste in Doku 2026-10-25 12:13:06 +01:00
AI-NOTICE.md docs/feat: DM-Hinweis bei Remote-Konten, CI-/Deploy-Beschreibung korrigiert, MinIO-Reste in Doku 2026-10-25 12:13:06 +01:00
API.md feat: Codeberg #26 - Jobs-Relay-Actor für bessere Föderations-Reichweite 2026-07-16 15:08:39 +02:00
ARCHITECTURE.md docs/feat: DM-Hinweis bei Remote-Konten, CI-/Deploy-Beschreibung korrigiert, MinIO-Reste in Doku 2026-10-25 12:13:06 +01:00
CONTRIBUTING.md chore(quality): Automatisierung nachziehen, damit Security-Drift nicht mehr unbemerkt bleibt 2026-08-02 16:03:33 +02:00
docker-compose.prod.yml chore: MinIO aus docker-compose.prod.yml und Doku entfernt, Garage ist Standard 2026-10-12 07:38:19 +02:00
docker-compose.yml docs/feat: DM-Hinweis bei Remote-Konten, CI-/Deploy-Beschreibung korrigiert, MinIO-Reste in Doku 2026-10-25 12:13:06 +01:00
INSTALL.md chore: MinIO aus docker-compose.prod.yml und Doku entfernt, Garage ist Standard 2026-10-12 07:38:19 +02:00
instances.json docs: Quellcode-Links von Codeberg auf forgejo.bizzfed.de umstellen 2026-08-06 14:08:05 +02:00
LICENSE docs: AGPL-3.0 LICENSE-Datei ergänzt (war leer) 2026-06-23 08:03:58 +02:00
package.json chore: Version-Bump 1.0.0 -> 1.1.0 (Fider-Batch #330-337 + F332) 2026-08-19 11:06:16 +02:00
pnpm-lock.yaml fix(deps): zod 4.6.7 (GHSA-mrhx-c7xc-m3w5), nodemailer und esbuild im Lockfile angehoben 2026-10-25 12:20:45 +01:00
pnpm-workspace.yaml fix: hono/node-server/vitest/js-yaml aktualisiert, SECURITY.md bewertet verbleibende Advisories 2026-10-16 13:37:46 +02:00
README.md docs/feat: DM-Hinweis bei Remote-Konten, CI-/Deploy-Beschreibung korrigiert, MinIO-Reste in Doku 2026-10-25 12:13:06 +01:00
renovate.json chore(quality): Automatisierung nachziehen, damit Security-Drift nicht mehr unbemerkt bleibt 2026-08-02 16:03:33 +02:00
SECURITY.md chore(ci): wöchentlicher Audit-Lauf und dokumentierter Audit-Rhythmus (OP #329) 2026-11-02 08:53:23 +01:00
TODO.md docs: Blogpost zum KI-Entwicklungsworkflow auf TODO (Q8) 2026-08-06 15:32:34 +02:00
tsconfig.base.json feat: initial BizzFed monorepo scaffold 2026-05-23 16:28:18 +02:00
turbo.json test: Q4 Vitest-Grundgerüst + 45 Regressionstests, dabei echten SSRF-Bug gefunden+gefixt (Fider #113) 2026-06-20 13:41:39 +02:00

BizzFed

Federated professional network based on ActivityPub.

License: AGPL v3

BizzFed is a decentralized alternative to LinkedIn — without tracking, without algorithms. Accounts live on independent instances and communicate via ActivityPub (the same protocol used by Mastodon). Profiles, job postings, and connections are portable across instances.

Live instance: bizzfed.de


Features

  • Federated profiles (@handle@instance.tld) compatible with Mastodon and other ActivityPub software
  • Job postings as first-class ActivityPub objects (federated across instances)
  • Skills, endorsements, career history, education, projects
  • Direct messages, notifications, bookmarks
  • Company accounts with team pages and job listings
  • Polls, hashtags, mentions, link preview cards
  • Post scheduling, editing, deletion (with AP Update/Delete activities)
  • GDPR data export (Art. 20) — ZIP with all personal data
  • Contact lists, shadow fields, vCard export (RFC 6350)
  • Admin panel with federation controls, audit log, health monitoring
  • Rate limiting, HTTP Signatures (Mastodon-compatible), RSA-4096 keypairs

Tech Stack

Layer Technology
Frontend Next.js 15 (App Router), Tailwind CSS v4
Backend Hono on Node.js 22
Database PostgreSQL 16 (Drizzle ORM)
Queue BullMQ + Redis 7
Media Garage in production, MinIO in the local dev compose (S3-compatible)
Infrastructure Docker Compose
Federation ActivityPub S2S, HTTP Signatures

Self-Hosting

See INSTALL.md for the full guide.

Requirements (minimum): 2 GB RAM, 20 GB disk, Docker 24+, a public domain with HTTPS


Development

# Prerequisites: Node.js 22, pnpm 11, Docker

# Install dependencies
pnpm install

# Start infrastructure (Postgres, Redis, MinIO as local S3 stand-in)
docker compose up -d

# Apply database schema
pnpm db:push

# Start all apps in dev mode
pnpm dev

Frontend runs on :3000, API on :3001.


Contributing

Issues and pull requests are welcome. Please open an issue first for larger changes.

This project uses Conventional Commits.


License

Copyright (C) 2026 René Hamdorf

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

See LICENSE for details. Full license text: https://www.gnu.org/licenses/agpl-3.0.txt

Hinweise zur KI-gestützten Entwicklung und urheberrechtlichen Einordnung: siehe AI-NOTICE.md. BizzFed ist ein aktiv und fortlaufend menschlich betreutes Projekt mit echter Nutzerbasis (kein autonom generiertes Wegwerfprojekt).