prod: new devenv

This commit is contained in:
Flo 2025-10-31 17:09:38 +01:00
parent 93ab4635b3
commit fa2e7e4e1c
10 changed files with 59 additions and 83 deletions

View File

@ -1,3 +0,0 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
$SCRIPT_DIR/exec build

View File

@ -1,3 +0,0 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
$SCRIPT_DIR/exec down

View File

@ -1,23 +0,0 @@
#!/bin/bash
COMMAND="$@"
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
#LOAD ENV VARIABLES FROM .ENV
#export $(grep -v '^#' "${SCRIPT_DIR}/../../.env" | xargs)
#MAC
if [[ "$OSTYPE" == "darwin"* ]]; then
docker compose -f "${SCRIPT_DIR}/../../docker/docker-compose-mac.yml" $COMMAND
#LINUX
elif [[ "$OSTYPE" == "linux-gnu" ]]; then
docker compose -f "${SCRIPT_DIR}/../../docker/docker-compose.yml" $COMMAND
else
echo "Dieses Skript wird auf deinem Gerät nicht unterstützt"
exit 1
fi
#UNSET ENV VARIABLES FROM .ENV
#unset $(grep -v '^#' "${SCRIPT_DIR}/../../.env" | sed -E 's/(.*)=.*/\1/' | xargs)

18
bin/script/firstRun Executable file
View File

@ -0,0 +1,18 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
PROJECT_DIR=$(realpath $SCRIPT_DIR/../../)
ENV_DIR=$(realpath $PROJECT_DIR/../../../)
source $ENV_DIR/bin/messages
source $ENV_DIR/bin/drun
# Install node Packages
infomsg "[frontend]: NPM install"
drun frontend npm install
successmsg "[frontend]: NPM install done"
# Initial build of website
infomsg "[frontend]: NPM run build"
drun frontend npm run build
successmsg "[frontend]: NPM run build done"

View File

@ -2,18 +2,13 @@
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
PROJECT_DIR=$(realpath $SCRIPT_DIR/../../)
ENV_DIR=$(realpath $PROJECT_DIR/../../)
ENV_DIR=$(realpath $PROJECT_DIR/../../../)
# Build and start docker containers
$SCRIPT_DIR/exec build
$SCRIPT_DIR/exec up -d
source $ENV_DIR/bin/messages
# Source drun
source $ENV_DIR/bin/script/drun
# Install node Packages
drun mytube-frontend npm install
drun mytube-frontend npm install -g @angular/cli
# Initial build of website
drun mytube-frontend npm run build
# Check docker-compose.yml file
if [ ! -f "$PROJECT_DIR/docker/docker-compose.yml" ] ; then
infomsg "[frontend] Creating docker-compose.yml"
cp "$PROJECT_DIR/docker/docker-compose.yml.dist" "$PROJECT_DIR/docker/docker-compose.yml"
successmsg "[frontend] Created docker-compose.yml"
fi

View File

@ -1,3 +0,0 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
$SCRIPT_DIR/exec stop

View File

@ -1,3 +0,0 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
$SCRIPT_DIR/exec up -d

29
bin/script/update Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
PROJECT_DIR=$(realpath $SCRIPT_DIR/../../)
ENV_DIR=$(realpath $PROJECT_DIR/../../../)
CWD=$(pwd)
source $ENV_DIR/bin/messages
source $ENV_DIR/bin/drun
# Pull branch in project directory
infomsg "[frontend]: Git pull"
cd "$PROJECT_DIR"
git pull
successmsg "[frontend]: Git pull done"
# Install node Packages
infomsg "[frontend]: NPM install"
drun frontend npm install
successmsg "[frontend]: NPM install done"
# Initial build of website
infomsg "[frontend]: NPM run build"
drun frontend npm run build
successmsg "[frontend]: NPM run build done"
# Switch back to current working directory
cd "$CWD"

View File

@ -1,31 +0,0 @@
version: '3'
networks:
mytube:
external: true
services:
mytube-frontend-app:
image: mytube-frontend-app
networks:
- mytube
volumes:
- /Users/flo/dev/frontend/mytube/:/var/www/
build:
context: ./../
dockerfile: ./docker/npm/dockerfile
tty: true
mytube-frontend-nginx:
image: mytube-frontend-nginx
networks:
- mytube
volumes:
- /Users/flo/dev/frontend/mytube/:/var/www/html:z
build:
context: ./../
dockerfile: ./docker/nginx/dockerfile
ports:
- 80:80
depends_on:
- mytube-frontend-app

View File

@ -1,5 +1,3 @@
version: '3'
networks:
mytube:
external: true
@ -25,7 +23,9 @@ services:
build:
context: ./../
dockerfile: ./docker/nginx/dockerfile
ports:
- 80:80
labels:
- "traefik.http.routers.frontend.rule=Host(`mytube.srv`) || Host(`192.168.152.60`)"
- "traefik.http.routers.frontend.entrypoints=websecure"
- "traefik.http.routers.frontend.tls.certresolver=le"
depends_on:
- mytube-frontend-app