Initial commit

This commit is contained in:
kddd21a
2026-07-29 10:47:40 +00:00
commit 402c3ec6ed
171 changed files with 10536 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
$ErrorActionPreference = "Stop"
$timestamp = Get-Date -Format "yyyyMMdd-HHmmss"
$backupDir = Join-Path $PSScriptRoot "..\backups\$timestamp"
New-Item -ItemType Directory -Path $backupDir -Force | Out-Null
$dbUser = if ($env:POSTGRES_USER) { $env:POSTGRES_USER } else { "ielts_mock" }
$dbName = if ($env:POSTGRES_DB) { $env:POSTGRES_DB } else { "ielts_mock" }
docker compose exec -T db pg_dump -U $dbUser -d $dbName -Fc -f /tmp/ielts-mock.dump
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
docker compose cp "db:/tmp/ielts-mock.dump" (Join-Path $backupDir "database.dump")
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
docker compose exec -T db rm -f /tmp/ielts-mock.dump
docker compose exec -T web tar -czf /tmp/ielts-media.tar.gz -C /app media
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
docker compose cp "web:/tmp/ielts-media.tar.gz" (Join-Path $backupDir "media.tar.gz")
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
docker compose exec -T web rm -f /tmp/ielts-media.tar.gz
Write-Host "Backup completed: $backupDir"
+18
View File
@@ -0,0 +1,18 @@
#!/bin/sh
set -eu
timestamp="$(date +%Y%m%d-%H%M%S)"
backup_dir="./backups/$timestamp"
mkdir -p "$backup_dir"
db_user="${POSTGRES_USER:-ielts_mock}"
db_name="${POSTGRES_DB:-ielts_mock}"
docker compose exec -T db pg_dump -U "$db_user" -d "$db_name" -Fc -f /tmp/ielts-mock.dump
docker compose cp db:/tmp/ielts-mock.dump "$backup_dir/database.dump"
docker compose exec -T db rm -f /tmp/ielts-mock.dump
docker compose exec -T web tar -czf /tmp/ielts-media.tar.gz -C /app media
docker compose cp web:/tmp/ielts-media.tar.gz "$backup_dir/media.tar.gz"
docker compose exec -T web rm -f /tmp/ielts-media.tar.gz
echo "Backup completed: $backup_dir"
+17
View File
@@ -0,0 +1,17 @@
$ErrorActionPreference = "Stop"
$projectRoot = (Resolve-Path (Join-Path $PSScriptRoot "..")).Path
$timestamp = Get-Date -Format "yyyyMMdd-HHmmss"
$backupDir = Join-Path $projectRoot "backups\local-$timestamp"
New-Item -ItemType Directory -Path $backupDir -Force | Out-Null
$database = Join-Path $projectRoot "db.sqlite3"
if (Test-Path -LiteralPath $database) {
Copy-Item -LiteralPath $database -Destination (Join-Path $backupDir "db.sqlite3")
}
$media = Join-Path $projectRoot "media"
if (Test-Path -LiteralPath $media) {
Compress-Archive -LiteralPath $media -DestinationPath (Join-Path $backupDir "media.zip")
}
Write-Host "Local backup completed: $backupDir"
+20
View File
@@ -0,0 +1,20 @@
$ErrorActionPreference = "Stop"
$env:DJANGO_DEBUG = "False"
$env:DJANGO_SECRET_KEY = "local-deployment-check-secret-with-more-than-fifty-characters-123456789"
$env:DJANGO_ALLOWED_HOSTS = "localhost,127.0.0.1,testserver"
$env:DJANGO_CSRF_TRUSTED_ORIGINS = "https://example.com"
$env:DJANGO_SECURE_HSTS_SECONDS = "3600"
$env:DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS = "True"
$env:DJANGO_SECURE_HSTS_PRELOAD = "True"
python manage.py makemigrations --check --dry-run
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
python manage.py check --deploy
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
python manage.py collectstatic --noinput
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
$env:DJANGO_DEBUG = "True"
$env:DJANGO_SECURE_SSL_REDIRECT = "False"
$env:DJANGO_ACCOUNT_EMAIL_VERIFICATION = "none"
python manage.py test
exit $LASTEXITCODE