merged master into live branch
This commit is contained in:
commit
780d4f5f5b
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
cron/
|
cron/
|
||||||
var/
|
var/
|
||||||
|
|
||||||
|
|||||||
8
.idea/.gitignore
vendored
8
.idea/.gitignore
vendored
@ -1,8 +0,0 @@
|
|||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
# Editor-based HTTP Client requests
|
|
||||||
/httpRequests/
|
|
||||||
# Datasource local storage ignored files
|
|
||||||
/dataSources/
|
|
||||||
/dataSources.local.xml
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="WEB_MODULE" version="4">
|
|
||||||
<component name="NewModuleRootManager">
|
|
||||||
<content url="file://$MODULE_DIR$">
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/backend/auth/data" isTestSource="false" packagePrefix="Authentication" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/backend/bee/data" isTestSource="false" packagePrefix="Bee" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/backend/file/data" isTestSource="false" packagePrefix="File" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/backend/homepage/data" isTestSource="false" packagePrefix="Homepage" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/backend/mytube/data" isTestSource="false" packagePrefix="MyTube" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/backend/notification/data" isTestSource="false" packagePrefix="Notification" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/systems/backend/mytube/data" isTestSource="false" packagePrefix="MyTube" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/dev.iml" filepath="$PROJECT_DIR$/.idea/dev.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="MessDetectorOptionsConfiguration">
|
|
||||||
<option name="transferred" value="true" />
|
|
||||||
</component>
|
|
||||||
<component name="PHPCSFixerOptionsConfiguration">
|
|
||||||
<option name="transferred" value="true" />
|
|
||||||
</component>
|
|
||||||
<component name="PHPCodeSnifferOptionsConfiguration">
|
|
||||||
<option name="highlightLevel" value="WARNING" />
|
|
||||||
<option name="transferred" value="true" />
|
|
||||||
</component>
|
|
||||||
<component name="PhpProjectSharedConfiguration" php_language_level="8.2">
|
|
||||||
<option name="suggestChangeDefaultLanguageLevel" value="false" />
|
|
||||||
</component>
|
|
||||||
<component name="PhpStanOptionsConfiguration">
|
|
||||||
<option name="transferred" value="true" />
|
|
||||||
</component>
|
|
||||||
<component name="PsalmOptionsConfiguration">
|
|
||||||
<option name="transferred" value="true" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="" vcs="Git" />
|
|
||||||
<mapping directory="$PROJECT_DIR$/systems/backend/mytube" vcs="Git" />
|
|
||||||
<mapping directory="$PROJECT_DIR$/systems/frontend/mytube" vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
27
.profile
Normal file
27
.profile
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# set GIT branch in bash
|
||||||
|
parse_git_branch() {
|
||||||
|
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
|
||||||
|
}
|
||||||
|
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ '
|
||||||
|
|
||||||
|
# ssh setup
|
||||||
|
SSH_ENV="$HOME/.ssh/agent-environment"
|
||||||
|
function start_agent {
|
||||||
|
echo "Initialising new SSH agent..."
|
||||||
|
/usr/bin/ssh-agent | sed 's/^echo/#echo/' >"$SSH_ENV"
|
||||||
|
echo succeeded
|
||||||
|
chmod 600 "$SSH_ENV"
|
||||||
|
. "$SSH_ENV" >/dev/null
|
||||||
|
/usr/bin/ssh-add;
|
||||||
|
|
||||||
|
ssh-add ~/.ssh/gitea_ssh
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -f "$SSH_ENV" ]; then
|
||||||
|
. "$SSH_ENV" >/dev/null
|
||||||
|
ps -ef | grep $SSH_AGENT_PID | grep ssh-agent$ >/dev/null || {
|
||||||
|
start_agent
|
||||||
|
}
|
||||||
|
else
|
||||||
|
start_agent
|
||||||
|
fi
|
||||||
10
bin/denv
10
bin/denv
@ -1,12 +1,16 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
ENVIRONMENT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )/../../
|
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../" &> /dev/null && pwd )
|
||||||
|
|
||||||
denv() {
|
denv() {
|
||||||
if [ ! -z $1 ]
|
if [ ! -z $1 ]
|
||||||
then
|
then
|
||||||
$ENVIRONMENT_DIR/$1
|
if [[ "$1" == "setup" ]]; then
|
||||||
|
echo "SETUP IS ONLY ALLOWED ONCE AFTER CLOING THE ENVIRONMENT!!!"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
$ENV_DIR/$1
|
||||||
else
|
else
|
||||||
cd $ENVIRONMENT_DIR
|
cd $ENV_DIR
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
72
bin/dexec
Executable file
72
bin/dexec
Executable file
@ -0,0 +1,72 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
denvexec() {
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
echo "Verwendung: denvexec <docker command>"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local DOCKER_COMMAND="$@"
|
||||||
|
local ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd )
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Directory: ${ENV_DIR}"
|
||||||
|
|
||||||
|
#MAC
|
||||||
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
|
docker compose -f "${ENV_DIR}/docker/docker-compose-mac.yml" $DOCKER_COMMAND
|
||||||
|
echo "done"
|
||||||
|
|
||||||
|
#LINUX
|
||||||
|
elif [[ "$OSTYPE" == "linux-gnu" ]]; then
|
||||||
|
docker compose -f "${ENV_DIR}/docker/docker-compose.yml" $DOCKER_COMMAND
|
||||||
|
echo "done"
|
||||||
|
else
|
||||||
|
echo "Dieses Skript wird auf deinem Gerät nicht unterstützt"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
dexec() {
|
||||||
|
if [ $# -lt 2 ]; then
|
||||||
|
echo "Verwendung: dexec <system> <docker command>"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local systemPart="${1%-*}" # before "-" e.g. auth / bee / etc
|
||||||
|
local typePart="${1##*-}" # after "-" e.g. backend / frontend
|
||||||
|
local SYSTEM_DIR="$typePart/$systemPart"
|
||||||
|
shift # removes first argument
|
||||||
|
local DOCKER_COMMAND="$@"
|
||||||
|
local ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd )
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Directory: ${ENV_DIR}/systems/${SYSTEM_DIR}"
|
||||||
|
|
||||||
|
local DOT_ENV_PATH="${ENV_DIR}/systems/${SYSTEM_DIR}/.env"
|
||||||
|
|
||||||
|
#SET ENV VARIABLES FROM .ENV
|
||||||
|
if [ -e "$DOT_ENV_PATH" ]; then
|
||||||
|
export $(grep -v '^#' "$DOT_ENV_PATH" | xargs)
|
||||||
|
fi
|
||||||
|
|
||||||
|
#MAC
|
||||||
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
|
docker compose -f "${ENV_DIR}/systems/${SYSTEM_DIR}/docker/docker-compose-mac.yml" $DOCKER_COMMAND
|
||||||
|
echo "done"
|
||||||
|
|
||||||
|
#LINUX
|
||||||
|
elif [[ "$OSTYPE" == "linux-gnu" ]]; then
|
||||||
|
docker compose -f "${ENV_DIR}/systems/${SYSTEM_DIR}/docker/docker-compose.yml" $DOCKER_COMMAND
|
||||||
|
echo "done"
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Dieses Skript wird auf deinem Gerät nicht unterstützt"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#UNSET ENV VARIABLES FROM .ENV
|
||||||
|
if [ -e "$DOT_ENV_PATH" ]; then
|
||||||
|
unset $(grep -v '^#' "$DOT_ENV_PATH" | sed -E 's/(.*)=.*/\1/' | xargs)
|
||||||
|
fi
|
||||||
|
}
|
||||||
23
bin/drun
23
bin/drun
@ -1,28 +1,33 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
drun() {
|
drun() {
|
||||||
# Überprüfen, ob die richtige Anzahl Argumente übergeben wurden
|
|
||||||
if [ $# -lt 2 ]; then
|
if [ $# -lt 2 ]; then
|
||||||
echo "Verwendung: drun <Container-Name> <Befehl>"
|
echo "Verwendung: drun <system> <run in docker container>"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Container-Namen extrahieren
|
|
||||||
local CONTAINER_NAME="$1"
|
local CONTAINER_NAME="$1"
|
||||||
shift # Das erste Argument entfernen
|
shift # Das erste Argument entfernen
|
||||||
|
|
||||||
# Den Rest der Argumente als Befehlszeichenfolge zusammenfügen
|
|
||||||
local COMMAND="$@"
|
local COMMAND="$@"
|
||||||
|
|
||||||
# Container-ID mithilfe des Container-Namens finden
|
|
||||||
local CONTAINER_ID=$(docker ps -qf "name=$CONTAINER_NAME-app")
|
local CONTAINER_ID=$(docker ps -qf "name=$CONTAINER_NAME-app")
|
||||||
|
|
||||||
# Überprüfen, ob der Container gefunden wurde
|
|
||||||
if [ -z "$CONTAINER_ID" ]; then
|
if [ -z "$CONTAINER_ID" ]; then
|
||||||
echo "Container '$CONTAINER_NAME' wurde nicht gefunden."
|
echo "Container '$CONTAINER_NAME' wurde nicht gefunden."
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Befehl im Container ausführen
|
|
||||||
docker exec -it "$CONTAINER_ID" $COMMAND
|
docker exec -it "$CONTAINER_ID" $COMMAND
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_drun_completion() {
|
||||||
|
local cur prev opts
|
||||||
|
COMPREPLY=()
|
||||||
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||||
|
opts="start stop restart status"
|
||||||
|
|
||||||
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
complete -F _drun_completion drun
|
||||||
@ -1,19 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
COMMAND="$@"
|
|
||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
||||||
|
|
||||||
echo "Execute ${COMMAND} in denv"
|
|
||||||
|
|
||||||
#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
|
|
||||||
@ -1,20 +1,30 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
EXEC_DIR=$(pwd)
|
COMMAND="$@"
|
||||||
FILE_TO_EXECUTE=$1
|
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../.." &> /dev/null && pwd )
|
||||||
|
|
||||||
if [ ! -z $1 ]
|
source ${ENV_DIR}/bin/dexec
|
||||||
then
|
|
||||||
echo "Execute " $1 " in each system"
|
if [ $# -lt 1 ]; then
|
||||||
else
|
echo "Verwendung: foreachSystem up -d"
|
||||||
echo "Execute foreachSystem failed, because no parameter was provided"
|
return 1
|
||||||
exit
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
for SYSTEM in systems/*/*/ ; do
|
for SYSTEM in $ENV_DIR/systems/*/*/ ; do
|
||||||
echo "executing ${FILE_TO_EXECUTE} in ${SYSTEM}"
|
relative_path="${SYSTEM#*/systems/}"
|
||||||
cd $SYSTEM
|
relative_path="${relative_path%/}"
|
||||||
./bin/script/$FILE_TO_EXECUTE
|
|
||||||
cd $EXEC_DIR
|
typePart="${relative_path%/*}" # before "/" eg. backend / frontend
|
||||||
|
systemPart="${relative_path##*/}" # after "/" eg. bee / auth / etc
|
||||||
|
SYSTEM_CODE="$systemPart-$typePart"
|
||||||
|
DENV_COMMAND="dexec"
|
||||||
|
|
||||||
|
if [[ "$COMMAND" == "init" ]]; then
|
||||||
|
$ENV_DIR/systems/$typePart/$systemPart/bin/script/init
|
||||||
|
elif [[ "$COMMAND" == "update" ]]; then
|
||||||
|
$ENV_DIR/systems/$typePart/$systemPart/bin/script/update
|
||||||
|
else
|
||||||
|
$DENV_COMMAND $SYSTEM_CODE $COMMAND
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
@ -1,10 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
docker stop $(docker ps -aq)
|
|
||||||
|
|
||||||
docker system prune -f
|
|
||||||
|
|
||||||
docker network create homepage
|
|
||||||
|
|
||||||
./pull
|
|
||||||
./bin/script/init
|
|
||||||
@ -2,13 +2,9 @@
|
|||||||
|
|
||||||
EXEC_DIR=$(pwd)
|
EXEC_DIR=$(pwd)
|
||||||
|
|
||||||
echo "Execute git pull in each system"
|
echo "Execute git pull in each system"
|
||||||
|
|
||||||
#echo "denv"
|
|
||||||
#git pull
|
|
||||||
|
|
||||||
for SYSTEM in $EXEC_DIR/systems/*/*/ ; do
|
for SYSTEM in $EXEC_DIR/systems/*/*/ ; do
|
||||||
echo $SYSTEM
|
|
||||||
cd $SYSTEM
|
cd $SYSTEM
|
||||||
git pull
|
git pull
|
||||||
cd $EXEC_DIR
|
cd $EXEC_DIR
|
||||||
|
|||||||
@ -1,54 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo $OSTYPE
|
|
||||||
|
|
||||||
#MAC
|
|
||||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
||||||
home="$HOME"
|
|
||||||
|
|
||||||
#LINUX
|
|
||||||
elif [[ "$OSTYPE" == "linux-gnu" ]]; then
|
|
||||||
home="$HOME"
|
|
||||||
else
|
|
||||||
echo "Dieses Skript wird nicht unter macOS oder Linux unterstützt."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
script_path=$(pwd)
|
|
||||||
environment=$(basename $script_path)
|
|
||||||
|
|
||||||
echo "source ~/$environment/bin/script/denv" >> ~/.profile
|
|
||||||
echo "source ~/$environment/bin/script/drun" >> ~/.profile
|
|
||||||
echo "source ~/$environment/bin/script/git" >> ~/.profile
|
|
||||||
|
|
||||||
echo Running in $script_path
|
|
||||||
echo environment = $environment
|
|
||||||
|
|
||||||
# $1 = frontend/backend
|
|
||||||
# $2 = repo name
|
|
||||||
fetch_repository() {
|
|
||||||
if [ ! -d "$1" ];
|
|
||||||
then
|
|
||||||
echo "Create $1"
|
|
||||||
mkdir -p "$1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd $1
|
|
||||||
|
|
||||||
if [ ! -d "$2" ];
|
|
||||||
then
|
|
||||||
gh repo clone TheFlawww/$2-$1 $2
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd $script_path
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#fetch all backends
|
|
||||||
fetch_repository backend weedkeeper
|
|
||||||
|
|
||||||
#fetch all frontends
|
|
||||||
fetch_repository frontend weedkeeper
|
|
||||||
|
|
||||||
# initialize
|
|
||||||
./bin/script/init
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
||||||
|
|
||||||
$SCRIPT_DIR/pull
|
|
||||||
source $SCRIPT_DIR/../source
|
|
||||||
|
|
||||||
drun weedkeeper-backend composer da
|
|
||||||
drun weedkeeper-backend composer install
|
|
||||||
drun weedkeeper-backend composer dmm
|
|
||||||
drun weedkeeper-backend composer console rbac:update
|
|
||||||
|
|
||||||
drun weedkeeper-frontend npm i
|
|
||||||
drun weedkeeper-frontend npm run build
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
||||||
|
|
||||||
source $SCRIPT_DIR/denv
|
|
||||||
source $SCRIPT_DIR/drun
|
|
||||||
source $SCRIPT_DIR/git
|
|
||||||
10
build
10
build
@ -1,4 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
./bin/script/exec build
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
./bin/script/foreachSystem build
|
|
||||||
|
source $SCRIPT_DIR/bin/denv
|
||||||
|
source $SCRIPT_DIR/bin/dexec
|
||||||
|
source $SCRIPT_DIR/bin/drun
|
||||||
|
|
||||||
|
denvexec build
|
||||||
|
$SCRIPT_DIR/bin/script/foreachSystem build
|
||||||
|
|||||||
2
cron/.gitignore
vendored
Normal file
2
cron/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*
|
||||||
|
!.gitignore
|
||||||
2
docker/.gitignore
vendored
2
docker/.gitignore
vendored
@ -1 +1,3 @@
|
|||||||
letsencrypt/*
|
letsencrypt/*
|
||||||
|
docker-compose-mac.yml
|
||||||
|
docker-compose.yml
|
||||||
@ -1,12 +1,12 @@
|
|||||||
networks:
|
networks:
|
||||||
weedkeeper:
|
template:
|
||||||
name: weedkeeper
|
name: template
|
||||||
|
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: traefik:v3.0
|
image: traefik:v3.0
|
||||||
networks:
|
networks:
|
||||||
- weedkeeper
|
- template
|
||||||
command:
|
command:
|
||||||
- "--providers.docker=true"
|
- "--providers.docker=true"
|
||||||
- "--entrypoints.web.address=:80"
|
- "--entrypoints.web.address=:80"
|
||||||
@ -24,4 +24,4 @@ services:
|
|||||||
- "./letsencrypt:/letsencrypt"
|
- "./letsencrypt:/letsencrypt"
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||||
labels:
|
labels:
|
||||||
- "traefik.http.routers.traefik.rule=Host(`traefik.weedkeeper.de`)"
|
- "traefik.http.routers.traefik.rule=Host(`traefik.template.local`)"
|
||||||
27
docker/docker-compose.yml.dist
Normal file
27
docker/docker-compose.yml.dist
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
networks:
|
||||||
|
template:
|
||||||
|
name: template
|
||||||
|
|
||||||
|
services:
|
||||||
|
traefik:
|
||||||
|
image: traefik:v3.0
|
||||||
|
networks:
|
||||||
|
- template
|
||||||
|
command:
|
||||||
|
- "--providers.docker=true"
|
||||||
|
- "--entrypoints.web.address=:80"
|
||||||
|
- "--entrypoints.web.http.redirections.entrypoint.to=websecure"
|
||||||
|
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
|
||||||
|
- "--entrypoints.websecure.address=:443"
|
||||||
|
- "--certificatesresolvers.le.acme.tlschallenge=true"
|
||||||
|
- "--certificatesresolvers.le.acme.email=florian_feistel@outlook.de"
|
||||||
|
- "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
- "8080:8080"
|
||||||
|
volumes:
|
||||||
|
- "./letsencrypt:/letsencrypt"
|
||||||
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||||
|
labels:
|
||||||
|
- "traefik.http.routers.traefik.rule=Host(`traefik.template.local`)"
|
||||||
13
docker/install
Executable file
13
docker/install
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install ca-certificates curl gnupg
|
||||||
|
sudo install -m 0755 -d /etc/apt/keyrings
|
||||||
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||||
|
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
echo \
|
||||||
|
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
||||||
|
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
|
||||||
|
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
|
||||||
|
sudo apt install docker-compose -y
|
||||||
|
sudo usermod -aG docker $USER
|
||||||
10
down
10
down
@ -1,4 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
./bin/script/exec down
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
./bin/script/foreachSystem down
|
|
||||||
|
source $SCRIPT_DIR/bin/denv
|
||||||
|
source $SCRIPT_DIR/bin/dexec
|
||||||
|
source $SCRIPT_DIR/bin/drun
|
||||||
|
|
||||||
|
$SCRIPT_DIR/bin/script/foreachSystem down
|
||||||
|
denvexec down
|
||||||
33
init
33
init
@ -1,4 +1,33 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
./bin/script/exec init
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
./bin/script/foreachSystem init
|
|
||||||
|
source $SCRIPT_DIR/bin/denv
|
||||||
|
source $SCRIPT_DIR/bin/dexec
|
||||||
|
source $SCRIPT_DIR/bin/drun
|
||||||
|
|
||||||
|
EXIT=0
|
||||||
|
|
||||||
|
# Check docker-compose.yml file
|
||||||
|
if [ ! -f "$SCRIPT_DIR/docker/docker-compose.yml" ]
|
||||||
|
then
|
||||||
|
cp "$SCRIPT_DIR/docker/docker-compose.yml.dist" "$SCRIPT_DIR/docker/docker-compose.yml"
|
||||||
|
EXIT=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check docker-compose-mac.yml file
|
||||||
|
if [ ! -f "$SCRIPT_DIR/docker/docker-compose-mac.yml" ]
|
||||||
|
then
|
||||||
|
cp "$SCRIPT_DIR/docker/docker-compose-mac.yml.dist" "$SCRIPT_DIR/docker/docker-compose-mac.yml"
|
||||||
|
EXIT=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ $EXIT -eq 1 ]
|
||||||
|
then
|
||||||
|
echo "docker-compose files created, please change variables and call init again"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
denvexec up -d
|
||||||
|
$SCRIPT_DIR/bin/script/foreachSystem init
|
||||||
|
|||||||
@ -1,37 +0,0 @@
|
|||||||
import asyncio
|
|
||||||
import json
|
|
||||||
from datetime import datetime
|
|
||||||
from bleak import BleakScanner
|
|
||||||
|
|
||||||
async def handle_discovery(device, advertisement_data):
|
|
||||||
if device.address == "DB:17:6C:7D:81:F6":
|
|
||||||
keys = list(advertisement_data.manufacturer_data.keys())
|
|
||||||
humKey = keys[len(keys)-1]
|
|
||||||
battery = humKey & 0xFF
|
|
||||||
temperature = (humKey >> 8)/10.0
|
|
||||||
if humKey < 32767: #If Key is bigger than a smallint, temperature is lower than one byte (256)
|
|
||||||
temperature = temperature + 25.6
|
|
||||||
|
|
||||||
data = {}
|
|
||||||
data['temp'] = temperature
|
|
||||||
data['battery'] = battery / 256.0;
|
|
||||||
data['humid'] = advertisement_data.manufacturer_data[humKey][1]
|
|
||||||
data['timestamp'] = datetime.now().strftime("%d.%m.%Y %H:%M:%S")
|
|
||||||
|
|
||||||
jsonString = json.dumps(data)
|
|
||||||
with open("/home/flo/local-weedkeeper/systems/backend/weedkeeper/var/temperature.data", "a") as dataFile:
|
|
||||||
dataFile.write(jsonString+",\n")
|
|
||||||
#print(jsonString)
|
|
||||||
await scanner.stop()
|
|
||||||
|
|
||||||
async def scan():
|
|
||||||
global scanner
|
|
||||||
scanner = BleakScanner(handle_discovery)
|
|
||||||
await scanner.start()
|
|
||||||
await asyncio.sleep(10)
|
|
||||||
await scanner.stop()
|
|
||||||
|
|
||||||
async def main():
|
|
||||||
await scan()
|
|
||||||
|
|
||||||
asyncio.run(main())
|
|
||||||
33
setup
Executable file
33
setup
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# THIS SCRIPT NEEDS TO BE EXECUTED FIRST AFTER CLONING THE ENVIRONMENT AND SHALL NEVER BE EXECUTED AGAIN
|
||||||
|
# IT SETS UP THE ENVIRONMENT IN THE PROFILE TO ENABLE CORE COMMANDS LIKE denv drun dexec
|
||||||
|
|
||||||
|
# MAC
|
||||||
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
|
home="$HOME"
|
||||||
|
|
||||||
|
# LINUX
|
||||||
|
elif [[ "$OSTYPE" == "linux-gnu" ]]; then
|
||||||
|
home="$HOME"
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Dieses Skript wird auf deinem Gerät nicht unterstützt"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
|
|
||||||
|
echo "Setup dev-env..."
|
||||||
|
|
||||||
|
echo "Adding sourcing of environment commands to .profile"
|
||||||
|
echo "" >> ~/.profile
|
||||||
|
echo "# denv commands setup" >> ~/.profile
|
||||||
|
echo "source $ENV_DIR/bin/denv" >> ~/.profile
|
||||||
|
echo "source $ENV_DIR/bin/drun" >> ~/.profile
|
||||||
|
echo "source $ENV_DIR/bin/dexec" >> ~/.profile
|
||||||
|
echo "source $ENV_DIR/bin/git" >> ~/.profile
|
||||||
|
|
||||||
|
echo "appending dev-env .profile to .profile"
|
||||||
|
echo "" >> ~/.profile
|
||||||
|
cat .profile >> ~/.profile
|
||||||
10
stop
10
stop
@ -1,4 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
./bin/script/exec stop
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
./bin/script/foreachSystem stop
|
|
||||||
|
source $SCRIPT_DIR/bin/denv
|
||||||
|
source $SCRIPT_DIR/bin/dexec
|
||||||
|
source $SCRIPT_DIR/bin/drun
|
||||||
|
|
||||||
|
$SCRIPT_DIR/bin/script/foreachSystem stop
|
||||||
|
denvexec stop
|
||||||
|
|||||||
10
up
10
up
@ -1,4 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
./bin/script/exec up -d
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
./bin/script/foreachSystem up
|
|
||||||
|
source $SCRIPT_DIR/bin/denv
|
||||||
|
source $SCRIPT_DIR/bin/dexec
|
||||||
|
source $SCRIPT_DIR/bin/drun
|
||||||
|
|
||||||
|
denvexec up -d
|
||||||
|
$SCRIPT_DIR/bin/script/foreachSystem up -d
|
||||||
|
|||||||
33
update
Executable file
33
update
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
|
|
||||||
|
source $SCRIPT_DIR/bin/denv
|
||||||
|
source $SCRIPT_DIR/bin/dexec
|
||||||
|
source $SCRIPT_DIR/bin/drun
|
||||||
|
|
||||||
|
EXIT=0
|
||||||
|
|
||||||
|
# Check docker-compose.yml file
|
||||||
|
if [ ! -f "$SCRIPT_DIR/docker/docker-compose.yml" ]
|
||||||
|
then
|
||||||
|
cp "$SCRIPT_DIR/docker/docker-compose.yml.dist" "$SCRIPT_DIR/docker/docker-compose.yml"
|
||||||
|
EXIT=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check docker-compose-mac.yml file
|
||||||
|
if [ ! -f "$SCRIPT_DIR/docker/docker-compose-mac.yml" ]
|
||||||
|
then
|
||||||
|
cp "$SCRIPT_DIR/docker/docker-compose-mac.yml.dist" "$SCRIPT_DIR/docker/docker-compose-mac.yml"
|
||||||
|
EXIT=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ $EXIT -eq 1 ]
|
||||||
|
then
|
||||||
|
echo "docker-compose files created, please change variables and call update again"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
denvexec up -d
|
||||||
|
$SCRIPT_DIR/bin/script/foreachSystem update
|
||||||
Loading…
Reference in New Issue
Block a user