localdev#
Code et configuration pour créer un environnement de développement réseau local. Il utilise Tailscale et peut être utilisé pour mettre en place une infrastructure isolée partagée qui peut soutenir aussi bien des individus que des équipes.
Remarque: Lorsque vous développez dans cet environnement de développement réseau local en utilisant le serveur de noms et l'instance PLC configurés, vous ne pourrez pas mélanger les identités pyroclastic.cloud et les identités externes, sauf si vous prenez des mesures pour résoudre les noms à la fois via l'instance PLC locale (https://plc.internal.ts.net) et via https://plc.directory.
Qu'est-ce que c'est?#
Ce projet vous permet de créer un environnement de développement complet pour les services Bluesky/AT Protocol sur votre réseau local. Cela inclut:
- Un service PLC (Personal Labeling Certificate) - gère les identités
- Un service PDS (Personal Data Server) - stocke et gère les données utilisateur
- Un service DNS - pour la résolution locale des noms
- Un administrateur DID - pour gérer les identifiants décentralisés
- Une interface de messagerie de développement
Prérequis#
- Docker Compose - pour exécuter des conteneurs (installer avec
sudo apt-get install docker-composesur Ubuntu/Debian ou suivre les instructions sur le site officiel de Docker) - Tailscale - pour créer un réseau privé virtuel
- DNS activé - pour la résolution de noms
- HTTPS activé - pour les connexions sécurisées
- Le nom de votre tailnet (p. ex.
sneaky-fox.ts.net) - vous le trouverez dans les paramètres Tailscale
Pour installer Tailscale (si vous ne l'avez pas déjà) :
# Pour Ubuntu/Debian
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.gpg | sudo apt-key add -
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.list | sudo tee /etc/apt/sources.list.d/tailscale.list
sudo apt-get update
sudo apt-get install tailscale
# Puis connectez-vous
sudo tailscale up
Mise en place#
-
Clonez ce dépôt
git clone https://github.com/votre-nom/localdev.git cd localdev -
Configurez et démarrez le service PLC.
# Allez dans le répertoire PLC cd plc # Copiez le fichier d'exemple et personnalisez-le selon vos besoins cp docker-compose.example.yml docker-compose.yml # Démarrer le service docker-compose up -dPour plus de détails, consultez plc/README.md
-
Configurez et démarrez le service PDS.
# Allez dans le répertoire PDS cd ../pds # Copiez et personnalisez les fichiers d'exemple cp docker-compose.example.yml docker-compose.yml cp env.example .env # Démarrer le service docker-compose up -dPour plus de détails, consultez pds/README.md
-
Configurez et démarrez le service DNS.
# Allez dans le répertoire DNS cd ../dns # Copiez et personnalisez les fichiers d'exemple cp docker-compose.example.yml docker-compose.yml cp Corefile.example Corefile # Démarrer le service docker-compose up -dPour plus de détails, consultez dns/README.md
-
Configurez le Split-DNS dans Tailscale.
- Visitez https://tailscale.com/ et connectez-vous à votre compte
- Allez dans l'onglet "Machines" et notez l'adresse IP interne de la machine
didadmin(généralement au format 100.x.y.z) - Allez dans la page de configuration DNS (onglet "DNS")
- Ajoutez un serveur de noms et sélectionnez "Personnalisé" ("Custom")
- Entrez l'adresse IP de
didadmin, cochez "Restreindre au domaine (Split DNS)" ("Restrict to domain (Split DNS)"), et définissez le domaine sur "pyroclastic.cloud" - Enregistrez les modifications
Utilisation#
Une fois la configuration terminée, les services suivants sont désormais disponibles sur votre réseau local:
- PLC (Serveur de certificats) - https://plc.internal.ts.net
- Ce service gère les identités et certificats pour le protocole AT
- PDS (Serveur de données personnel) - https://pds.internal.ts.net
- Ce service stocke et gère vos données utilisateur Bluesky/AT Protocol
- DNS (Serveur de noms) - didadmin.internal.ts.net:53
- Service de résolution de noms pour votre environnement local
- didadmin (Administration des identifiants) - https://didadmin.internal.ts.net
- Interface d'administration pour les identifiants décentralisés (DID)
- maildev (Service de mail pour développement) - http://pds.internal.ts.net:1080
- Interface web pour intercepter et visualiser les emails envoyés par le système
Comment configurer vos applications#
Lorsque vous configurez des applications pour le développement local ou sur réseau local, utilisez la configuration suivante:
# Serveur DNS à utiliser (adresse Tailscale DNS)
NAMESERVERS=100.100.100.100
# URL du serveur PLC local
PLC_HOSTNAME=https://plc.internal.ts.net
Création d'un compte utilisateur#
Pour créer un compte utilisateur dans votre environnement local:
- Accédez à https://pds.internal.ts.net
- Suivez le processus d'inscription
- Vous pouvez utiliser n'importe quelle adresse email, les emails sont capturés par maildev et visibles à http://pds.internal.ts.net:1080
Maintenance#
Renouvellement des certificats SSL#
Les certificats SSL de Tailscale doivent être régénérés périodiquement. Voici comment faire:
-
Pour le service PLC:
cd plc docker compose exec tailscale /bin/sh -c "tailscale cert plc.internal.ts.net" docker compose stop nginx docker compose start nginx -
Pour le service PDS:
cd pds docker compose exec tailscale /bin/sh -c "tailscale cert pds.internal.ts.net" docker compose stop nginx docker compose start nginx -
Pour le service didadmin:
cd dns docker compose exec tailscale /bin/sh -c "tailscale cert didadmin.internal.ts.net" docker compose stop nginx docker compose start nginx
Mise à jour des services#
Pour mettre à jour les services vers les dernières versions:
- Arrêtez les services:
docker compose down - Tirez les dernières images:
docker compose pull - Redémarrez les services:
docker compose up -d
Dépannage#
Si vous rencontrez des problèmes:
- Vérifiez les logs:
docker compose logs -f - Assurez-vous que Tailscale est correctement configuré et fonctionne
- Vérifiez que les ports nécessaires ne sont pas bloqués par un pare-feu
- Redémarrez un service spécifique:
docker compose restart <nom-du-service>