diff --git a/docker/frontend/Dockerfile b/docker/frontend/Dockerfile index 78807c3..95e170a 100755 --- a/docker/frontend/Dockerfile +++ b/docker/frontend/Dockerfile @@ -1,6 +1,6 @@ FROM node:20-alpine -WORKDIR /app +WORKDIR /var/www/app/apps/frontend RUN apk add --no-cache git bash diff --git a/docker/frontend/entrypoint.sh b/docker/frontend/entrypoint.sh index 2848be9..46475cb 100755 --- a/docker/frontend/entrypoint.sh +++ b/docker/frontend/entrypoint.sh @@ -1,38 +1,41 @@ #!/bin/sh set -e -FRONTEND_DIR=/app + APP_DIR=/var/www/app -PUBLIC_DIR="$APP_DIR/public" -GIT_URL="https://oauth2:${GIT_TOKEN}@${FRONTEND_GIT_REPO}" +FRONTEND_DIR="$APP_DIR/apps/frontend" +BACKEND_DIR="$APP_DIR/apps/backend" +PUBLIC_DIR="$BACKEND_DIR/public" PHP_HOST="app-php" PHP_PORT=9000 /usr/local/bin/wait-for-it.sh "$PHP_HOST:$PHP_PORT" -t 300 -if [ ! -d "$FRONTEND_DIR/.git" ]; then - git clone -b "${FRONTEND_GIT_BRANCH:-main}" "$GIT_URL" "$FRONTEND_DIR" -else - cd "$FRONTEND_DIR" - git fetch origin - git reset --hard origin/"${FRONTEND_GIT_BRANCH:-main}" -fi - -cp "$APP_DIR/public/index.php" "$FRONTEND_DIR/index.php" - cd "$FRONTEND_DIR" npm ci --prefer-offline --no-audit npm run build -find "$PUBLIC_DIR" -mindepth 1 \ - ! -name 'index.php' \ - ! -name '.htaccess' \ - ! -name 'storage' \ - -delete +if [ -d "$PUBLIC_DIR" ]; then + find "$PUBLIC_DIR" -mindepth 1 \ + ! -name 'index.php' \ + ! -name '.htaccess' \ + ! -name 'storage' \ + -delete +else + mkdir -p "$PUBLIC_DIR" +fi cp -r dist/* "$PUBLIC_DIR/" -if [ ! -L "$PUBLIC_DIR/storage" ] || [ ! -e "$PUBLIC_DIR/storage" ]; then - ln -sfn "$APP_DIR/storage/app/public" "$PUBLIC_DIR/storage" +if [ -f "$PUBLIC_DIR/index.html" ]; then + mkdir -p "$BACKEND_DIR/resources/views" + cp "$PUBLIC_DIR/index.html" "$BACKEND_DIR/resources/views/app.blade.php" + rm "$PUBLIC_DIR/index.html" fi -exit 0 \ No newline at end of file +if [ ! -L "$PUBLIC_DIR/storage" ] && [ ! -e "$PUBLIC_DIR/storage" ]; then + ln -sfn "$BACKEND_DIR/storage/app/public" "$PUBLIC_DIR/storage" +fi + +echo "[FRONTEND BUILD] Build React terminé et déployé dans $PUBLIC_DIR ✅" + +exit 0