server_config/README.md

97 lines
2 KiB
Markdown

# Server Config
Fichiers de configuration du serveur Coh@bit.
## Usage général
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
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.
## Installation
Pour installer les différents services/apps du serveur.
### Usage
```sh
sudo (bash|sh|zsh) ./install.sh [SERVICES...]
```
### Examples
- Install `caddy` and `iptables`.
```sh
sudo ./install.sh caddy iptables
```
- Install all services.
```sh
sudo ./install.sh -a
```
## 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
- Install `caddy` and `iptables`.
```sh
sudo ./deploy.sh caddy iptables
```
- Install all services.
```sh
sudo ./deploy.sh -a
```
## 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: `/`).
> [!NOTE]
>
> Le helper utilise `docker`, pour utiliser `podman` vous pouvez taper
> `docker="podman" bash ./test_scripts.sh`.
## Ajout de service
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.