Guia completo para configurar um mini PC como node Polycast. Testado em Ubuntu 22.04 LTS.
- Mini PC com Ubuntu 22.04+ (Beelink S12 Pro, NUC, ou similar)
- Saída HDMI para o projetor
- Conexão Ethernet à rede local da AYA
- SSH key da máquina de authoring autorizada
sudo apt update
sudo apt install -y mpv nodejs npm rsync curl
# Verificar versões
mpv --version # >= 0.32
node --version # >= 18# Criar usuário dedicado
sudo useradd -m -s /bin/bash polycast
sudo mkdir -p /opt/polycast/content
sudo chown -R polycast:polycast /opt/polycast
# Permitir mpv iniciar sem display (precisa estar no grupo video)
sudo usermod -aG video,audio polycast# Clone do repo (ou copiar via rsync da máquina de authoring)
sudo -u polycast git clone https://github.com/sztlink/polycast.git /opt/polycast/app
cd /opt/polycast/app
npm install
# Ou copiar apenas o pacote node-agent:
# rsync -avz polycast@authoring:/path/to/polycast/packages/node-agent/ /opt/polycast/node-agent/sudo -u polycast nano /opt/polycast/config.jsonConteúdo (gerado pelo polycast-export, ajustar se necessário):
{
"nodeId": "node-1",
"masterHost": "192.168.1.100",
"masterPort": 3001,
"videoFile": "/opt/polycast/content/video.mp4"
}sudo cp /opt/polycast/app/packages/node-agent/systemd/polycast-node.service \
/etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable polycast-node
sudo systemctl start polycast-node
# Verificar status
sudo systemctl status polycast-nodePara mpv abrir em fullscreen sem usuário logado, precisa do display server rodando.
# Habilitar autologin para o usuário polycast
sudo mkdir -p /etc/systemd/system/getty@tty1.service.d/
sudo tee /etc/systemd/system/getty@tty1.service.d/autologin.conf << EOF
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin polycast --noclear %I $TERM
EOFConfigurar ~/.bashrc do usuário polycast para iniciar X se TTY1:
# Adicionar no ~/.bashrc do polycast:
if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/tty1 ]]; then
startx
fisudo apt install -y openbox
# Configurar .xinitrc do polycast para abrir apenas openbox
# mpv fullscreen não precisa de WM, mas openbox garante display estávelsudo -u polycast mkdir -p /home/polycast/.ssh
sudo -u polycast tee -a /home/polycast/.ssh/authorized_keys << EOF
[colar aqui a chave pública da máquina de authoring]
EOF
sudo chmod 600 /home/polycast/.ssh/authorized_keys# Testar mpv standalone
mpv --fullscreen --loop=inf /opt/polycast/content/video.mp4
# Testar node-agent
sudo -u polycast node /opt/polycast/app/packages/node-agent/src/index.js
# Ver logs
tail -f ~/polycast.log
journalctl -u polycast-node -fCom o master rodando, abrir http://{master-ip}:3000.
O node deve aparecer na grid com status ● verde.
Se não aparecer:
- Verificar
masterHostnoconfig.json - Verificar que porta 3001 está acessível na rede
- Checar
journalctl -u polycast-node -n 50
| Node | IP | Projetor |
|---|---|---|
| node-1 | 192.168.1.101 | P1 (esq) |
| node-2 | 192.168.1.102 | P2 |
| node-3 | 192.168.1.103 | P3 |
| node-4 | 192.168.1.104 | P4 (dir) |
| master | 192.168.1.100 | — |
Atualizar com IPs reais após setup de rede.