Build: Docker: Fixed docker build scripts and .env

This commit is contained in:
Ilya Oleshko 2023-09-29 16:50:36 +03:00
parent bb5b8cccdd
commit e02510be1d
6 changed files with 33 additions and 37 deletions

View File

@ -13,8 +13,6 @@ $LocalIp = (Get-CimInstance -ClassName Win32_NetworkAdapterConfiguration | Where
$Doceditor = ($LocalIp + ":5013") $Doceditor = ($LocalIp + ":5013")
$Login = ($LocalIp + ":5011") $Login = ($LocalIp + ":5011")
$Client = ($LocalIp + ":5001") $Client = ($LocalIp + ":5001")
$Oauth_api = ($LocalIp + ":9090")
$Oauth = ($LocalIp + ":8080")
$PortalUrl = ("http://" + $LocalIp) $PortalUrl = ("http://" + $LocalIp)
$ProxyVersion="v1.0.0" $ProxyVersion="v1.0.0"
@ -57,9 +55,6 @@ if ($args[0] -eq "--community" ) {
$Env:INSTALLATION_TYPE = "COMMUNITY" $Env:INSTALLATION_TYPE = "COMMUNITY"
} }
Write-Host "Run OAuth2" -ForegroundColor Green
docker compose -f "$DockerDir\oauth2.yml" up -d
Set-Location -Path $RootDir Set-Location -Path $RootDir
$DotnetVersion = "dev" $DotnetVersion = "dev"
@ -73,21 +68,21 @@ $ExistsProxy= docker images --format "{{.Repository}}:{{.Tag}}" | findstr "onlyo
if (!$ExistsDotnet -or $Force) { if (!$ExistsDotnet -or $Force) {
Write-Host "Build dotnet base image from source (apply new dotnet config)" -ForegroundColor Green Write-Host "Build dotnet base image from source (apply new dotnet config)" -ForegroundColor Green
docker build -t "onlyoffice/4testing-docspace-dotnet-runtime:$DotnetVersion" -f "$DockerDir\Dockerfile.runtime" --target dotnetrun . docker build -t "onlyoffice/4testing-docspace-dotnet-runtime:$DotnetVersion" -f "$DockerDir\Dockerfile.runtime" --target dotnetrun .
} else { } else {
Write-Host "SKIP build dotnet base image (already exists)" -ForegroundColor Blue Write-Host "SKIP build dotnet base image (already exists)" -ForegroundColor Blue
} }
if (!$ExistsNode -or $Force) { if (!$ExistsNode -or $Force) {
Write-Host "Build node base image from source" -ForegroundColor Green Write-Host "Build node base image from source" -ForegroundColor Green
docker build -t "onlyoffice/4testing-docspace-nodejs-runtime:$NodeVersion" -f "$DockerDir\Dockerfile.runtime" --target noderun . docker build -t "onlyoffice/4testing-docspace-nodejs-runtime:$NodeVersion" -f "$DockerDir\Dockerfile.runtime" --target noderun .
} else { } else {
Write-Host "SKIP build node base image (already exists)" -ForegroundColor Blue Write-Host "SKIP build node base image (already exists)" -ForegroundColor Blue
} }
if (!$ExistsProxy -or $Force) { if (!$ExistsProxy -or $Force) {
Write-Host "Build proxy base image from source (apply new nginx config)" -ForegroundColor Green Write-Host "Build proxy base image from source (apply new nginx config)" -ForegroundColor Green
docker build -t "onlyoffice/4testing-docspace-proxy-runtime:$ProxyVersion" -f "$DockerDir\Dockerfile.runtime" --target router . docker build -t "onlyoffice/4testing-docspace-proxy-runtime:$ProxyVersion" -f "$DockerDir\Dockerfile.runtime" --target router .
} else { } else {
Write-Host "SKIP build proxy base image (already exists)" -ForegroundColor Blue Write-Host "SKIP build proxy base image (already exists)" -ForegroundColor Blue
} }
@ -99,8 +94,6 @@ $Env:Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:$ProxyVersi
$Env:SERVICE_DOCEDITOR=$Doceditor $Env:SERVICE_DOCEDITOR=$Doceditor
$Env:SERVICE_LOGIN=$Login $Env:SERVICE_LOGIN=$Login
$Env:SERVICE_CLIENT=$Client $Env:SERVICE_CLIENT=$Client
$Env:SERVICE_OAUTH_API=$Oauth_api
$Env:SERVICE_OAUTH=$Oauth
$Env:ROOT_DIR=$RootDir $Env:ROOT_DIR=$RootDir
$Env:BUILD_PATH="/var/www" $Env:BUILD_PATH="/var/www"
$Env:SRC_PATH="$RootDir\publish\services" $Env:SRC_PATH="$RootDir\publish\services"
@ -108,14 +101,16 @@ $Env:DATA_DIR="$RootDir\Data"
$Env:APP_URL_PORTAL=$PortalUrl $Env:APP_URL_PORTAL=$PortalUrl
docker compose -f "$DockerDir\docspace.profiles.yml" -f "$DockerDir\docspace.overcome.yml" --profile migration-runner --profile backend-local up -d docker compose -f "$DockerDir\docspace.profiles.yml" -f "$DockerDir\docspace.overcome.yml" --profile migration-runner --profile backend-local up -d
Write-Host "Run OAuth2" -ForegroundColor Green
$Env:DOCSPACE_ADDRESS=$LocalIp
docker compose -f "$DockerDir\oauth2.yml" up -d
Write-Host "== Build params ==" -ForegroundColor Green Write-Host "== Build params ==" -ForegroundColor Green
Write-Host "APP_URL_PORTAL: $PortalUrl" -ForegroundColor Blue Write-Host "APP_URL_PORTAL: $PortalUrl" -ForegroundColor Blue
Write-Host "LOCAL IP: $LocalIp" -ForegroundColor Blue Write-Host "LOCAL IP: $LocalIp" -ForegroundColor Blue
Write-Host "SERVICE_DOCEDITOR: $Env:SERVICE_DOCEDITOR" -ForegroundColor Blue Write-Host "SERVICE_DOCEDITOR: $Env:SERVICE_DOCEDITOR" -ForegroundColor Blue
Write-Host "SERVICE_LOGIN: $Env:SERVICE_LOGIN" -ForegroundColor Blue Write-Host "SERVICE_LOGIN: $Env:SERVICE_LOGIN" -ForegroundColor Blue
Write-Host "SERVICE_CLIENT: $Env:SERVICE_CLIENT" -ForegroundColor Blue Write-Host "SERVICE_CLIENT: $Env:SERVICE_CLIENT" -ForegroundColor Blue
Write-Host "SERVICE_OAUTH_API: $Env:SERVICE_OAUTH_API" -ForegroundColor Blue
Write-Host "SERVICE_OAUTH: $Env:SERVICE_OAUTH" -ForegroundColor Blue
Write-Host "INSTALLATION_TYPE: $Env:INSTALLATION_TYPE" -ForegroundColor Blue Write-Host "INSTALLATION_TYPE: $Env:INSTALLATION_TYPE" -ForegroundColor Blue
Set-Location -Path $PSScriptRoot Set-Location -Path $PSScriptRoot

View File

@ -16,15 +16,11 @@ echo "LOCAL IP: $local_ip"
doceditor=${local_ip}:5013 doceditor=${local_ip}:5013
login=${local_ip}:5011 login=${local_ip}:5011
client=${local_ip}:5001 client=${local_ip}:5001
oauth_api=${$LocalIp}:9090
oauth=${$LocalIp}:8080
portal_url="http://$local_ip" portal_url="http://$local_ip"
echo "SERVICE_DOCEDITOR: $doceditor" echo "SERVICE_DOCEDITOR: $doceditor"
echo "SERVICE_LOGIN: $login" echo "SERVICE_LOGIN: $login"
echo "SERVICE_CLIENT: $client" echo "SERVICE_CLIENT: $client"
echo "OAUTH_API: $oauth_api"
echo "OAUTH: $oauth"
echo "APP_URL_PORTAL: $portal_url" echo "APP_URL_PORTAL: $portal_url"
force=false force=false
@ -114,10 +110,6 @@ else
echo "SKIP build proxy base image (already exists)" echo "SKIP build proxy base image (already exists)"
fi fi
echo "Run OAuth"
docker compose -f $dockerDir/db.yml up -d
echo "Run migration and services" echo "Run migration and services"
ENV_EXTENSION="dev" \ ENV_EXTENSION="dev" \
INSTALLATION_TYPE=$INSTALLATION_TYPE \ INSTALLATION_TYPE=$INSTALLATION_TYPE \
@ -135,7 +127,11 @@ BUILD_PATH="/var/www" \
SRC_PATH="$dir/publish/services" \ SRC_PATH="$dir/publish/services" \
DATA_DIR="$dir/Data" \ DATA_DIR="$dir/Data" \
APP_URL_PORTAL=$portal_url \ APP_URL_PORTAL=$portal_url \
docker-compose -f $dockerDir/docspace.profiles.yml -f $dockerDir/docspace.overcome.yml --profile migration-runner --profile backend-local up -d docker compose -f $dockerDir/docspace.profiles.yml -f $dockerDir/docspace.overcome.yml --profile migration-runner --profile backend-local up -d
echo "Run OAuth"
DOCSPACE_ADDRESS=$local_ip \
docker compose -f $dockerDir/oauth2.yml up -d
echo "" echo ""
echo "APP_URL_PORTAL: $portal_url" echo "APP_URL_PORTAL: $portal_url"
@ -143,6 +139,4 @@ echo "LOCAL IP: $local_ip"
echo "SERVICE_DOCEDITOR: $doceditor" echo "SERVICE_DOCEDITOR: $doceditor"
echo "SERVICE_LOGIN: $login" echo "SERVICE_LOGIN: $login"
echo "SERVICE_CLIENT: $client" echo "SERVICE_CLIENT: $client"
echo "SERVICE_OAUTH_API: $oauth_api"
echo "SERVICE_OAUTH: $oauth"
echo "INSTALLATION_TYPE=$INSTALLATION_TYPE" echo "INSTALLATION_TYPE=$INSTALLATION_TYPE"

View File

@ -23,6 +23,9 @@ if ($Containers -or $Images) {
Write-Host "Remove docker contatiners 'mysql'" -ForegroundColor Blue Write-Host "Remove docker contatiners 'mysql'" -ForegroundColor Blue
docker compose -f "$DockerDir\db.yml" down --volumes docker compose -f "$DockerDir\db.yml" down --volumes
Write-Host "Remove docker contatiners 'OAuth'" -ForegroundColor Blue
docker compose -f "$DockerDir\oauth2.yml" down --volumes
Write-Host "Remove docker volumes" -ForegroundColor Blue Write-Host "Remove docker volumes" -ForegroundColor Blue
docker volume prune -f -a docker volume prune -f -a

View File

@ -25,6 +25,9 @@ then
echo "Remove docker contatiners 'mysql'" echo "Remove docker contatiners 'mysql'"
docker compose -f "${DockerDir}/db.yml" down --volumes docker compose -f "${DockerDir}/db.yml" down --volumes
echo "Remove docker contatiners 'OAuth'"
docker compose -f "${DockerDir}/oauth2.yml" down --volumes
echo "Remove docker volumes" echo "Remove docker volumes"
docker volume prune -f -a docker volume prune -f -a

View File

@ -86,16 +86,18 @@
DATABASE_MIGRATION=false DATABASE_MIGRATION=false
# oauth2 # # oauth2 #
OAUTH_CONFIGURATION_DOCKERFILE=/configuration/Dockerfile
OAUTH_AUTHORIZATION_DOCKERFILE=/authorization/Dockerfile OAUTH_AUTHORIZATION_DOCKERFILE=/authorization/Dockerfile
OAUTH_API_DOCKERFILE=/api/Dockerfile OAUTH_API_DOCKERFILE=/api/Dockerfile
JDBC_USER_NAME=root
JDBC_PASSWORD=my-secret-pw
PROFILE=zxc
FRONTEND_ADDRESS=127.0.0.1:3005 JDBC_USER_NAME=root
DOCSPACE_ADDRESS=192.168.0.17 JDBC_PASSWORD=${MYSQL_ROOT_PASSWORD}
PROFILE="dev"
OAUTH_AUTHORIZATION_CONTAINER_NAME=${CONTAINER_PREFIX}oauth-authorization
OAUTH_API_CONTAINER_NAME=${CONTAINER_PREFIX}oauth-api
DOCSPACE_ADDRESS=${APP_URL_PORTAL}
# service host # # service host #
API_SYSTEM_HOST=${CONTAINER_PREFIX}api-system API_SYSTEM_HOST=${CONTAINER_PREFIX}api-system

View File

@ -3,9 +3,9 @@ version: "3.8"
services: services:
onlyoffice-oauth-authorization: onlyoffice-oauth-authorization:
build: build:
context: ../../../common/ASC.Oauth context: ../../../common/ASC.OAuth
dockerfile: ${OAUTH_AUTHORIZATION_DOCKERFILE} dockerfile: ${OAUTH_AUTHORIZATION_DOCKERFILE}
container_name: onlyoffice-oauth-authorization container_name: ${OAUTH_AUTHORIZATION_CONTAINER_NAME}
restart: always restart: always
ports: ports:
- 8080:8080 - 8080:8080
@ -14,18 +14,17 @@ services:
JDBC_URL: ${MYSQL_CONTAINER_NAME} JDBC_URL: ${MYSQL_CONTAINER_NAME}
JDBC_DATABASE: ${MYSQL_DATABASE} JDBC_DATABASE: ${MYSQL_DATABASE}
JDBC_USER_NAME: ${JDBC_USER_NAME} JDBC_USER_NAME: ${JDBC_USER_NAME}
JDBC_PASSWORD: ${MYSQL_ROOT_PASSWORD} JDBC_PASSWORD: ${JDBC_PASSWORD}
RABBIT_HOST: ${RABBIT_CONTAINER_NAME} RABBIT_HOST: ${RABBIT_CONTAINER_NAME}
RABBIT_PORT: ${RABBIT_PORT} RABBIT_PORT: ${RABBIT_PORT}
RABBIT_USER_NAME: ${RABBIT_USER_NAME} RABBIT_USER_NAME: ${RABBIT_USER_NAME}
RABBIT_PASSWORD: ${RABBIT_PASSWORD} RABBIT_PASSWORD: ${RABBIT_PASSWORD}
DOCSPACE_ADDRESS: ${DOCSPACE_ADDRESS} DOCSPACE_ADDRESS: ${DOCSPACE_ADDRESS}
FRONTEND_ADDRESS: ${FRONTEND_ADDRESS}
onlyoffice-oauth-api: onlyoffice-oauth-api:
build: build:
context: ../../../common/ASC.Oauth context: ../../../common/ASC.OAuth
dockerfile: ${OAUTH_API_DOCKERFILE} dockerfile: ${OAUTH_API_DOCKERFILE}
container_name: onlyoffice-oauth-api container_name: ${OAUTH_API_CONTAINER_NAME}
ports: ports:
- 9090:9090 - 9090:9090
- 8585:8585 - 8585:8585
@ -34,7 +33,7 @@ services:
JDBC_URL: ${MYSQL_CONTAINER_NAME} JDBC_URL: ${MYSQL_CONTAINER_NAME}
JDBC_DATABASE: ${MYSQL_DATABASE} JDBC_DATABASE: ${MYSQL_DATABASE}
JDBC_USER_NAME: ${JDBC_USER_NAME} JDBC_USER_NAME: ${JDBC_USER_NAME}
JDBC_PASSWORD: ${MYSQL_ROOT_PASSWORD} JDBC_PASSWORD: ${JDBC_PASSWORD}
RABBIT_HOST: ${RABBIT_CONTAINER_NAME} RABBIT_HOST: ${RABBIT_CONTAINER_NAME}
RABBIT_PORT: ${RABBIT_PORT} RABBIT_PORT: ${RABBIT_PORT}
RABBIT_USER_NAME: ${RABBIT_USER_NAME} RABBIT_USER_NAME: ${RABBIT_USER_NAME}