reworked docker setup

This commit is contained in:
Luca Haid
2024-03-05 10:51:27 +00:00
parent 39f0940d42
commit 454fe5b453
6 changed files with 77 additions and 3 deletions

2
.gitignore vendored
View File

@@ -11,6 +11,8 @@ todo
files/*
vendor/
data/
logs/
xdebug_traces/
phinx.php
*.sql

View File

@@ -4,7 +4,7 @@ services:
php:
image: debian-php2
ports:
- 80:80
- "80:80"
volumes:
- ./docker/apache2/000-default.conf:/etc/apache2/sites-available/000-default.conf
- ./:/var/www/html
@@ -18,14 +18,19 @@ services:
- MYSQL_USER=luca
- MYSQL_PASSWORD=junghan5
volumes:
- ./docker/mysql/data:/var/lib/mysql
- ./docker/mysql/data:/var/lib/mysql
- ./docker/mysql/conf.d:/etc/mysql/conf.d
- ./docker/mysql/logs:/var/log/mysql
ports:
- "3306:3306"
adminer:
image: adminer
ports:
- 8080:8080
- "8080:8080"
volumes:
- ./docker/adminer.php.ini:/etc/php/7.4/cli/conf.d/php.local.ini
volumes:
vendor:

View File

@@ -0,0 +1,34 @@
param(
[string]$compressedFile
)
# Load .NET assembly for file handling
Add-Type -AssemblyName System.IO.Compression.FileSystem
# Resolve absolute path of the compressed file
$absoluteCompressedFile = Resolve-Path $compressedFile
# Generate file names
$workingDir = Split-Path $absoluteCompressedFile
$uncompressedFile = Join-Path $workingDir ($compressedFile -replace '^\.\\', '' -replace '\.sql\.gz$', '_uncompressed.sql')
$modifiedFile = Join-Path $workingDir ($compressedFile -replace '^\.\\', '' -replace '\.sql\.gz$', '_modified.sql')
$recompressedFile = Join-Path $workingDir ($compressedFile -replace '^\.\\', '' -replace '\.gz$', '_modified.sql.gz')
# Decompress .sql.gz file using .NET Framework
[System.IO.Compression.ZipFile]::ExtractToDirectory($absoluteCompressedFile, $workingDir)
# Read content of uncompressed file
$content = Get-Content -Path $uncompressedFile -Raw
# Replace text
$content = $content -replace 'utf8mb4_0900_ai_ci', 'utf8mb4_general_ci'
# Write modified content to file
Set-Content -Path $modifiedFile -Value $content -Encoding UTF8
# Compress .sql file back to .sql.gz using .NET Framework
[System.IO.Compression.ZipFile]::CreateFromDirectory($workingDir, $recompressedFile)
# Cleanup: Optionally, you can remove the uncompressed and modified files if you don't need them anymore
# Remove-Item $uncompressedFile
# Remove-Item $modifiedFile

View File

@@ -0,0 +1,21 @@
param(
[string]$compressedFile
)
# Generate file names
$uncompressedFile = $compressedFile -replace '\.sql\.gz$', '_uncompressed.sql'
$modifiedFile = $compressedFile -replace '\.sql\.gz$', '_modified.sql'
$recompressedFile = $compressedFile -replace '\.gz$', '_modified.sql.gz'
# Decompress .sql.gz file using 7-Zip
& "C:\Program Files\7-Zip\7z.exe" x -so $compressedFile | Set-Content -Path $uncompressedFile -Encoding UTF8
# Replace text using PowerShell
(Get-Content $uncompressedFile) -replace "utf8mb4_0900_ai_ci", "utf8mb4_general_ci" | Set-Content $modifiedFile -Encoding UTF8
# Compress .sql file back to .sql.gz using 7-Zip
& "C:\Program Files\7-Zip\7z.exe" a -tgzip $recompressedFile $modifiedFile
# Cleanup: Optionally, you can remove the uncompressed and modified files if you don't need them anymore
#Remove-Item $uncompressedFile
#Remove-Item $modifiedFile

3
docker/adminer.php.ini Normal file
View File

@@ -0,0 +1,3 @@
post_max_size = 516M
upload_max_filesize = 516M
memory_limit = 2G

View File

@@ -0,0 +1,9 @@
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html>
AllowOverride All
</Directory>
</VirtualHost>