Slug
Para acortar y gestionar enlaces con un panel propio, ya sea usando la instancia pública o autoalojÔndolo.
Acortador de enlaces open source y autoalojable construido con Next.js, Turso y Prisma.
Notas y contexto
QuƩ es
Slug es un acortador de enlaces open source creado por pheralb. EstĆ” construido sobre Next.js 14 (App Router) con TypeScript, base de datos Turso (SQLite vĆa libSQL), ORM Prisma y autenticación con Auth.js v5 (GitHub y Google). La interfaz usa TailwindCSS y shadcn/ui. Tiene una instancia pĆŗblica en slug.vercel.app y se puede autoalojar.
Para quƩ sirve
- Acortar URLs largas y generar enlaces cortos compartibles.
- Gestionar tus enlaces desde un panel con creación, edición y borrado.
- Organizar y buscar enlaces mediante etiquetas (tags).
- Autoalojar tu propio acortador con control total sobre los datos.
CuƔndo usarlo
- Cuando quieres un acortador de enlaces con panel propio y no depender de servicios de terceros como Bitly.
- Cuando prefieres una solución abierta y autoalojable que puedas auditar y adaptar.
- Si solo necesitas acortar enlaces puntualmente, la instancia pĆŗblica en slug.vercel.app es suficiente sin instalar nada.
Ejemplo
Para autoalojarlo en local necesitas Node.js v18+, pnpm v8+ y la CLI de Turso. El flujo bƔsico es:
git clone https://github.com/pheralb/slug cd slug pnpm install
Después configuras las variables de entorno (.env) con la conexión a Turso y las credenciales OAuth de GitHub/Google, aplicas el esquema de Prisma y arrancas el entorno de desarrollo:
pnpm prisma db push pnpm dev
La app queda disponible en http://localhost:3000 con su panel de gestión.
Puntos clave
- Stack moderno con Next.js Server Actions, Prisma y Turso (SQLite distribuida).
- Autenticación lista con Auth.js v5 mediante GitHub y Google.
- Organización por etiquetas, búsqueda y exportación de datos.
- Instancia pública disponible ademÔs de la opción autoalojada.
Ten en cuenta
La instancia pública es un proyecto comunitario sin relación con Vercel, asà que para uso serio conviene autoalojarla. El despliegue requiere configurar Turso y credenciales OAuth, lo que añade algo de complejidad inicial. La licencia es GPL-3.0: si la modificas y distribuyes, debes publicar el código bajo la misma licencia.