Commit Graph

7 Commits

Author SHA1 Message Date
DanielS
43a0b96fdf Test server: code in a Docker volume instead of a C:\ bind mount
With Docker Desktop on Windows the bind-mounted C:\hotel made every page
take ~5-7 s; with the code on the Linux filesystem it takes ~0.1 s.

- docker/Dockerfile.server bakes the repo into the image (.dockerignore
  keeps .env, settings.inc.php and caches out)
- docker/server-entrypoint.sh copies the code into the app_code volume on
  start: pass 1 updates code but skips runtime folders (uploads, generated
  images, caches, downloaded translations, settings.inc.php), pass 2 adds
  missing files without overwriting
- docker/php-server.ini: OPcache without timestamp checks, larger
  realpath cache
- setup script waits for the container and checks the install marker
  inside the volume; .gitattributes keeps *.sh LF on Windows checkouts
- TESTSERVER.md: speed section and one-time switch from the first version

Tested with a fresh stack: full install + demo + hardening, re-run keeps
DB/uploads, rebuilt image delivers code changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 22:40:07 +01:00
DanielS
26260d0d35 Add set-domain.php; setup applies SHOP_DOMAIN/QLO_SSL on every run
QloApps redirects every request to the domain stored in the DB, so a
wrong domain or HTTPS without TLS in front ends in ERR_SSL_PROTOCOL_ERROR.
docker/set-domain.php updates PS_SHOP_DOMAIN(_SSL), shop_url, SSL flags
and .htaccess; the setup script now calls it with the .env values, so
editing .env and re-running fixes the domain. Troubleshooting table in
docker/TESTSERVER.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:54:00 +01:00
DanielS
1e9daa8858 Add Windows test-server setup behind nginx
- docker-compose.server.yml: app on APP_BIND for an existing nginx proxy,
  QLO_SSL passed to the container
- docker/setup-testserver.ps1: one-shot setup for Docker Desktop/WSL
  (random .env secrets, CLI install that never reinstalls over an
  existing shop, German texts, optional demo content, hardening)
- docker/harden-test-server.php: delete demo customer pub@qloapps.com,
  disable webservice API keys, set SSL mode, deny module log folders
- docker/nginx-qloapps.conf: HTTPS + basic auth + X-Forwarded-Proto
- apache: deny /modules/*/logs/ (qlocmconnector logs API secrets)
- docker/TESTSERVER.md: Windows Server guide (German)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:45:15 +01:00
DanielS
9b4d6f1037 Wasserrad: German menu and units, inner-page header, cleaner demo data
Seed script renames menu links and "Room/Rooms" unit labels to German,
hides the Properties/Testimonials links, removes demo room features
(King, 600 sq ft) and copies gallery photos unpadded. Skin gets the wine
header on inner pages and object-fit gallery thumbnails.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:33:33 +01:00
DanielS
8434d950dd Add German front-office translations
The German language pack leaves ~180 shop strings in English (search
bar, cart, room cards, footer, account menu). docker/apply-translations.php
fills only missing keys from docker/translations-de-front.php and fixes
English values in the theme language file; docker/find-missing-translations.php
lists remaining gaps. Module/theme de.php files are git-ignored upstream
(downloaded on install), so the script is re-run after each install.
Also includes the language-pack updates the installer wrote to the
tracked module de.php files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:33:32 +01:00
DanielS
c76dd44f16 Add Wasserrad demo content seed script
Replaces the "Hotel Prime" demo data: hotel texts and address, room
types with 2026 prices (gross incl. 7 % VAT), logo, header slides, room
photos and interior gallery; disables auto-added demo service fees and
hides the invented demo testimonials.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:20:06 +01:00
DanielS
e32cd8f6ed Add Docker Compose setup for local development
PHP 8.3/Apache + MariaDB 11.4 with the repo bind-mounted as web root.
Apache denies dotfiles (.env, .git), the docker files and /install-dev
(installation runs via CLI as www-data, see docker-compose.yml).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:20:03 +01:00