The image declares /var/www/html as a VOLUME, so tmp/forms/<session>/ — where Grav parks FilePond uploads until the submit moves them into the page folder — lived in an anonymous volume that any container-recreating `docker compose up` discards, dropping the photos of a post that was filled in but not yet submitted. grav_tmp gives the staging area its own lifecycle. Also pins makefile.configureOnOpen off in the workspace, so the VS Code Makefile extension stops trying to configure a Makefile whose `-include .env` cannot be parsed as makefile syntax. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
37 lines
1.2 KiB
YAML
37 lines
1.2 KiB
YAML
services:
|
|
grav:
|
|
build: .
|
|
# Overridable so a git worktree can run its own isolated dev server (see
|
|
# `make worktree-new`); unset → the canonical main-checkout values below.
|
|
container_name: ${GRAV_CONTAINER:-intotheeast_grav}
|
|
environment:
|
|
- GRAV_CHANNEL=production
|
|
- APACHE_RUN_USER=#1000
|
|
- APACHE_RUN_GROUP=#1000
|
|
ports:
|
|
- "${GRAV_PORT:-8081}:80"
|
|
volumes:
|
|
- ./user:/var/www/html/user
|
|
- ./php/php-local.ini:/usr/local/etc/php/conf.d/php-local.ini
|
|
# Grav stages form uploads in tmp/forms/<session>/ before the submit moves
|
|
# them into the page folder. The image declares /var/www/html as a VOLUME,
|
|
# so without this it lives in an ANONYMOUS volume that is discarded on any
|
|
# `docker compose up` that recreates the container — dropping the photos of
|
|
# a post that was filled in but not yet submitted. Naming it gives the
|
|
# staging area its own lifecycle.
|
|
- grav_tmp:/var/www/html/tmp
|
|
restart: unless-stopped
|
|
|
|
travel-memories:
|
|
build: ./services/travel-memories
|
|
ports:
|
|
- "${TM_PORT:-8082}:8082"
|
|
volumes:
|
|
- ./docs/immich-workflow:/app/state
|
|
- ./user/pages:/app/pages
|
|
env_file: .env
|
|
user: "${UID}:${GID}"
|
|
|
|
volumes:
|
|
grav_tmp:
|