server_config/README.md

97 lines
2 KiB
Markdown
Raw Normal View History

2024-05-29 14:19:50 +02:00
# Server Config
2024-05-06 18:58:15 +02:00
2024-05-29 14:19:50 +02:00
Fichiers de configuration du serveur Coh@bit.
2024-05-29 14:20:41 +02:00
## Usage général
2024-05-29 14:19:50 +02:00
Cloner ce dépôts sur votre système (pas de répertoire privilégié).
```sh
# Clone repository
git clone https://git.cohabit.fr/cohabit/server_config.git
cd server_config
# Decrypt secrets
2024-05-30 17:52:19 +02:00
gpg -d .env.gpg > .env
# Switch to sudo
sudo su
# Allow execute scripts
chmod +x ./install.sh
chmod +x ./deploy.sh
# Install and deploy services
./install.sh --all | tee install.log && \
./deploy.sh --all | tee deploy.log
```
> [!WARNING]
>
> Après avoir executer `deploy.sh` tous les secrets sont écrits en clair dans
> les fichiers de configs et les scripts.\
> Ne surtout pas faire de `git commit` ou de `git push`.\
> Pour retourner à l'état d'origine faire un `git reset --hard HEAD` ou
> équivalent.
2024-05-29 14:19:50 +02:00
## Installation
2024-05-29 14:20:41 +02:00
Pour installer les différents services/apps du serveur.
2024-05-29 14:19:50 +02:00
### Usage
```sh
sudo (bash|sh|zsh) ./install.sh [SERVICES...]
```
### Examples
2024-05-29 14:20:41 +02:00
- Install `caddy` and `iptables`.
2024-05-29 14:19:50 +02:00
```sh
sudo ./install.sh caddy iptables
```
2024-05-29 14:20:41 +02:00
- Install all services.
2024-05-29 14:19:50 +02:00
```sh
sudo ./install.sh -a
2024-05-29 14:19:50 +02:00
```
## Déploiement
Pour déployer les différents services/apps dur serveur.
Nécessite d'avoir [installer les services](#installation) au préalable.
### Usage
```sh
sudo (bash|sh|zsh) ./deploy.sh [SERVICES...]
```
### Examples
2024-05-29 14:20:41 +02:00
- Install `caddy` and `iptables`.
2024-05-29 14:19:50 +02:00
```sh
sudo ./deploy.sh caddy iptables
```
2024-05-29 14:20:41 +02:00
- Install all services.
2024-05-29 14:19:50 +02:00
```sh
sudo ./deploy.sh -a
2024-06-06 15:27:40 +02:00
```
2024-06-06 15:24:25 +02:00
## Tests
Pour tester la config avant déploiement un [`Dockerfile`]('./Dockerfile') est
disponible. Le helper [`test_scripts.sh`](./test_scripts.sh) build et lance le
conteneur (shell: `bash`, point d'entrée: `/`).
2024-06-06 15:24:25 +02:00
> [!NOTE]
>
> Le helper utilise `docker`, pour utiliser `podman` vous pouvez taper
> `docker="podman" bash ./test_scripts.sh`.
## Ajout de service
2024-06-06 15:24:25 +02:00
S'il y a le besoin de rajouter des services, il faudra penser à ajouter leurs
configurations dans le projet ainsi que les liens vers leurs installations dans
le script d'installation.