Files
wiki/Catalogue-Self-Hosted/apps/app-chibisafe.md
T
2026-06-09 18:40:21 +02:00

5.9 KiB


title: Chibisafe created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, file-management, nodejs, typescript, uploader, pomf, sharex, discord] confidence: high contested: false sources: [https://selfh.st/apps/?tag=File+Management, https://github.com/chibisafe/chibisafe]

Chibisafe 🐣

Service d'upload de fichiers moderne écrit en Node.js/TypeScript, conçu pour remplacer des services comme pomf.cat ou les CDN Discord. Interface web soignée, API REST complète, ShareX compatible (uploads depuis le presse-papiers), albums, et gestion de quotas.

Métadonnée Valeur
Site web https://chibisafe.github.io/chibisafe/
GitHub https://github.com/chibisafe/chibisafe
License MIT
Langage TypeScript (Node.js + Fastify)
Étoiles 302
Dernière MAJ 2026-05
Catégorie cat-file-management

Description

Chibisafe est né en 2018-2019 pour répondre à un besoin précis : avoir son propre service d'upload style pomf.cat ou litterbox.cat, mais auto-hébergé, moderne, et sans les limitations des alternatives SaaS. Le nom est un clin d'œil aux chibi (petit format japonais), sous-entendant « petit service, gros potentiel ».

Fonctionnellement, Chibisafe se concentre sur l'upload simple et rapide plutôt que sur l'exploration d'un filesystem (c'est la différence avec app-file-browser ou app-filegator). L'utilisateur arrive sur une page d'upload, drag&drop un fichier, et obtient une URL partageable. Pas de treeview, pas d'édition, juste de l'upload + partage + albums.

Les forces du projet :

  • API REST complète : POST /api/upload accepte multipart, retourne l'URL. Compatible avec app-sharex via le format application/x-www-form-urlencoded ou multipart.
  • Albums : regrouper des fichiers dans des galeries privées/publiques avec lien de partage.
  • Quotas par utilisateur : limite de stockage configurable par compte.
  • Stockage : filesystem local par défaut, S3-compatible optionnel (MinIO, Backblaze B2, Wasabi).
  • Shortener d'URLs intégré.
  • Authentification : comptes locaux, OAuth2 (Discord notamment), OIDC.
  • Dashboard admin : stats, gestion des utilisateurs, modération.
  • UI soignée : frontend Vue 3 + TailwindCSS, dark/light mode.

C'est l'outil parfait pour qui veut remplacer pomf.cat / 0x0.st en privé, ou fournir un service d'upload à une petite communauté (Discord, salon Telegram, etc.) avec une UX moderne.

Installation

Option 1 : Docker Compose (recommandé)

services:
  chibisafe:
    image: chibisafe/chibisafe:latest
    container_name: chibisafe
    restart: unless-stopped
    ports:
      - "8000:8000"
    volumes:
      - ./uploads:/home/node/chibisafe/uploads
      - ./database:/home/node/chibisafe/database
      - ./logs:/home/node/chibisafe/logs
    environment:
      - NODE_ENV=production
      - BASE_URL=http://localhost:8000
      - DB_TYPE=sqlite
      - SECRET=***

UI sur http://localhost:8000. Créer le compte admin au premier accès (CLI : npm run create:user).

Option 2 : Manuelle (Node.js)

git clone https://github.com/chibisafe/chibisafe.git
cd chibisafe
pnpm install
pnpm build
pnpm start
# par défaut sur :3000

Configuration

  • Premier admin : via CLI dans le conteneur, ou via l'endpoint /api/auth/setup au premier démarrage.
  • Stockage S3 : configurer dans le dashboard admin → Settings → Storage, ou via env vars (S3_*).
  • Limites d'upload : MAX_FILE_SIZE (par défaut 100 Mo), MAX_FILES_PER_UPLOAD.
  • Quota utilisateur : USER_QUOTA (par défaut 1 Go).
  • Auth : activer OAuth2 Discord, Google dans Settings → Auth.
  • Reverse proxy : derrière app-caddy / app-traefik avec HTTPS. WebSocket non requis.
  • ShareX : fournir un script .sxcu aux utilisateurs pour upload depuis le client ShareX.

Alternatives

Open Source

Propriétaires

  • pomf.cat (historique, fermé)
  • litterbox.cat (Cloudflare)
  • 0x0.st
  • imgur
  • Gyazo
  • Lightshot (client)

Sécurité

  • HTTPS obligatoire (app-caddy / app-traefik).
  • Activer la modération dans Settings → Moderation (anti-CSAM, anti-malware via app-clamav optionnel).
  • Quotas stricts : un attaquant peut uploader massivement et saturer le disque. Quotas par user + alerte monitoring (app-dozzle).
  • Rate limiting : activer dans la config pour éviter les abus sur l'endpoint /api/upload.
  • Liste blanche d'extensions : bloquer .exe, .bat, .scr si exposition publique.
  • Antivirus : brancher app-clamav via l'API de scan.
  • Logs : ./logs contient tous les uploads, à monitorer et à purger régulièrement.
  • Backups : ./uploads est le cœur, à sauvegarder. La base SQLite ./database contient les comptes.

Ressources

Pages Liées