# Per-run production-shaped Linux server/proxy fixture. It runs on the current # controller; the Windows VM receives only its client bundle. services: server: image: alpine:3.22 user: "${RVBOX_NATIVE_UID:-65532}:${RVBOX_NATIVE_GID:-65532}" command: ["/opt/rvbox/rvbox-server", "--config", "/etc/rvbox/server.toml"] volumes: - ../../bin/rvbox-server:/opt/rvbox/rvbox-server:ro - ../../bin/rvc:/opt/rvbox/rvc:ro - "${RVBOX_NATIVE_RUNTIME_DIR}/server.toml:/etc/rvbox/server.toml:ro" - "${RVBOX_NATIVE_RUNTIME_DIR}/state:/state" - "${RVBOX_NATIVE_RUNTIME_DIR}/state/control:/run/rvbox" networks: [native] labels: { rvbox.native.run_id: "${RVBOX_NATIVE_RUN_ID}" } nginx: image: nginx:1.27-alpine depends_on: [server] ports: [ "${RVBOX_NATIVE_BIND:-0.0.0.0}:${RVBOX_NATIVE_PORT}:443" ] volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro - "${RVBOX_NATIVE_RUNTIME_DIR}/pki/server.pem:/etc/nginx/tls/server.pem:ro" - "${RVBOX_NATIVE_RUNTIME_DIR}/pki/server-key.pem:/etc/nginx/tls/server-key.pem:ro" networks: [native] labels: { rvbox.native.run_id: "${RVBOX_NATIVE_RUN_ID}" } certgen: image: alpine:3.22 profiles: [tools] environment: RVBOX_NATIVE_ENDPOINT_HOST: "${RVBOX_NATIVE_ENDPOINT_HOST}" volumes: - "${RVBOX_NATIVE_RUNTIME_DIR}/pki:/pki" - ./certgen.sh:/fixture/certgen.sh:ro entrypoint: ["/bin/sh", "/fixture/certgen.sh"] networks: native: labels: { rvbox.native.run_id: "${RVBOX_NATIVE_RUN_ID}" }