Watch
1
0
Fork
You've already forked RedFlag
0
RedFlag/docker-compose.yml
Fimeg ff2f30f47a v0.2.9.3: device classification + ARM support — Pixel 3 lands
DEVICE-002: ARM machine-ID fallback — device-tree model + /etc/machine-id
combo, then /proc/cpuinfo Serial (all-zero rejected), before the weak
hostname fallback. Hardware-bound IDs on DMI-less devices.

DEVICE-001: agent detects device_type (server/desktop/phone/tablet) from
/sys signals — system battery (scope=Device peripherals excluded, UPS
excluded), DRM connector state, framebuffer min-dimension for phone/tablet
split. Reports device_type/device_model/os_distro in registration and
system-info paths.

SERVER-001: migration 061 — device_type, device_type_manual (operator
override, never agent-written), device_model, os_distro on agents.
effective_device_type computed into every serialized agent.

SERVER-002: PUT /admin/agents/:id/device-type — set/clear override,
enum-validated, journaled.

WEB-001: device-type icons + fleet filter, device model in list, detail
header badge with reclassify dropdown, os_distro surfaced.

INSTALL-003: arm64 install path unblocked — helper (required manifest
component) now cross-built aarch64-unknown-linux-musl via rust-lld in the
server image, signed at boot (helperArches += arm64), listed in the release
manifest. Install template already handled uname -m and pacman.

Plus in-flight: desktop tray wiring, enrollment page polish, CI workflow
updates, RAF session-broker/pacman-scanner docs, native installer scaffold.
2026-07-06 18:21:23 -04:00

52 lines
1.3 KiB
YAML

services:
postgres:
image: postgres:16-alpine
container_name: redflag-postgres
volumes:
- postgres-data:/var/lib/postgresql/data
- ./config/.env:/shared/.env:z
ports:
- "31338:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U redflag"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
env_file:
- ./config/.env
server:
build:
context: .
dockerfile: ./server/Dockerfile
args:
BUILD_VERSION: ${BUILD_VERSION:-0.2.9.3}
container_name: redflag-server
volumes:
- server-config:/app/config
- server-data:/app/data
- ./config/.env:/shared/.env:z
depends_on:
postgres:
condition: service_healthy
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/api/health"]
interval: 30s
timeout: 10s
start_period: 15s
retries: 3
ports:
# 31337 = agent/API endpoint, 31336 = dashboard. Same process now —
# the UI is embedded in the server binary; the nginx web container is gone.
- "31337:8080"
- "31336:8080"
command: ["./redflag-server"]
restart: unless-stopped
env_file:
- ./config/.env
volumes:
postgres-data:
server-data:
server-config: