prod: new devenv
This commit is contained in:
parent
7c62023e6f
commit
6da1b65915
@ -1,10 +1,10 @@
|
|||||||
# DB Configuration
|
# DB Configuration
|
||||||
DB_DRIVER=pdo_mysql
|
DB_DRIVER=pdo_mysql
|
||||||
DB_HOST=myTube-backend-mysql
|
DB_HOST=mytube-backend-mysql
|
||||||
DB_PORT=3306
|
DB_PORT=3306
|
||||||
DB_USER=myTube
|
DB_USER=mytube
|
||||||
DB_PASSWORD=pass
|
DB_PASSWORD=pass
|
||||||
DB_NAME=myTube
|
DB_NAME=mytube
|
||||||
DB_NAME_LOG=log
|
DB_NAME_LOG=log
|
||||||
|
|
||||||
# MyTube Setup
|
# MyTube Setup
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
||||||
$SCRIPT_DIR/exec build
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
||||||
$SCRIPT_DIR/exec down
|
|
||||||
@ -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)
|
|
||||||
40
bin/script/firstRun
Executable file
40
bin/script/firstRun
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
#!/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
|
||||||
|
|
||||||
|
# Create local config files
|
||||||
|
infomsg '[backend] Creating local config...'
|
||||||
|
cp "$PROJECT_DIR"/config/autoload/monolog.local.php.dist "$PROJECT_DIR"/config/autoload/monolog.local.php
|
||||||
|
cp "$PROJECT_DIR"/config/autoload/doctrine.local.php.dist "$PROJECT_DIR"/config/autoload/doctrine.local.php
|
||||||
|
cp "$PROJECT_DIR"/config/autoload/redis.local.php.dist "$PROJECT_DIR"/config/autoload/redis.local.php
|
||||||
|
successmsg '[backend] Local config done'
|
||||||
|
|
||||||
|
# Install packages
|
||||||
|
infomsg '[backend] Composer install...'
|
||||||
|
drun backend composer install -o
|
||||||
|
successmsg '[backend] Composer install done'
|
||||||
|
|
||||||
|
# Dump autoload
|
||||||
|
infomsg "[backend]: Dump autoload"
|
||||||
|
drun backend composer da
|
||||||
|
successmsg "[backend]: Dump autoload done"
|
||||||
|
|
||||||
|
# Migrate Databases
|
||||||
|
infomsg '[backend] Running migrations...'
|
||||||
|
drun backend composer doctrine migrations:migrate --no-interaction
|
||||||
|
drun backend composer doctrine-log migrations:migrate --no-interaction
|
||||||
|
successmsg '[backend] Migrations done'
|
||||||
|
|
||||||
|
# Seed DB
|
||||||
|
infomsg '[backend] Running seeder...'
|
||||||
|
drun backend composer console init:data
|
||||||
|
drun backend composer console rbac:update
|
||||||
|
successmsg '[backend] Seeding done'
|
||||||
|
|
||||||
|
successmsg '[backend] Initialization script done'
|
||||||
|
|
||||||
@ -2,31 +2,19 @@
|
|||||||
|
|
||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
PROJECT_DIR=$(realpath $SCRIPT_DIR/../../)
|
PROJECT_DIR=$(realpath $SCRIPT_DIR/../../)
|
||||||
ENV_DIR=$(realpath $PROJECT_DIR/../../)
|
ENV_DIR=$(realpath $PROJECT_DIR/../../../)
|
||||||
|
source $ENV_DIR/bin/messages
|
||||||
|
|
||||||
# Check .env file
|
# Check .env file
|
||||||
if [ ! -f "$PROJECT_DIR/.env" ]
|
if [ ! -f "$PROJECT_DIR/.env" ] ; then
|
||||||
then
|
infomsg "[backend] Creating .env"
|
||||||
echo "Create .env file from example..."
|
|
||||||
cp "$PROJECT_DIR/.env.example" "$PROJECT_DIR/.env"
|
cp "$PROJECT_DIR/.env.example" "$PROJECT_DIR/.env"
|
||||||
echo ".env file created, please change variables and call me again"
|
successmsg "[backend] Created .env"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build and start docker containers
|
# Check docker-compose.yml file
|
||||||
$SCRIPT_DIR/exec build
|
if [ ! -f "$PROJECT_DIR/docker/docker-compose.yml" ] ; then
|
||||||
$SCRIPT_DIR/exec up -d
|
infomsg "[backend] Creating docker-compose.yml"
|
||||||
|
cp "$PROJECT_DIR/docker/docker-compose.yml.dist" "$PROJECT_DIR/docker/docker-compose.yml"
|
||||||
# Source drun
|
successmsg "[backend] Creating docker-compose.yml"
|
||||||
source $ENV_DIR/bin/script/drun
|
fi
|
||||||
|
|
||||||
# Install PHP packages
|
|
||||||
drun myTube-backend composer install
|
|
||||||
|
|
||||||
# Migrate databases to current version
|
|
||||||
drun myTube-backend composer dmm
|
|
||||||
drun myTube-backend composer dmlm
|
|
||||||
|
|
||||||
# Insert setup for project after this line
|
|
||||||
drun myTube-backend composer console rbac:update
|
|
||||||
drun myTube-backend composer console init:data
|
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
||||||
$SCRIPT_DIR/exec stop
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
||||||
$SCRIPT_DIR/exec up -d
|
|
||||||
39
bin/script/update
Executable file
39
bin/script/update
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
|
PROJECT_DIR=$(realpath $SCRIPT_DIR/../../)
|
||||||
|
ENV_DIR=$(realpath $PROJECT_DIR/../../../)
|
||||||
|
SYSTEM_ENV_FILE="$PROJECT_DIR/.env"
|
||||||
|
CWD=$(pwd)
|
||||||
|
|
||||||
|
source $ENV_DIR/bin/messages
|
||||||
|
source $ENV_DIR/bin/drun
|
||||||
|
|
||||||
|
# Pull branch in project directory
|
||||||
|
infomsg "[backend]: Git pull"
|
||||||
|
cd "$PROJECT_DIR"
|
||||||
|
git pull
|
||||||
|
successmsg "[backend]: Git pull done"
|
||||||
|
|
||||||
|
# Install packages
|
||||||
|
infomsg '[backend] Composer install...'
|
||||||
|
drun backend composer install -o
|
||||||
|
successmsg '[backend] Composer install done'
|
||||||
|
|
||||||
|
# Dump autoload
|
||||||
|
infomsg "[backend]: Dump autoload"
|
||||||
|
drun backend composer da
|
||||||
|
successmsg "[backend]: Dump autoload done"
|
||||||
|
|
||||||
|
# Migrate Databases
|
||||||
|
infomsg '[backend] Running migrations...'
|
||||||
|
drun backend composer doctrine migrations:migrate --no-interaction
|
||||||
|
drun backend composer doctrine-log migrations:migrate --no-interaction
|
||||||
|
successmsg '[backend] Migrations done'
|
||||||
|
|
||||||
|
# Update permissions
|
||||||
|
infomsg "[backend]: Update roles and permissions"
|
||||||
|
drun backend composer console rbac:update
|
||||||
|
successmsg "[backend]: Update roles and permissions done"
|
||||||
|
|
||||||
|
# Switch back to current working directory
|
||||||
|
cd "$CWD"
|
||||||
@ -81,8 +81,8 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"dmg": "php bin\/doctrine-migrations.php migrations:generate",
|
"dmg": "php bin\/doctrine-migrations.php migrations:generate",
|
||||||
"dmm": "php bin\/doctrine-migrations.php migrations:migrate --no-interaction",
|
"dmm": "php bin\/doctrine-migrations.php migrations:migrate --no-interaction",
|
||||||
"dmlg": "php bin\/doctrine-migrations-log.php migrations:generate",
|
"doctrine": "php bin\/doctrine-migrations.php",
|
||||||
"dmlm": "php bin\/doctrine-migrations-log.php migrations:migrate --no-interaction",
|
"doctrine-log": "php bin\/doctrine-migrations-log.php",
|
||||||
"console": "php bin\/console.php",
|
"console": "php bin\/console.php",
|
||||||
"createApi": "php bin\/createApi.php",
|
"createApi": "php bin\/createApi.php",
|
||||||
"createPipeline": "php bin\/createPipeline.php",
|
"createPipeline": "php bin\/createPipeline.php",
|
||||||
|
|||||||
@ -52,8 +52,8 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"dmg": "php bin/doctrine-migrations.php migrations:generate",
|
"dmg": "php bin/doctrine-migrations.php migrations:generate",
|
||||||
"dmm": "php bin/doctrine-migrations.php migrations:migrate --no-interaction",
|
"dmm": "php bin/doctrine-migrations.php migrations:migrate --no-interaction",
|
||||||
"dmlg": "php bin/doctrine-migrations-log.php migrations:generate",
|
"doctrine": "php bin/doctrine-migrations.php",
|
||||||
"dmlm": "php bin/doctrine-migrations-log.php migrations:migrate --no-interaction",
|
"doctrine-log": "php bin/doctrine-migrations-log.php",
|
||||||
"console": "php bin/console.php",
|
"console": "php bin/console.php",
|
||||||
"createApi": "php bin/createApi.php",
|
"createApi": "php bin/createApi.php",
|
||||||
"createPipeline": "php bin/createPipeline.php",
|
"createPipeline": "php bin/createPipeline.php",
|
||||||
|
|||||||
@ -3,26 +3,9 @@
|
|||||||
return [
|
return [
|
||||||
'api' => [
|
'api' => [
|
||||||
'keys' => [
|
'keys' => [
|
||||||
'myTube' => $_ENV['HOMEPAGE_API_KEY'],
|
|
||||||
'notification' => $_ENV['NOTIFICATION_API_KEY'],
|
|
||||||
],
|
],
|
||||||
|
|
||||||
'services' => [
|
'services' => [
|
||||||
'myTube' => [
|
|
||||||
'host' => 'myTube-backend-nginx',
|
|
||||||
'apis' => [
|
|
||||||
|
|
||||||
]
|
|
||||||
],
|
|
||||||
'notification' => [
|
|
||||||
'host' => 'notification-backend-nginx',
|
|
||||||
'apis' => [
|
|
||||||
'send-mail' => [
|
|
||||||
'path' => '/api/mail/send',
|
|
||||||
'method' => 'POST'
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|||||||
@ -1,51 +0,0 @@
|
|||||||
version: '3'
|
|
||||||
networks:
|
|
||||||
myTube:
|
|
||||||
external: true
|
|
||||||
|
|
||||||
services:
|
|
||||||
myTube-backend-mysql:
|
|
||||||
image: myTube-backend-mysql
|
|
||||||
networks:
|
|
||||||
- myTube
|
|
||||||
build:
|
|
||||||
context: ./../
|
|
||||||
dockerfile: ./docker/mysql/dockerfile
|
|
||||||
volumes:
|
|
||||||
- /Users/flo/dev/backend/myTube/var/db:/var/lib/mysql:z
|
|
||||||
environment:
|
|
||||||
MYSQL_USER: ${DB_USER}
|
|
||||||
MYSQL_PASSWORD: ${DB_PASSWORD}
|
|
||||||
ports:
|
|
||||||
- 3306:3306
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
|
|
||||||
timeout: 20s
|
|
||||||
retries: 10
|
|
||||||
|
|
||||||
myTube-backend-app:
|
|
||||||
image: myTube-backend-app
|
|
||||||
networks:
|
|
||||||
- myTube
|
|
||||||
build:
|
|
||||||
context: ./../
|
|
||||||
dockerfile: ./docker/php/dockerfile
|
|
||||||
volumes:
|
|
||||||
- /Users/flo/dev/backend/myTube/:/var/www/html:z
|
|
||||||
ports:
|
|
||||||
- 9000:9000
|
|
||||||
depends_on:
|
|
||||||
myTube-backend-mysql:
|
|
||||||
condition: service_healthy
|
|
||||||
|
|
||||||
myTube-backend-nginx:
|
|
||||||
image: myTube-backend-nginx
|
|
||||||
networks:
|
|
||||||
- myTube
|
|
||||||
build:
|
|
||||||
context: ./../
|
|
||||||
dockerfile: ./docker/nginx/dockerfile
|
|
||||||
ports:
|
|
||||||
- 8080:80
|
|
||||||
depends_on:
|
|
||||||
- myTube-backend-app
|
|
||||||
@ -1,4 +1,3 @@
|
|||||||
version: '3'
|
|
||||||
networks:
|
networks:
|
||||||
mytube:
|
mytube:
|
||||||
external: true
|
external: true
|
||||||
@ -45,7 +44,9 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: ./../
|
context: ./../
|
||||||
dockerfile: ./docker/nginx/dockerfile
|
dockerfile: ./docker/nginx/dockerfile
|
||||||
ports:
|
labels:
|
||||||
- 8080:80
|
- "traefik.http.routers.backend.rule=(Host(`mytube.srv`) || Host(`192.168.152.60`)) && PathPrefix(`/api`)"
|
||||||
|
- "traefik.http.routers.backend.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.backend.tls.certresolver=le"
|
||||||
depends_on:
|
depends_on:
|
||||||
- mytube-backend-app
|
- mytube-backend-app
|
||||||
@ -1,4 +1,4 @@
|
|||||||
CREATE DATABASE IF NOT EXISTS `log`;
|
CREATE DATABASE IF NOT EXISTS `log`;
|
||||||
CREATE DATABASE IF NOT EXISTS `myTube`;
|
CREATE DATABASE IF NOT EXISTS `mytube`;
|
||||||
|
|
||||||
GRANT ALL PRIVILEGES on *.* to 'myTube'@'%';
|
GRANT ALL PRIVILEGES on *.* to 'mytube'@'%';
|
||||||
Loading…
Reference in New Issue
Block a user