reworked docker setup
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -11,6 +11,8 @@ todo
|
||||
files/*
|
||||
vendor/
|
||||
data/
|
||||
logs/
|
||||
xdebug_traces/
|
||||
phinx.php
|
||||
|
||||
*.sql
|
||||
|
||||
@@ -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
|
||||
@@ -21,11 +21,16 @@ services:
|
||||
- ./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:
|
||||
|
||||
34
docker/SqlCollationSwitcher/SqlCollationSwitcher.ps1
Normal file
34
docker/SqlCollationSwitcher/SqlCollationSwitcher.ps1
Normal 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
|
||||
21
docker/SqlCollationSwitcher/SqlCollationSwitcher2.ps1
Normal file
21
docker/SqlCollationSwitcher/SqlCollationSwitcher2.ps1
Normal 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
3
docker/adminer.php.ini
Normal file
@@ -0,0 +1,3 @@
|
||||
post_max_size = 516M
|
||||
upload_max_filesize = 516M
|
||||
memory_limit = 2G
|
||||
9
docker/apache2/000-default.conf
Normal file
9
docker/apache2/000-default.conf
Normal 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>
|
||||
Reference in New Issue
Block a user