PaperClip

PaperClip ist eine Plattform zur Orchestrierung von KI-Agenten, die über Docker und Caddy betrieben wird.

Dieses Repository enthält die Infrastruktur, um PaperClip inklusive Caddy (Reverse-Proxy) und einer Postgres-Datenbank auf einem neuen Server auszurollen.

Architektur

  • Reverse Proxy: Caddy
  • Datenbank: Postgres 17
  • Anwendung: PaperClip (via ghcr.io/paperclipai/paperclip:latest)

Alle Volumes werden als lokale Mounts unter /opt/PaperClip-Data/ auf dem Host abgelegt.

Installation & Deployment

Um das System auf einem neuen Server (z. B. Hetzner CX23) aufzusetzen, klone das Repository nach /opt/PaperClip und führe das Master-Deployment-Skript als root aus.

# Repository klonen
sudo mkdir -p /opt/PaperClip
sudo git clone https://github.com/orfelorfel23/PaperClip.git /opt/PaperClip

# Setup & Deploy
sudo bash /opt/PaperClip/deploy_script.sh

Das Skript ist idempotent und kümmert sich um:

  • Die Installation von Docker, age und fail2ban.
  • Das Einrichten des Swaps und der Cronjobs (für automatische Updates).
  • Das Entschlüsseln der .env-Dateien mit age.
  • Das Starten von Caddy, Postgres und PaperClip.

Umgebungsvariablen hinzufügen oder ändern

Die Umgebungsvariablen liegen lokal unter services/paperclip/.env. Da dieses File per .gitignore ausgeschlossen ist (aus Sicherheitsgründen), wird stattdessen .env.age in das Repository gepusht.

Sobald du Änderungen an deiner lokalen .env machst, musst du diese neu verschlüsseln, bevor du den Commit erstellst:

age -r age1sa3q5qxl5dylld7v839m9lkv5h7l457wq4h40pt7kfmcfhcqkfjqspdjpn -o services/paperclip/.env.age services/paperclip/.env
S
Description
No description provided
Readme
1.8 GiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 90%
JavaScript 10%