From d40ca3b1d1cc8d3492a3ca6262aa4fcf9a8c95dc Mon Sep 17 00:00:00 2001 From: valere Date: Mon, 2 Feb 2026 12:00:57 +0100 Subject: [PATCH] sub domain deploy for branches 2 --- .env | 7 +++++++ .github/scripts/setup-env.sh | 25 +++++++++++++++++++++++++ .github/workflows/deploy.yml | 21 +++++++++------------ 3 files changed, 41 insertions(+), 12 deletions(-) create mode 100644 .github/scripts/setup-env.sh diff --git a/.env b/.env index 38e1b1e..c14206b 100755 --- a/.env +++ b/.env @@ -1,3 +1,10 @@ DOMAIN=evilspins.com PORT=7901 PORT_EXPOSED=3000 +PATH_FILES=mnt/media/files/music +PATH_DB=data/music.db +EXT_TRACK=mp3 +EXT_COVER=jpg +URL_PREFIX=https://files.erudi.fr/music/ +NODE_ENV=production +ENABLE_WATCHER=true diff --git a/.github/scripts/setup-env.sh b/.github/scripts/setup-env.sh new file mode 100644 index 0000000..2b37a83 --- /dev/null +++ b/.github/scripts/setup-env.sh @@ -0,0 +1,25 @@ +#!/bin/bash +set -e # Arrête le script en cas d'erreur + +# Charge les variables d'environnement +set -a && source .env && set +a + +# Variables GitHub +REPO_NAME="${GITHUB_REPOSITORY##*/}" +BRANCH_NAME=$GITHUB_REF_NAME +APP_DIR="/var/docker-web/apps/$REPO_NAME" + +# Configuration pour les branches non-principales +if [ "$BRANCH_NAME" != "main" ] && [ "$BRANCH_NAME" != "master" ]; then + sed -i "s/DOMAIN=.*/DOMAIN=$BRANCH_NAME.$DOMAIN/" .env + sed -i "s/container_name: evilspins/container_name: $BRANCH_NAME.$DOMAIN/" docker-compose.yml + REPO_NAME=$BRANCH_NAME.$DOMAIN +fi + +# Recharge les variables après modification +set -a && source .env && set +a + +# Exporte pour les steps suivants +echo "REPO_NAME=$REPO_NAME" >> $GITHUB_ENV +echo "APP_DIR=$APP_DIR" >> $GITHUB_ENV +echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 25697e9..3eb5343 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -9,18 +9,12 @@ jobs: - /var/docker-web:/var/docker-web steps: - uses: actions/checkout@v4 - - name: Prepare and build app + - name: Setup environment + run: | + chmod +x .github/scripts/setup-env.sh + .github/scripts/setup-env.sh + - name: Build app run: | - set -a && source .env && set +a - REPO_NAME="${GITHUB_REPOSITORY##*/}" - BRANCH_NAME=$GITHUB_REF_NAME - APP_DIR="/var/docker-web/apps/$REPO_NAME" - - if [ "$BRANCH_NAME" != "main" ] && [ "$BRANCH_NAME" != "master" ]; then - sed -i "s/DOMAIN=.*/DOMAIN=$BRANCH_NAME.$DOMAIN/" .env - fi - set -a && source .env && set +a - bash /var/docker-web/src/cli.sh down "${REPO_NAME}" rm -rf "$APP_DIR" mkdir "$APP_DIR" @@ -37,7 +31,10 @@ jobs: - /var/docker-web:/var/docker-web steps: - uses: actions/checkout@v4 + - name: Setup environment for deploy + run: | + chmod +x .github/scripts/setup-env.sh + .github/scripts/setup-env.sh - name: Deploy with docker-web run: | - REPO_NAME="${GITHUB_REPOSITORY##*/}" bash /var/docker-web/src/cli.sh up "${REPO_NAME}"