- Add "Backup database" step that copies drsousan.db out of the
running container to /opt/drsousan-backups/ before any container
changes, keeping the last 10 backups
- Replace --force-recreate (broken on this Docker version) with
explicit docker stop + docker rm before docker compose up
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
docker compose up --force-recreate only works when Compose owns the
container. If the container was started outside Compose (e.g. manually
via docker restart), Compose can't recreate it and errors with
"container name already in use". Explicitly stopping and removing it
first handles both cases cleanly.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Without this flag, the deploy fails with "container name already in use"
when a container with the same name exists from a previous run.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Gallery section now fetches /api/gallery and renders real items
instead of hardcoded placeholders
- Before+after pairs render as side-by-side split with قبل/بعد labels
- Single imageUrl items render as a standard gallery card
- Tab buttons now filter items by category via data-cat attribute
- CSS added for .before-after, .ba-half, .ba-divider, .ba-label, .gallery-caption
- Fixes applied to correct file (Index.cshtml Razor page, not root index.html)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Prevents runner workspace directory name from being used as project name,
which caused Meezi containers to be treated as orphans and stopped on deploy.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Removed <br> between name parts and added white-space:nowrap.
Adjusted clamp min from 2.2rem to 1.6rem so it scales down on
small screens without wrapping.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>