Files
wallabag-mirror/compose.yaml
Yassine Guedidi cc674f5a40 Isolate Docker authentication cookies by port
Pass port-suffixed session, remember-me, and trusted-device cookie names into the development container so parallel worktrees no longer overwrite one browser cookie namespace.

Compose integration and contributor guidance belong together because the port and project-name settings form the complete local isolation contract.
2026-07-28 20:56:17 +02:00

97 lines
3.1 KiB
YAML

services:
php:
build:
context: docker/php
# Use target 'rootless' if you run rootless Docker
target: default
environment:
WALLABAG_BASE_URL: "${WALLABAG_BASE_URL:-http://127.0.0.1:${PORT:-8000}}"
WALLABAG_SESSION_COOKIE_NAME: "PHPSESSID_${PORT:-8000}"
WALLABAG_REMEMBER_ME_COOKIE_NAME: "REMEMBERME_${PORT:-8000}"
WALLABAG_TRUSTED_DEVICE_COOKIE_NAME: "wllbg_trusted_computer_${PORT:-8000}"
volumes:
- .:/var/www/html
# Volumes for data-related folders
- assets:/var/www/html/web/assets
- data:/var/www/html/data
- cache:/var/www/.cache
# Uncomment the following volume if you run rootless Docker
# A limitation blocks permissions on root docker, see
# https://github.com/moby/moby/issues/40881
# - type: tmpfs
# target: /var/www/html/var/cache
# Override third-party libraries for dev
# - ../graby-site-config:/var/www/html/vendor/j0k3r/graby-site-config
# - ../php-readability:/var/www/html/vendor/j0k3r/php-readability
# - ../graby:/var/www/html/vendor/j0k3r/graby
# - ../HTMLawed:/var/www/html/vendor/fossar/htmlawed
# - ../PHPePub:/var/www/html/vendor/wallabag/phpepub
# - ../guzzle-site-authenticator:/var/www/html/vendor/bdunogier/guzzle-site-authenticator
env_file:
# Copy docker/php/env.example to docker/php/env for Docker-specific overrides
- ./docker/php/env
# Set DATABASE_URL in .env.local and .env.test.local when you switch from SQLite
# Uncomment to enable Xdebug
# - ./docker/php/xdebug
# Uncomment to enable Blackfire
# - ./docker/php/blackfire
extra_hosts:
- "host.docker.internal:host-gateway"
ports:
- "${PORT:-8000}:8000"
depends_on:
# - mariadb
# - postgres
- redis
# postgres:
# image: postgres:11-alpine
# volumes:
# - db-data:/var/lib/postgresql/data
# env_file:
# - ./docker/postgres/env
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -U wallabag -q || exit 1"]
# interval: 10s
# timeout: 3s
# retries: 3
# mariadb:
# image: mariadb:10
# ports:
# - "3306:3306"
# volumes:
# - db-data:/var/lib/mysql
# env_file:
# - ./docker/mariadb/env
# rabbitmq:
# image: rabbitmq:3-management-alpine
# ports:
# - "15672:15672"
redis:
image: redis:6-alpine
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 3
# blackfire:
# image: blackfire/blackfire:2
# ports: [ "8307" ]
# env_file:
# - ./docker/php/blackfire
volumes:
db-data:
driver: local
assets:
driver: local
data:
driver: local
cache:
driver: local