223059c629
- docker-compose-dev.yml: the redis host port is overridable (REDIS_PORT in the root .env, 6379 by default as in the sibling apps), and the pod provider, in host network mode, follows it for its queue and OIDC redis. All of ./data/fuseki is mounted at the image's SEMAPPS_FUSEKI_BASE, so account deletion removes the backups and, 24 h later, the secure dataset's files (it answered 500 without the mount). - backend: GET /app served the app actor snapshot the mixin takes before it creates or replaces the access-need group, so a dataset's first boot lacked the link until a restart; the app service refreshes the snapshot from the store at the end of started(). - e2e smoke: the post-install poll sends Accept: application/ld+json; the pod answers 500 to a container read in any other format. - Docs: cookbook (Redis port, mounts, hot reload, dataset-named accounts, fresh-boot note), deployment note, env examples; claims about a parallel race are no longer stated as fact.
85 lines
2.2 KiB
YAML
85 lines
2.2 KiB
YAML
services:
|
|
fuseki:
|
|
image: semapps/jena-fuseki-webacl
|
|
container_name: fuseki
|
|
volumes:
|
|
- ./data/fuseki:/fuseki:z
|
|
ports:
|
|
- '3030:3030'
|
|
expose:
|
|
- '3030'
|
|
environment:
|
|
ADMIN_PASSWORD: admin
|
|
|
|
activitypods-backend:
|
|
image: activitypods/backend
|
|
container_name: activitypods-backend
|
|
depends_on:
|
|
- fuseki
|
|
- redis
|
|
restart: always
|
|
expose:
|
|
- '3000'
|
|
volumes:
|
|
- ./data/backend/logs:/app/backend/logs:z
|
|
- ./data/backend/jwt:/app/backend/jwt:z
|
|
- ./data/backend/uploads:/app/backend/uploads:z
|
|
# Account deletion removes the account's dataset files and backups from disk, at the image's SEMAPPS_FUSEKI_BASE (../data/fuseki)
|
|
- ./data/fuseki:/app/data/fuseki:z
|
|
environment:
|
|
SEMAPPS_JENA_PASSWORD: admin
|
|
SEMAPPS_DEFAULT_LOCALE: en
|
|
# Host network: the pod provider reaches redis on its published host port (REDIS_PORT, default 6379)
|
|
SEMAPPS_QUEUE_SERVICE_URL: redis://localhost:${REDIS_PORT:-6379}/1
|
|
SEMAPPS_REDIS_OIDC_PROVIDER_URL: redis://localhost:${REDIS_PORT:-6379}/2
|
|
# Allow the Pod backend to access the app backend
|
|
# See https://docs.docker.com/network/drivers/host/
|
|
network_mode: 'host'
|
|
|
|
activitypods-frontend:
|
|
image: activitypods/frontend
|
|
container_name: activitypods-frontend
|
|
depends_on:
|
|
- activitypods-backend
|
|
restart: always
|
|
ports:
|
|
- '5000:5000'
|
|
expose:
|
|
- '5000'
|
|
environment:
|
|
REACT_APP_CONFIG_URL: 'http://localhost:3000/.well-known/config.js'
|
|
|
|
mailcatcher:
|
|
image: dockage/mailcatcher:0.7.1
|
|
container_name: mailcatcher
|
|
ports:
|
|
- '1080:1080'
|
|
- '1025:1025'
|
|
restart: on-failure
|
|
|
|
redis:
|
|
image: redis
|
|
container_name: redis
|
|
expose:
|
|
- '6379'
|
|
ports:
|
|
- '${REDIS_PORT:-6379}:6379'
|
|
volumes:
|
|
- ./data/redis:/data:z
|
|
command: ['redis-server', '--appendonly', 'yes']
|
|
|
|
arena:
|
|
image: activitypods/arena
|
|
container_name: arena
|
|
restart: always
|
|
volumes:
|
|
- ./docker/arena-dev.json:/opt/arena/src/server/config/index.json:z
|
|
depends_on:
|
|
- redis
|
|
expose:
|
|
- '4567'
|
|
ports:
|
|
- '4567:4567'
|
|
environment:
|
|
REDIS_HOST: 'redis'
|