#!/bin/bash # Define your environment variables here APP_NAME="online-energieausweis" APP_PORT=3000 DB_CONTAINER_NAME="database" DB_NAME="main" DB_USER="main" DB_PASSWORD="hHMP8cd^N3SnzGRR" DB_PORT=5432 # Wir gehen davon aus, dass die Änderungen bereits von GitHub gepullt wurden # Dieses Skript ist nur dafür gedacht, von GitHub bei einer Automation # ausgeführt zu werden. Außerdem würde es nicht wirklich Sinn ergeben, wenn das # Build Skript sich die Änderungen am build Skript holen würde... # Wir müssen alle lokalen Pakete verlinken # --------------------------------- Database --------------------------------- # cd ../database bun link bun install # ------------------------------------ API ----------------------------------- # cd ../api bun install bun link @ibcornelsen/database # ------------------------------------ APP ----------------------------------- # cd ../$APP_NAME bun install bun link @ibcornelsen/database # Jeder unserer Applikationen hat ein Verzeichnis in dem alle Dateien dauerhaft, # Versionsunabhängig gespeichert werden. Dieses legen wir hier an, falls es noch # nicht existiert. PERSISTENT_DIR="${HOME}/persistent/${APP_NAME}"; mkdir -p $PERSISTENT_DIR; # TODO: Wir legen hier die .env Datei an, die die SSL Zertifikate enthält. rm -f ~/$APP_NAME/.env; touch ~/$APP_NAME/.env; echo "PRIVATE_KEY=$(cat /etc/letsencrypt/live/ibcornelsen.de/privkey.pem | base64 | tr -d '\n')" >> ~/$APP_NAME/.env; echo "CERTIFICATE=$(cat /etc/letsencrypt/live/ibcornelsen.de/fullchain.pem | base64 | tr -d '\n')" >> ~/$APP_NAME/.env; # Wir müssen sichergehen, dass der Database Container läuft, sonst können wir ihn nicht linken. if [ ! $((docker ps | grep $DB_CONTAINER_NAME) | wc -l) -gt 0 ]; then cd ../database; bash build.sh; cd ../$APP_NAME; fi # Auch die API sollte bereits laufen if [ ! $((pm2 pid api | wc -l)) -gt 0 ]; then cd ../api; make prod; cd ../$APP_NAME; fi # Jetzt wo wir alle Vorbereitungen getroffen haben, starten wir das Docker Image und linken es mit der Datenbank. # docker run -d --name $APP_NAME --link $DB_CONTAINER_NAME \ # -v "${PERSISTENT_DIR}:/persistent" \ # -v "./node_modules/@ibcornelsen/database:/${APP_NAME}/node_modules/@ibcornelsen/database" \ # -v "./node_modules/@ibcornelsen/api:/${APP_NAME}/node_modules/@ibcornelsen/api" \ # -v "./node_modules/@ibcornelsen/ui:/${APP_NAME}/node_modules/@ibcornelsen/ui" \ # -p "${APP_PORT}:3000" \ # $APP_NAME; bun run dev