diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md index 876dc8f..160300b 100644 --- a/DEPLOYMENT.md +++ b/DEPLOYMENT.md @@ -32,6 +32,9 @@ containers untouched. - [deploy.ps1](deploy.ps1) - Windows entrypoint for packaging the repo, uploading it, and running the remote deployment helper over SSH. +- [scripts/deploy.ps1](scripts/deploy.ps1) + - Deprecated compatibility wrapper that forwards to the repo-root + `deploy.ps1`. Keep using the root script directly. - [scripts/deploy-remote.sh](scripts/deploy-remote.sh) - Server-side helper that updates only the `goodwalk-svelte` compose project. - [docker-compose.prod.yml](docker-compose.prod.yml) @@ -109,6 +112,10 @@ From Windows PowerShell in the repo root: powershell -ExecutionPolicy Bypass -File .\deploy.ps1 ``` +This is the single supported deployment entrypoint. If you see +`scripts/deploy.ps1`, that file now just forwards to the root script so the +deployment logic only lives in one place. + Or skip the confirmation prompt: ```powershell diff --git a/scripts/deploy.ps1 b/scripts/deploy.ps1 index 6b372f7..f4100ed 100644 --- a/scripts/deploy.ps1 +++ b/scripts/deploy.ps1 @@ -1,76 +1,22 @@ [CmdletBinding()] param( - [string]$ComposeFile = 'docker-compose.yml', - [string]$ProjectName = 'goodwalk', - [switch]$RunMigration, - [string]$LegacyComposeFile, - [string]$LegacyProjectName = 'legacy-goodwalk', - [string]$LegacyWordPressContainer, - [string]$LegacyDatabaseContainer, - [string]$LegacyUploadsPath = '/var/www/html/wp-content/uploads', - [string]$MySqlDatabase, - [string]$MySqlUser, - [string]$MySqlPassword, - [switch]$SkipLegacyShutdown, - [switch]$SkipBuild, - [int]$HealthTimeoutSeconds = 120, - [string]$HealthUrl = 'http://localhost/api/health' + [switch]$Force, + [switch]$SkipSiteCheck, + [string]$Service ) $scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path -. (Join-Path $scriptDir 'common.ps1') - $repoRoot = Split-Path -Parent $scriptDir -$composeFilePath = Resolve-AbsolutePath -BasePath $repoRoot -Path $ComposeFile +$rootDeployScript = Join-Path $repoRoot 'deploy.ps1' -Write-Step 'Validating deployment prerequisites' -Assert-Command docker -Invoke-DockerCompose -ComposeFile $composeFilePath -ProjectName $ProjectName -WorkingDirectory $repoRoot -Arguments @('config') - -if ($RunMigration) { - Write-Step 'Running the WordPress migration step' - $migrationScript = Join-Path $scriptDir 'migrate-wordpress.ps1' - $migrationArgs = @( - '-LegacyWordPressContainer', $LegacyWordPressContainer, - '-LegacyUploadsPath', $LegacyUploadsPath - ) - - if ($LegacyDatabaseContainer) { - $migrationArgs += @('-LegacyDatabaseContainer', $LegacyDatabaseContainer) - } else { - $migrationArgs += '-SkipDatabaseDump' - } - - if ($MySqlDatabase) { $migrationArgs += @('-MySqlDatabase', $MySqlDatabase) } - if ($MySqlUser) { $migrationArgs += @('-MySqlUser', $MySqlUser) } - if ($MySqlPassword) { $migrationArgs += @('-MySqlPassword', $MySqlPassword) } - - & $migrationScript @migrationArgs - - if ($LASTEXITCODE -ne 0) { - throw 'The WordPress migration step failed.' - } +if (-not (Test-Path -LiteralPath $rootDeployScript)) { + throw "Root deploy script not found: $rootDeployScript" } -if ($LegacyComposeFile -and -not $SkipLegacyShutdown) { - $legacyComposeFilePath = Resolve-AbsolutePath -BasePath $repoRoot -Path $LegacyComposeFile - Write-Step 'Stopping the legacy WordPress stack' - Invoke-DockerCompose -ComposeFile $legacyComposeFilePath -ProjectName $LegacyProjectName -WorkingDirectory $repoRoot -Arguments @('down') +Write-Warning 'scripts/deploy.ps1 is deprecated. Use .\deploy.ps1 from the repo root instead.' + +& $rootDeployScript @PSBoundParameters + +if ($LASTEXITCODE -ne 0) { + exit $LASTEXITCODE } - -Write-Step 'Building and starting the new stack' -$upArgs = @('up', '-d', '--remove-orphans') -if (-not $SkipBuild) { - $upArgs += '--build' -} - -Invoke-DockerCompose -ComposeFile $composeFilePath -ProjectName $ProjectName -WorkingDirectory $repoRoot -Arguments $upArgs - -Write-Step 'Waiting for the new site to become healthy' -Wait-ForHttpOk -Url $HealthUrl -TimeoutSeconds $HealthTimeoutSeconds - -Write-Step 'Current container status' -Invoke-DockerCompose -ComposeFile $composeFilePath -ProjectName $ProjectName -WorkingDirectory $repoRoot -Arguments @('ps') - -Write-Step 'Deployment completed' -Write-Host "Health check passed at $HealthUrl" diff --git a/src/lib/components/InstagramSection.svelte b/src/lib/components/InstagramSection.svelte index 31f6a87..fb36b06 100644 --- a/src/lib/components/InstagramSection.svelte +++ b/src/lib/components/InstagramSection.svelte @@ -3,13 +3,147 @@ import type { HomePageContent } from '$lib/types'; export let instagram: HomePageContent['instagram']; + + const dogCutoutSrc = '/images/smiling-dog-cutout.webp'; - {instagram.title} - See our dogs in action — walks, play, and happy pups - - - {instagram.label} - + + + + Daily walks, happy dogs + {instagram.title} + See our dogs in action — walks, play, and happy pups + + + {instagram.label} + + + + + + + + + + diff --git a/src/lib/styles/variables.css b/src/lib/styles/variables.css index 1e98c1a..24bd397 100644 --- a/src/lib/styles/variables.css +++ b/src/lib/styles/variables.css @@ -12,3 +12,9 @@ /* Legacy "navy" tokens now intentionally render as Goodwalk green. */ --navy: var(--green); } + +@media (min-width: 1800px) { + :root { + --max-w: 1408px; + } +} diff --git a/static/images/smiling-dog-cutout.webp b/static/images/smiling-dog-cutout.webp new file mode 100644 index 0000000..046761f Binary files /dev/null and b/static/images/smiling-dog-cutout.webp differ
See our dogs in action — walks, play, and happy pups