sochboard/README.md
maxsoch 528e8bcbbb feat: initial Sochboard dashboard
- Next.js 16 App Router with TypeScript + Tailwind CSS v4
- YAML config read at runtime via server components (force-dynamic)
- Zod validation for config schema (site, theme, sections, links)
- Dark/light theme with CSS variables and client-side toggle
- Dashboard layout: header (logo + title), sections, responsive card grid
- Horizontal card layout (icon left, text right) with optional vertical mode
- Lucide React icons with fallback, custom iconUrl support for SVG icons
- Glassmorphism cards with hover/focus/keyboard accessibility
- Mobile responsive: 2 columns on mobile, up to 5 on xl screens
- Docker multi-stage build with docker-compose volume for config
- Standalone Next.js output for production
- CONFIGURATION.md and ROADMAP.md documentation
2026-07-24 08:59:17 +02:00

72 lines
1.2 KiB
Markdown

# Sochboard
Dashboard familial pour les applications auto-hébergées.
## Démarrage rapide
```bash
docker compose up -d
```
L'application est accessible sur http://localhost:3000.
## Configuration
La configuration se fait via un fichier YAML monté dans le conteneur.
Par défaut : `config/dashboard.yml`
### Structure du fichier
```yaml
site:
name: "Soch Family"
title: "Les applications de la famille"
description: "Accès rapide à nos services"
theme:
mode: "dark"
accent: "#8b5cf6"
background: "gradient"
sections:
- id: "global"
title: "Global"
description: "Services accessibles à toute la famille"
links:
- id: "nextcloud"
name: "Nextcloud"
description: "Fichiers et documents"
url: "https://cloud.example.com"
icon: "Cloud"
color: "#2daae1"
openInNewTab: true
```
### Icônes disponibles
Cloud, Film, Music, Gamepad2, Router, Server, House, BookOpen, Calendar, Mail, Shield, Settings, Globe, ExternalLink
## Développement
```bash
npm install
npm run dev
```
## Docker
```bash
docker compose up -d
```
Modifiez `config/dashboard.yml` puis redémarrez le conteneur :
```bash
docker compose restart
```
## Licence
MIT