3.5 KiB
Landing + androidcast — BE only, port 80
Full topology: docs/INFRA.md — read after any agent/context reset.
Public: https://apps.f0xx.org/app/androidcast_project/
Topology (no :8089)
Browser → apps.f0xx.org (Gentoo FE, TLS)
→ http://artc0.intra.raptor.org:80 ← this vhost only
→ /etc/nginx/conf.d/apps.conf listen 80
8089 is not this installation (Janus/other). Do not point androidcast FE locations at :8089.
On FE, hub and (if you fix it) crashes should both target http://artc0.intra.raptor.org:80, same as location /.
1. Hub entry (index.php) + assets
Landing uses index.php (shared footer from examples/platform/footer.config.php). Copy index.html only as a redirect fallback.
Multipage landing (2026-06): sync hub-landing.css, landing-pages.inc.php, assets/hub-landing.js, assets/hub-i18n.js, assets/i18n/hub-en.json, assets/i18n/hub-ru.json with index.php.
cp .../android_cast/examples/app_hub/index.php \
.../htdocs/apps/app/androidcast_project/index.php
cp .../android_cast/examples/app_hub/index.html \
.../htdocs/apps/app/androidcast_project/index.html
cp .../android_cast/examples/app_hub/hub.css \
.../htdocs/apps/app/androidcast_project/hub.css
cp .../android_cast/examples/app_hub/assets/overtime-01-alphabet.svg \
.../htdocs/apps/app/androidcast_project/assets/
# GA4 (optional): set measurementId in analytics.config.js before copy
cp .../android_cast/examples/app_hub/assets/analytics.config.js \
.../htdocs/apps/app/androidcast_project/assets/
Crash console ships analytics.js via deploy-to-be-mount.sh (under crashes/assets/js/).
2. BE nginx
Edit /etc/nginx/conf.d/apps.conf on Alpine (sshfs: tmp/BE_alpine/etc/nginx/...).
Replace the whole server { listen 80; ... } block with:
examples/crash_reporter/backend/nginx.apps-port80.fragment
That file has hub + crashes + build on port 80.
Or run (from repo, with write access to the mount):
sudo ./examples/crash_reporter/backend/scripts/apply-be-port80-nginx.sh
FE (tmp/FE_gentoo/etc/nginx/apps.conf): build must proxy to BE :443 like hub/crashes:
proxy_pass https://artc0.intra.raptor.org/app/androidcast_project/build/;
Do not use http://artc0.intra.raptor.org:80 for build until BE listen 80 includes the build block.
Copy from nginx.fe-apps.conf.fragment or run:
sudo ./examples/crash_reporter/backend/scripts/apply-build-nginx-fix.sh
BE conf.d/apps_builder.frag must use full paths (no ... placeholders). Same script installs the repo fragment.
Use prefix location for the hub (not alias to a single file):
location /app/androidcast_project/ {
alias /var/www/localhost/htdocs/apps/app/androidcast_project/;
index index.php index.html;
}
3. Reload BE
ssh alpine-be 'sudo nginx -t && sudo rc-service nginx reload'
4. Verify
curl -sS -o /dev/null -w "%{http_code}\n" -H "Host: apps.f0xx.org" \
"http://artc0.intra.raptor.org/app/androidcast_project/"
curl -sS -o /dev/null -w "%{http_code}\n" \
"https://apps.f0xx.org/app/androidcast_project/"
FE (optional, not required if location / already proxies to :80)
If crashes on FE still say proxy_pass https://artc0...:8089/.../crashes/, change to:
proxy_pass http://artc0.intra.raptor.org/app/androidcast_project/crashes/;
(same upstream as the hub — port 80, no TLS to BE from FE)