Fichiers de configuration du serveur Coh@bit.
Go to file
2024-07-17 17:01:59 +02:00
caddy fix: ensure owner of installed/deployed files are root or targeted service 2024-07-17 16:18:12 +02:00
fail2ban Update fail2ban/README.md 2024-06-06 14:41:02 +02:00
fastfetch Add fastfetch/README.md 2024-06-06 14:14:40 +02:00
forgejo fix(forgejo/deploy): update owner and permissions of config files 2024-07-17 17:01:59 +02:00
git Add git/README.md 2024-06-06 14:52:57 +02:00
iptables Update iptables/README.md 2024-06-06 14:48:19 +02:00
portfolio_server fix: ensure owner of installed/deployed files are root or targeted service 2024-07-17 16:18:12 +02:00
sshd Update sshd/README.md 2024-06-06 14:58:36 +02:00
vim fix: remove base dir and not only files before git clone 2024-07-11 14:31:47 +02:00
website fix: ensure owner of installed/deployed files are root or targeted service 2024-07-17 16:18:12 +02:00
wireguard feat: add empty TODO scripts to suppress tests errors 2024-06-05 20:40:18 +02:00
zsh fix(zsh): missing path update in .zshrc 2024-07-17 16:04:34 +02:00
.env.example feat: provide .env file with matcher replace for config secrets 2024-05-30 15:12:12 +02:00
.env.gpg chore: commit encrypted .env secrets 2024-05-30 17:47:08 +02:00
.gitignore feat: provide .env file with matcher replace for config secrets 2024-05-30 15:12:12 +02:00
_requirements.sh revert(f61bdbb): reuse deb-get classic install 2024-07-11 15:55:51 +02:00
deploy.sh fix: ensure owner of installed/deployed files are root or targeted service 2024-07-17 16:18:12 +02:00
Dockerfile build: add test scripts for manual debugging 2024-06-06 15:46:50 +02:00
install.sh fix: ensure owner of installed/deployed files are root or targeted service 2024-07-17 16:18:12 +02:00
load_secrets.sh fix: missing flag for overwritting files with sed 2024-05-30 18:02:01 +02:00
README.md doc(README): update general use example 2024-07-11 15:09:30 +02:00
test_scripts.sh build: add test scripts for manual debugging 2024-06-06 15:46:50 +02:00

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é).

# 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

sudo (bash|sh|zsh) ./install.sh [SERVICES...]

Examples

  • Install caddy and iptables.
    sudo ./install.sh caddy iptables
    
  • Install all services.
    sudo ./install.sh -a
    

Déploiement

Pour déployer les différents services/apps dur serveur.

Nécessite d'avoir installer les services au préalable.

Usage

sudo (bash|sh|zsh) ./deploy.sh [SERVICES...]

Examples

  • Install caddy and iptables.
    sudo ./deploy.sh caddy iptables
    
  • Install all services.
    sudo ./deploy.sh -a
    

Tests

Pour tester la config avant déploiement un Dockerfile est disponible. Le helper 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.