Initial vault setup
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
---
|
||||
title: Fli.so
|
||||
created: 2026-06-08
|
||||
updated: 2026-06-08
|
||||
type: app
|
||||
tags: [catalogue, url-shortener, self-hosted]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=42, https://github.com/thisuxhq/fli.so]
|
||||
---
|
||||
|
||||
# 🔗 Fli.so
|
||||
|
||||
> **Fli.so** est un raccourcisseur d'URL moderne écrit par l'équipe thisuxhq, avec une interface épurée, des QR codes intégrés et un déploiement cloud-first.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Métadonnée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | https://fli.so |
|
||||
| **GitHub** | https://github.com/thisuxhq/fli.so |
|
||||
| **License** | AGPL-3.0 |
|
||||
| **Langage principal** | TypeScript |
|
||||
| **Étoiles GitHub** | 505 |
|
||||
| **Dernière MAJ** | 2025-05-06 |
|
||||
| **Catégorie** | [[cat-url-shortener]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
Fli.so est un raccourcisseur d'URL moderne construit par thisuxhq, équipe qui a popularisé plusieurs outils SvelteKit. Le projet mise sur la **vitesse d'exécution** (chargement quasi-instantané) et une **interface utilisateur épurée**, sans la lourdeur des plateformes marketing comme Dub.
|
||||
|
||||
L'application supporte les slugs personnalisés, les domaines personnalisés, les liens protégés par mot de passe, l'expiration programmée, et génère automatiquement un **QR code stylisé** pour chaque lien. L'UI web est en SvelteKit, ce qui en fait un client léger côté navigateur, et le backend Node.js peut être déployé sur Vercel, Fly.io, ou un VPS classique via Docker.
|
||||
|
||||
L'écosystème est plus jeune que Shlink ou Kutt, et la documentation est succincte. Le projet est cependant un bon choix pour ceux qui veulent une UI moderne et réactive sans dépendre d'un service commercial, et qui maîtrisent SvelteKit / Node.js pour la customisation.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Docker Compose (recommandé)
|
||||
|
||||
```yaml
|
||||
services:
|
||||
fliso:
|
||||
image: ghcr.io/thisuxhq/fliso:latest
|
||||
container_name: fliso
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- web
|
||||
- internal
|
||||
environment:
|
||||
- DATABASE_URL=postgresql://fliso:***@db:5432/fliso
|
||||
- NEXTAUTH_URL=https://go.example.com
|
||||
- NEXTAUTH_SECRET=${NEXT...T}
|
||||
- DEFAULT_DOMAIN=go.example.com
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.fliso.rule=Host(`go.example.com`)"
|
||||
- "traefik.http.routers.fliso.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.fliso.loadbalancer.server.port=3000"
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- internal
|
||||
environment:
|
||||
- POSTGRES_USER=fliso
|
||||
- POSTGRES_PASSWORD=*** - POSTGRES_DB=fliso
|
||||
volumes:
|
||||
- fliso-db:/var/lib/postgresql/data
|
||||
|
||||
networks:
|
||||
web:
|
||||
external: true
|
||||
internal:
|
||||
|
||||
volumes:
|
||||
fliso-db:
|
||||
```
|
||||
|
||||
### Installation manuelle (Vercel/Fly)
|
||||
|
||||
1. `git clone https://github.com/thisuxhq/fli.so.git`
|
||||
2. Prérequis : Node.js 20+, PostgreSQL 13+ (Supabase, Neon, RDS acceptés).
|
||||
3. Copier `.env.example` vers `.env` et configurer.
|
||||
4. Lancer les migrations Prisma puis `npm run dev` (ou `vercel deploy`).
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
- `NEXTAUTH_SECRET` : chaîne aléatoire pour signer les sessions.
|
||||
- `DEFAULT_DOMAIN` : le domaine servant les liens courts.
|
||||
- Configurer OAuth (Google, GitHub) pour l'inscription.
|
||||
- Brancher un SMTP pour la récupération de mot de passe.
|
||||
- Activer le rate-limiting (middleware SvelteKit ou reverse proxy).
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
- [[app-kutt]] — autre TypeScript plus mature, UI équivalente.
|
||||
- [[app-shlink]] — PHP mature, REST API complète.
|
||||
- [[app-sink]] — Rust, edge-ready, no-tracking.
|
||||
- [[app-dub]] — plateforme marketing complète, plus riche.
|
||||
|
||||
### Propriétaires (ce que cette app remplace)
|
||||
- **bit.ly** — leader freemium.
|
||||
- **cutt.ly** — custom domain, freemium.
|
||||
- **short.io** — orienté marque blanche.
|
||||
- **ow.ly** (Hootsuite) — orienté social media.
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- **NEXTAUTH_SECRET** : chaîne aléatoire longue, jamais commitée.
|
||||
- **HTTPS strict** : service exposé, ne jamais servir en HTTP.
|
||||
- **OAuth providers** : limiter les providers autorisés en production.
|
||||
- **Rate limit** : activer sur l'API de création pour bloquer les abus.
|
||||
- **Backups DB** : la base de liens doit être sauvegardée quotidiennement.
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- Site officiel : https://fli.so
|
||||
- Code source : https://github.com/thisuxhq/fli.so
|
||||
- Documentation : https://github.com/thisuxhq/fli.so#readme
|
||||
- Démo : https://fli.so
|
||||
- Communauté : https://github.com/thisuxhq/fli.so/discussions
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-url-shortener|URL Shortener]] — Catégorie complète
|
||||
- [[app-kutt]] — Voisin TypeScript plus mature
|
||||
- [[app-shlink]] — Alternative PHP robuste
|
||||
- [[recettes-docker-compose]] — Templates Docker
|
||||
Reference in New Issue
Block a user