initial push
This commit is contained in:
152
README.MD
Normal file
152
README.MD
Normal file
@@ -0,0 +1,152 @@
|
||||
# Belgium RP - Ansible Infrastructure
|
||||
|
||||
## Overview
|
||||
Ce projet Ansible est conçu pour déployer et gérer l'infrastructure du serveur Belgium RP. Le dépôt contient plusieurs rôles, tâches et playbooks Ansible pour automatiser le processus de déploiement.
|
||||
|
||||
## Structure du Dépôt
|
||||
- **inventories/**: Contient les fichiers d'inventaire Ansible.
|
||||
- **host_vars/**: Variables spécifiques aux hôtes.
|
||||
- `localhost.yml`: Variables spécifiques à localhost.
|
||||
- `localhost/`: Répertoire contenant des variables supplémentaires spécifiques aux hôtes.
|
||||
- **playbooks/**: Contient les playbooks Ansible pour déployer les applications.
|
||||
- **docker/**: Playbooks pour déployer les conteneurs Docker.
|
||||
- `deploy-docker-bitwarden.yml`: Playbook pour déployer [Bitwarden](https://github.com/bitwarden/server).
|
||||
- **Bitwarden** : Gestionnaire de mots de passe open-source qui stocke et gère les informations de connexion de manière sécurisée.
|
||||
- `deploy-docker-bookstack.yml`: Playbook pour déployer [Bookstack](https://github.com/BookStackApp/BookStack).
|
||||
- **Bookstack** : Logiciel de gestion de documentation et de wiki pour créer et organiser des livres et des pages.
|
||||
- `deploy-docker-cloudflare-ddns.yml`: Playbook pour déployer [Cloudflare DDNS](https://github.com/oznu/docker-cloudflare-ddns).
|
||||
- **Cloudflare DDNS** : Service de DNS dynamique utilisant Cloudflare pour mettre à jour les enregistrements DNS automatiquement.
|
||||
- `deploy-docker-duplicati.yml`: Playbook pour déployer [Duplicati](https://github.com/duplicati/duplicati).
|
||||
- **Duplicati** : Solution de sauvegarde open-source pour stocker des sauvegardes chiffrées de manière sécurisée.
|
||||
- `deploy-docker-easywall.yml`: Playbook pour déployer [Easywall](https://github.com/ThomasKaiser/EasyWall).
|
||||
- **Easywall** : Pare-feu simplifié pour la gestion et la sécurisation du réseau.
|
||||
- `deploy-docker-file_browser.yml`: Playbook pour déployer [File Browser](https://github.com/filebrowser/filebrowser).
|
||||
- **File Browser** : Interface web pour gérer et partager des fichiers sur un serveur.
|
||||
- `deploy-docker-firefly.yml`: Playbook pour déployer [Firefly III](https://github.com/firefly-iii/firefly-iii).
|
||||
- **Firefly III** : Outil de gestion financière personnelle pour suivre les dépenses et gérer les budgets.
|
||||
- `deploy-docker-fivem.yml`: Playbook pour déployer [FiveM](https://github.com/spritsail/fivem).
|
||||
- **FiveM** : Plateforme de modification pour GTA V, permettant la création de serveurs multijoueurs personnalisés. Cette version Docker simplifie le déploiement et la gestion des serveurs FiveM.
|
||||
- `deploy-docker-gitea.yml`: Playbook pour déployer [Gitea](https://github.com/go-gitea/gitea).
|
||||
- **Gitea** : Service d'hébergement de dépôts Git léger et open-source.
|
||||
- `deploy-docker-heimdall.yml`: Playbook pour déployer [Heimdall](https://github.com/linuxserver/Heimdall).
|
||||
- **Heimdall** : Page d'accueil pour organiser et accéder facilement aux applications et services.
|
||||
- `deploy-docker-homepage.yml`: Playbook pour déployer [Homepage](https://github.com/benphelps/homepage).
|
||||
- **Homepage** : Interface web personnalisable pour accéder rapidement aux applications web et services.
|
||||
- `deploy-docker-kanboard.yml`: Playbook pour déployer [Kanboard](https://github.com/kanboard/kanboard).
|
||||
- **Kanboard** : Application de gestion de projets utilisant une approche Kanban pour organiser les tâches.
|
||||
- `deploy-docker-nginx.yml`: Playbook pour déployer [Nginx Proxy Manager](https://github.com/NginxProxyManager/nginx-proxy-manager).
|
||||
- **Nginx Proxy Manager** : Interface utilisateur pour gérer les proxys Nginx, avec une gestion simplifiée des certificats SSL.
|
||||
- `deploy-docker-portainer.yml`: Playbook pour déployer [Portainer](https://github.com/portainer/portainer).
|
||||
- **Portainer** : Interface de gestion pour déployer et superviser des environnements Docker.
|
||||
- `deploy-docker-rainloop.yml`: Playbook pour déployer [Rainloop](https://github.com/RainLoop/rainloop-webmail).
|
||||
- **Rainloop** : Client webmail rapide et moderne.
|
||||
- `deploy-docker-uptimekuma.yml`: Playbook pour déployer [Uptime Kuma](https://github.com/louislam/uptime-kuma).
|
||||
- **Uptime Kuma** : Outil de surveillance de sites web pour suivre le temps de disponibilité.
|
||||
- `cloudflare.yml`: Playbook pour déployer [Cloudflare](https://github.com/cloudflare).
|
||||
- **Cloudflare** : Réseau de diffusion de contenu et service de sécurité web.
|
||||
- `codeserver.yml`: Playbook pour déployer [Code Server](https://github.com/coder/code-server).
|
||||
- **Code Server** : Version de Visual Studio Code qui peut être exécutée dans un navigateur web.
|
||||
- `deploy-homepage-config.yml`: Playbook pour déployer la configuration de la [Homepage](https://github.com/benphelps/homepage).
|
||||
- **Homepage Configuration** : Configuration de l'interface web personnalisable pour accéder rapidement aux applications web et services.
|
||||
- **roles/**: Contient les rôles Ansible pour le déploiement.
|
||||
- **deploy-docker/**: Rôle pour déployer les conteneurs Docker.
|
||||
- **tasks/**: Contient le fichier de tâches principal pour le déploiement.
|
||||
- `main.yml`: Fichier de tâches principal pour exécuter les tâches de déploiement.
|
||||
- **templates/**: Contient divers fichiers de configuration YAML pour différentes applications.
|
||||
- `bitwarden.yml`: Configuration pour [Bitwarden](https://github.com/bitwarden/server).
|
||||
- `bookstack.yml`: Configuration pour [Bookstack](https://github.com/BookStackApp/BookStack).
|
||||
- `cloudflare-ddns.yml`: Configuration pour [Cloudflare DDNS](https://github.com/oznu/docker-cloudflare-ddns).
|
||||
- `duplicati.yml`: Configuration pour [Duplicati](https://github.com/duplicati/duplicati).
|
||||
- `easywall.yml`: Configuration pour [Easywall](https://github.com/ThomasKaiser/EasyWall).
|
||||
- `filebrowser.yml`: Configuration pour [File Browser](https://github.com/filebrowser/filebrowser).
|
||||
- `firefly.yml`: Configuration pour [Firefly III](https://github.com/firefly-iii/firefly-iii).
|
||||
- `fivem.yml`: Configuration pour [FiveM](https://github.com/spritsail/fivem).
|
||||
- `gitea.yml`: Configuration pour [Gitea](https://github.com/go-gitea/gitea).
|
||||
- `heimdall.yml`: Configuration pour [Heimdall](https://github.com/linuxserver/Heimdall).
|
||||
- `homepage.yml`: Configuration pour [Homepage](https://github.com/benphelps/homepage).
|
||||
- `kanboard.yml`: Configuration pour [Kanboard](https://github.com/kanboard/kanboard).
|
||||
- `nginx.yml`: Configuration pour [Nginx Proxy Manager](https://github.com/NginxProxyManager/nginx-proxy-manager).
|
||||
- `portainer.yml`: Configuration pour [Portainer](https://github.com/portainer/portainer).
|
||||
- `rainloop.yml`: Configuration pour [Rainloop](https://github.com/RainLoop/rainloop-webmail).
|
||||
- `uptimekuma.yml`: Configuration pour [Uptime Kuma](https://github.com/louislam/uptime-kuma).
|
||||
- **deploy-homepage-config/**: Rôle pour déployer la configuration de la [Homepage](https://github.com/benphelps/homepage).
|
||||
- **pallxk.code_server/**: Rôle pour déployer l'environnement de [Code Server](https://github.com/coder/code-server).
|
||||
- **defaults/**: Contient les variables par défaut pour le rôle.
|
||||
- **handlers/**: Contient les handlers déclenchés par les tâches.
|
||||
- **meta**: Contient les métadonnées sur le rôle.
|
||||
- **tasks**: Contient les fichiers de tâches pour le rôle.
|
||||
- **templates**: Contient les fichiers de template pour le rôle.
|
||||
- **tests**: Contient les fichiers de test pour le rôle.
|
||||
- **vars**: Contient les fichiers de variables pour le rôle.
|
||||
|
||||
## Prérequis
|
||||
- Docker
|
||||
- Ansible
|
||||
|
||||
## Installation
|
||||
1. Clonez le dépôt :
|
||||
```bash
|
||||
git clone https://gitlab.com/votre-utilisateur/votre-depot.git
|
||||
cd votre-depot
|
||||
```
|
||||
|
||||
2. Exécutez le playbook Ansible :
|
||||
```bash
|
||||
ansible-playbook -i inventories/localhost.yml playbooks/docker/deploy-docker-bitwarden.yml
|
||||
```
|
||||
|
||||
### Tutoriel de Déploiement de Playbook Ansible
|
||||
1. **Configurer l'inventaire** :
|
||||
- Assurez-vous que le fichier `inventories/localhost.yml` contient les informations nécessaires sur les hôtes.
|
||||
- Exemple de contenu pour `localhost.yml` :
|
||||
```yaml
|
||||
all:
|
||||
hosts:
|
||||
localhost:
|
||||
ansible_connection: local
|
||||
```
|
||||
|
||||
2. **Configurer les variables d'hôte** :
|
||||
- Modifiez le fichier `inventories/host_vars/localhost.yml` pour adapter les variables à votre environnement.
|
||||
- Exemple de contenu pour `localhost.yml` :
|
||||
```yaml
|
||||
some_variable: some_value
|
||||
```
|
||||
|
||||
3. **Lancer le Playbook** :
|
||||
- Utilisez la commande suivante pour lancer le playbook souhaité :
|
||||
```bash
|
||||
ansible-playbook -i inventories/localhost.yml playbooks/docker/deploy-docker-fivem.yml
|
||||
```
|
||||
- Remplacez `deploy-docker-fivem.yml` par le playbook correspondant à l'application que vous souhaitez déployer.
|
||||
|
||||
### Détails du Répertoire
|
||||
- **inventories/host_vars/localhost.yml**: Inventaire et variables spécifiques à localhost.
|
||||
- **playbooks/docker/**: Contient les playbooks pour déployer divers conteneurs Docker.
|
||||
- Chaque fichier YAML correspond à la configuration de déploiement pour une application spécifique.
|
||||
- **roles/deploy-docker/tasks/main.yml**: Point d'entrée principal pour déployer les conteneurs Docker.
|
||||
- **roles/deploy-docker/templates/**: Contient les configurations YAML pour chaque application.
|
||||
- **roles/deploy-homepage-config/**: Gère le déploiement des configurations de la homepage.
|
||||
- **roles/pallxk.code_server/**: Gère le déploiement de l'environnement du serveur de code.
|
||||
|
||||
## Configuration
|
||||
- Modifiez les fichiers YAML dans `roles/deploy-docker/templates/` pour configurer les applications selon vos besoins.
|
||||
- Mettez à jour le fichier d'inventaire avec les détails corrects du serveur.
|
||||
|
||||
## Contribuer
|
||||
1. Forkez le dépôt.
|
||||
2. Créez une nouvelle branche (`git checkout -b feature-branch`).
|
||||
3. Apportez vos modifications.
|
||||
4. Commitez vos modifications (`git commit -am 'Ajout d'une nouvelle fonctionnalité'`).
|
||||
5. Poussez sur la branche (`git push origin feature-branch`).
|
||||
6. Ouvrez une Merge Request.
|
||||
|
||||
## Licence
|
||||
Ce projet est sous licence MIT - voir le fichier [LICENSE](LICENSE) pour plus de détails.
|
||||
|
||||
## Créateurs du Projet
|
||||
- Big Geo: Ne supporte pas les humains donc Contact Via MichMich.
|
||||
- MichMich (Discord: mitch_grey48)
|
||||
|
||||
## Remerciements
|
||||
- Big Geo
|
||||
Reference in New Issue
Block a user