#!/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... # Als erstes linken wir das package mit bun, damit wir z.B. in online-energieausweis darauf zugreifen können. bun link # Dann installieren wir noch einmal alle dependencies, das ist besonders wichtig # falls wir lokal verlinkte Projekte haben, sonst werden die nicht in unser # docker image übernommen bun install # Dann stoppen wir unser altes docker image und bauen es neu. docker stop $APP_NAME docker rm $APP_NAME docker build -t $APP_NAME . # 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; # 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;