File size: 2,618 Bytes
6a7089a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | services:
# Main instance: security features ENABLED (permissive)
pinchtab:
build:
context: ../..
dockerfile: Dockerfile
environment:
PINCHTAB_CONFIG: /config/pinchtab.json
volumes:
- ./config/pinchtab.json:/config/pinchtab.json:ro
- ./fixtures/test-extension:/extensions/test-extension
- ./fixtures/test-extension-api:/extensions/test-extension-api
ports:
- "9999:9999"
# Chrome needs more shared memory in Docker
shm_size: '2gb'
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:9999/health"]
interval: 3s
timeout: 10s
retries: 20
start_period: 15s
# Secure instance: security features DISABLED (restrictive)
pinchtab-secure:
build:
context: ../..
dockerfile: Dockerfile
environment:
PINCHTAB_CONFIG: /config/pinchtab-secure.json
volumes:
- ./config/pinchtab-secure.json:/config/pinchtab-secure.json:ro
ports:
- "9998:9999"
shm_size: '2gb'
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:9999/health"]
interval: 3s
timeout: 10s
retries: 20
start_period: 15s
# Lite engine instance: no Chrome, DOM-only (bridge mode)
pinchtab-lite:
build:
context: ../..
dockerfile: Dockerfile
environment:
PINCHTAB_CONFIG: /config/pinchtab-lite.json
volumes:
- ./config/pinchtab-lite.json:/config/pinchtab-lite.json:ro
ports:
- "9997:9999"
command: ["/usr/local/bin/pinchtab", "bridge"]
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:9999/health"]
interval: 3s
timeout: 10s
retries: 20
start_period: 15s
fixtures:
image: nginx:alpine
volumes:
- ./fixtures:/usr/share/nginx/html:ro
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:80/"]
interval: 2s
timeout: 5s
retries: 5
runner:
build:
context: ./runner
depends_on:
pinchtab:
condition: service_healthy
pinchtab-secure:
condition: service_healthy
pinchtab-lite:
condition: service_healthy
fixtures:
condition: service_healthy
environment:
- E2E_SERVER=http://pinchtab:9999
- E2E_SECURE_SERVER=http://pinchtab-secure:9999
- E2E_LITE_SERVER=http://pinchtab-lite:9999
- FIXTURES_URL=http://fixtures:80
volumes:
- ./scenarios:/scenarios:ro
- ./scenarios-recent:/scenarios-recent:ro
- ./results:/results
command: ["/scenarios/run-all.sh"]
|