Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🐙 Cephalopode

Cephalopode est une plateforme moderne de streaming et de gestion de bibliothèque musicale. Elle permet d'organiser vos artistes, albums et morceaux, de créer des playlists et de diffuser votre musique directement depuis votre navigateur.

L'application s'appuie sur une architecture performante :

  • Backend : FastAPI (Python) avec support PostgreSQL ou SQLite.
  • Frontend : React (TypeScript) avec Vite et Tailwind CSS.
  • Stockage : Compatible S3 (AWS, MinIO, etc.) pour vos fichiers audio.

🚀 Installation Rapide

1. Avec Docker Compose (Recommandé)

C'est la méthode la plus simple pour lancer tout l'écosystème (Base de données, Stockage MinIO, Serveur Mail de test, Backend et Frontend).

  1. Clonez le dépôt.
  2. Lancez la commande suivante à la racine :
    docker-compose up --build
  3. Accédez à l'application :

2. Avec Docker Run (Installation manuelle par conteneur)

Si vous souhaitez lancer les services séparément, vous pouvez utiliser docker run.

Note : Assurez-vous d'avoir une base de données PostgreSQL accessible.

Lancer le Backend :

docker run -d \
  --name cephalopode-api \
  -p 8000:8000 \
  -e DATABASE_TYPE=postgres \
  -e PGHOST=votre_hote_db \
  -e PGPASSWORD=votre_password \
  -e SECRET_KEY=votre_cle_secrete \
  votre-image-backend

Lancer le Frontend :

docker run -d \
  --name cephalopode-ui \
  -p 5173:5173 \
  -e VITE_API_URL=http://localhost:8000 \
  votre-image-frontend

3. Avec Kubernetes

Les manifests de déploiement sont disponibles dans le dossier /kubernetes.

  1. Configurer les secrets et la configmap :

    kubectl apply -f kubernetes/secret.yaml
    kubectl apply -f kubernetes/configmap.yaml
  2. Déployer les services et les pods :

    kubectl apply -f kubernetes/deployment.yaml
    kubectl apply -f kubernetes/service.yaml
  3. Vérifiez le statut :

    kubectl get pods

⚙️ Configuration (Variables d'environnement)

Le backend utilise les variables suivantes (configurables via .env ou variables système) :

Variable Description Par défaut
DATABASE_TYPE sqlite ou postgres sqlite
SECRET_KEY Clé pour la génération des tokens JWT -
TOKEN_EXP_SECONDS Durée de validité du token (en sec) 86400
PGHOST Hôte PostgreSQL db
SMTP_HOST Serveur SMTP pour les emails mailserver

🧪 Développement et Tests

Backend

cd api
pip install -r requirements.txt
pytest

Frontend

cd vite-front
npm install
npm run dev

🛠️ Maintenance

Pour réinitialiser la base de données SQLite locale :

rm api/database.db
# Relancez l'API pour recréer une base propre

L'utilisateur par défaut lors de l'initialisation est admin avec le mot de passe admin.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages