Add Docker Compose setup for local runs

PHP 8.3 + Apache image serving public/ on port 8080, with pdo_sqlite and
mbstring built in. The container entrypoint applies migrations as www-data
before starting Apache; the SQLite database and generated JWT signing key
persist in a named "storage" volume. `docker compose up -d` is now the
primary way to run the project without a local PHP toolchain.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-03 17:45:35 +01:00
co-authored by Claude Sonnet 5
parent 0938e1a59b
commit 15145865d4
6 changed files with 121 additions and 6 deletions
+13
View File
@@ -0,0 +1,13 @@
<VirtualHost *:80>
DocumentRoot /var/www/html/public
<Directory /var/www/html/public>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
DirectoryIndex index.php
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
+13
View File
@@ -0,0 +1,13 @@
#!/bin/sh
set -e
# The storage directory may be a freshly created named volume; make sure it
# exists and is writable by the web-server user.
mkdir -p storage
chown -R www-data:www-data storage
# Apply pending migrations as www-data so the SQLite file it creates stays
# writable by Apache.
su -s /bin/sh -c 'php bin/migrate.php' www-data
exec docker-php-entrypoint "$@"