Files
computer-playbook/roles/web-app-openproject/config/main.yml
Kevin Veen-Birkenbach 57d5269b07 CSP (Safari-safe): merge -elem/-attr into base; respect explicit disables; no mirror-back; header only for documents/workers
- Add CSP3 support for style/script: include -elem and -attr directives
- Base (style-src, script-src) now unions elem/attr (CSP2/Safari fallback)
- Respect explicit base disables (e.g. style-src.unsafe-inline: false)
- Hashes only when 'unsafe-inline' absent in the final base tokens
- Nginx: set CSP only for HTML/worker via header_filter_by_lua_block; drop for subresources
- Remove per-location header_filter; keep body_filter only
- Update app role flags to *-attr where appropriate; extend desktop CSS sources
- Add comprehensive unit tests for union/explicit-disable/no-mirror-back

Ref: https://chatgpt.com/share/68f87a0a-cebc-800f-bb3e-8c8ab4dee8ee
2025-10-22 13:53:06 +02:00

84 lines
2.6 KiB
YAML

oauth2_proxy:
application: "proxy"
port: "80"
acl:
whitelist:
- "/users/me" # Necessary for Nextcloud Plugin to work
- "/api/" # Necessary for Nextcloud Plugin to work
- "/oauth/token" # Necessary for Nextcloud Plugin to work
ldap:
filters:
administrators: False # Set true to filter administrators
users: False # Set true to filter users
features:
matomo: true
css: false # Temporary deactivated. Needs to be optimized for production use.
desktop: true
ldap: true
central_database: true
oauth2: true
logout: true
server:
csp:
flags:
script-src-elem:
unsafe-inline: true
style-src-attr:
unsafe-inline: true
whitelist:
font-src:
- "data:"
domains:
canonical:
- "open.project.{{ PRIMARY_DOMAIN }}"
aliases: []
docker:
services:
database:
enabled: true
web:
name: openproject-web
image: openproject/openproject
version: "15" # Update when available. No rolling release implemented
backup:
no_stop_required: true
cpus: "3.0"
mem_reservation: "3g"
mem_limit: "4g"
pids_limit: 2048
seeder:
name: openproject-seeder
cpus: "0.3"
mem_reservation: "256m"
mem_limit: "512m"
pids_limit: 256
cron:
name: openproject-cron
cpus: "0.3"
mem_reservation: "256m"
mem_limit: "512m"
pids_limit: 256
worker:
name: openproject-worker
cpus: "2.0"
mem_reservation: "2g"
mem_limit: "3g"
pids_limit: 2048
proxy:
name: openproject-proxy
cpus: "0.3"
mem_reservation: "256m"
mem_limit: "512m"
pids_limit: 256
cache:
name: openproject-cache
image: "" # If need a specific memcached image you have to define it here, otherwise the version from svc-db-memcached will be used
version: "" # If need a specific memcached version you have to define it here, otherwise the version from svc-db-memcached will be used
cpus: "0.3"
mem_reservation: "512m"
mem_limit: "512m"
pids_limit: 256
volumes:
data: "openproject_data"