diff --git a/README.md b/README.md index 2c91616..54c2cee 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,12 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que je propose. +## Comment ça marche ? + +Vous pouvez réutiliser ce dépôt pour votre infrastructure. + +J'ai mis une documentation dans le dossier [_example_][example] + ## Commandes ### Docker et Docker Compose @@ -38,6 +44,7 @@ En haut de chaque script il y a `set -eu` qui veut dire : - -e Exit immediately if a command exits with a non-zero status. - -u Treat unset variables as an error when substituting. +[example]: ./example [docker]: https://docs.docker.com/engine/ [docker-compose]: https://docs.docker.com/compose/ [postgres]: ./postgres diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..097bf2c --- /dev/null +++ b/examples/README.md @@ -0,0 +1,15 @@ +# Exemples + +Ce dossier montre comment mettre en place des services en copiant et modifiant seulement des fichiers de configuration. + +## .env + +Docker Compose utilise automatiquement un fichier `.env` pour charger des variables d'environnements. Il suffit donc de créer ce fichier et de surcharger les variables utilisés dans un service pour le personnaliser. + +La variable `COMPOSE_FILE` permet d'indiquer quel(s) fichier(s) yaml il doit utiliser. + +Si nous allons dans le dossier `traefik.cool.life` par example, il est possible de lancer la commande `docker-compose up -d` pour lancer le service + +## DOCKER_HOST + +Si vous gérez des serveurs à distance, il est possible d'utiliser la variable `DOCKER_HOST` dans votre fichier `.env` pour expliquer que le service doit s’exécuter sur ce serveur. diff --git a/examples/git.cool.life/.env b/examples/git.cool.life/.env new file mode 100644 index 0000000..9876e85 --- /dev/null +++ b/examples/git.cool.life/.env @@ -0,0 +1,33 @@ +# DOCKER + +SERVER=monserveur +DOCKER_HOST=ssh://user@monserveur:4242 +COMPOSE_FILE=../../postgres/docker-compose.yml:../../gitea/docker-compose.yml:../../gitea/docker-compose.traefik.yml + +# APP + +TRAEFIK_NETWORK_NAME=kifeart +GITEA_IMAGE=gitea/gitea:1.11.5 +GITEA_CONTAINER_NAME=aetig +GITEA_VOLUME_NAME=aetig +GITEA_PROTOCOL=https +GITEA_DOMAIN=git.cool.life + +# APP CONFIG +# https://docs.gitea.io/en-us/install-with-docker/#environments-variables + +DISABLE_SSH=true +RUN_MODE=prod +DISABLE_REGISTRATION=true +INSTALL_LOCK=true +PROTOCOL=${GITEA_PROTOCOL} +DOMAIN=${GITEA_DOMAIN} + +# DATABASE + +POSTGRES_IMAGE=postgres:12.2-alpine +POSTGRES_USER=aetig +POSTGRES_PASSWORD=$not$safe$password! +POSTGRES_DB=aetig +POSTGRES_CONTAINER_NAME=aetig-postgres +POSTGRES_VOLUME_NAME=aetig-postgres diff --git a/examples/git.cool.life/run b/examples/git.cool.life/run new file mode 100644 index 0000000..ee33666 --- /dev/null +++ b/examples/git.cool.life/run @@ -0,0 +1,31 @@ +#!/bin/bash + +set -eu + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +ENV_FILE=$DIR/.env +. $DIR/../../../services/gitea/run --only-source + +site_help() { + echo "./run backup : Lancer la sauvegarde de git.weko.io" +} + +site_backup() { + BACKUP_DATE=`date +%Y%m%d_%H%M%S` + gitea_backup + BACKUP_FILE=~/backups/gitea/${BACKUP_DATE}_gitea_data.tar + scp $SERVER:$BACKUP_FILE backups + ssh $SERVER sudo rm $BACKUP_FILE +} + +if [ $# -ge 1 ]; then + if [ "${1}" == "backup" ]; then + script_start + site_backup + script_end + elif [ "${1}" != "--only-source" ]; then + site_help + fi +else + site_help +fi diff --git a/examples/traefik.cool.life/.env b/examples/traefik.cool.life/.env new file mode 100644 index 0000000..f01f660 --- /dev/null +++ b/examples/traefik.cool.life/.env @@ -0,0 +1,10 @@ +# DOCKER +DOCKER_HOST=ssh://user@monserveur:4242 +COMPOSE_FILE=../../traefik/docker-compose.yml + +# TRAEFIK +TRAEFIK_VOLUME_NAME=kifeart +TRAEFIK_NETWORK_NAME=kifeart +TRAEFIK_CONTAINER_NAME=kifeart +TRAEFIK_IMAGE=traefik:v2.2.1 +TRAEFIK_DOMAIN=traefik.cool.life