Este guia mostra como configurar sua TV Box com chip RK3229 usando o Armbian, desde a gravação do multitool até o autologin via SSH.
É possível seguir a documentação de instalação com outros chips (amlogic, allwinner e etc), porem é necessario efetuar o teste com imagens apropriadas do armbian.
-
Adaptador de cartão SD para USB
Certifique-se de possuir um adaptador compatível. Você pode comprá-lo aqui. -
Cartão SD com no mínimo 32GB
É necessário um cartão com essa capacidade mínima. Você pode comprá-lo aqui. -
Patch Cord CAT6 É necessário um patch cord para conexao estavel. Você pode comprá-lo aqui.
-
Tv Box É necessário uma tv box com rockchip. Você pode comprá-lo aqui.
Você pode baixa-lo aqui.
sudo unxz -c /home/elima/Downloads/armbian/multitool_f.img.xz | sudo dd of=/dev/sda bs=4M status=progress conv=fsyncAgora mova a imagem do armbian para a pasta images. Você pode baixa-la aqui.
⚠️ Se houver erro ao mover a imagem para a pasta images, desmonte o disco e expanda a partição MULTITOOL.
- Deixe o cartão SD posicionado na bandeja
- Acesse o menu Configurações da TV Box.
- Selecione a opção Redefinição de fábrica.
- Quando a tela exibir "Reiniciando", insira o cartão SD na bandeja .
- Aguarde o processo de boot — pode levar alguns minutos.
- Utilize o cabo HDMI original da TV Box para garantir compatibilidade.
-
Use a seta para baixo até o fim do contrato e pressione Enter.
-
No menu de opções, selecione:
- 3. Erase flash → pressione Enter e aguarde.
- Após sucesso, pressione Enter para continuar.
- 5. Burn image to flash → pressione Enter.
- Selecione o device → pressione Enter.
- Selecione a imagem → pressione Enter.
- Aguarde a gravação.
- Ao final, pressione Enter no botão OK.
-
Volte ao menu e selecione:
- 7. Shutdown
- Remova os seguintes itens da TV Box:
- Fonte da tomada
- Teclado USB
- Cartão SD
⚠️ ⚠️ ⚠️ Remover o cartao irá manter o multitool e armbian para utilizar em outra tv box, caso nao remova-o, o armbian utilizará como um disco com ponto de montagem. ⚠️ ⚠️ ⚠️
-
Insira o cabo de rede RJ45 na porta Ethernet da TV Box.
-
Reconecte o teclado na porta usb.
-
Reconecte a fonte de energia para ligar a TV Box.
⏳ Aguarde o carregamento do Armbian.
- Conecte o teclado USB à TV Box.
- Siga os passos exibidos na tela.
- Ao final, você verá uma tela de login semelhante à de sistemas Linux.
Após reiniciar o dispositivo:
- Faça login com seu usuário e senha.
- Acesse via SSH usando o comando:
ssh usuario@ip-localEssa parte e necessaria para quando ocorrer reboot do sistema.
Execute os comandos abaixo no terminal para configurar o login automático:
sudo mkdir -p /etc/systemd/system/getty@tty1.service.d
sudo nano /etc/systemd/system/getty@tty1.service.d/autologin.conf[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin seu-usuario --noclear %I $TERMAgora você pode:
- Desligar o dispositivo
- Movê-lo para junto do roteador com patch cord de classificação cat6
- Ligá-lo novamente
🔁 O login será automático e o acesso poderá ser feito via SSH.
sudo apt install -y ntfs-3g
sudo lsblk
sudo mkdir -p /mnt/sda
sudo mount -t ntfs-3g /dev/sda1 /mnt/sda
ls -ld /mnt/sda
sudo chown -R $USER:$USER /mnt/sda
df -h
Dica: Voce pode autoatizar a montagem no crontab com a diretiva reboot
- 🔒 Mude a senha para algo mais forte e seguro.
- 🏷️ Renomeie o dispositivo para facilitar sua identificação na rede.
❤️ Feito! Sua TV Box com RK3229 está pronta para rodar Armbian com acesso remoto via SSH. 😎
Securely expose your Nginx web server using the power of Tailscale — a zero-config VPN built on WireGuard. This guide walks you through:
- 🔐 Configuring HTTPS with Tailscale-generated certificates
- 🌐 Mapping host ports to your containerized Nginx instance
- 🛡️ Restricting access to your private tailnet only
Whether you're self-hosting a dashboard, API, or static site, this setup ensures encrypted, authenticated access across your trusted devices — without opening public ports.
📦 Built for Docker environments.
🧩 Compatible with Alpine-based Nginx images.
🧠 Designed for simplicity and security.
Run these commands to create the folder where Nginx will live.
mkdir proxy
cd proxy
Run these commands to creates folder structure
mkdir /html
mkdir -p /etc/nginx/conf.d
mkdir -p /etc/ssl/certs
Go to certs folder
cd /etc/ssl/certs
Run tailscale command to generate ssl certificate for your domain machine
sudo tailscale cert machineName.tailID.ts.net
At Below files, you need replace this domain for your domain's : machineName.tailID.ts.net
This is the docker compose file that creates a nginx container, save it inside proxy folder. /proxy/docker-compose.yml
version: "3.9"
networks:
nginx-net:
driver: bridge
services:
nginx:
image: nginx:stable-alpine3.21
container_name: nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- ./html/index.html:/usr/share/nginx/html/index.html
- ./etc/nginx/conf.d:/etc/nginx/conf.d
- ./etc/nginx/default.conf:/etc/nginx/default.conf
- ./etc/ssl/certs:/etc/ssl/certs
Put this file at /etc/nginx/default.conf
user nginx;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# Zonas de limite (opcional)
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
# Tamanho do nome de dominio
server_names_hash_bucket_size 256;
# Incluir sites
include /conf.d/*.conf;
}
Put this file at /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name machineName.tailID.ts.net;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ =404;
}
}
server {
listen 443 ssl;
server_name machineName.tailID.ts.net;
# Setup valid tls versions
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'HIGH:!aNULL:!MD5';
ssl_prefer_server_ciphers off;
## Access and error logs.
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log info;
## Keep alive timeout set to a greater value for SSL/TLS.
keepalive_timeout 75 75;
ssl_certificate /etc/ssl/certs/machineName.tailID.ts.net.crt;
ssl_certificate_key /etc/ssl/certs/machineName.tailID.ts.net.key;
ssl_session_timeout 5m;
## Strict Transport Security header for enhanced security. See
## http://www.chromium.org/sts. I've set it to 2 hours; set it to
## whichever age you want.
add_header Strict-Transport-Security "max-age=7200";
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ =404;
}
}
At proxy folder's
sudo tailscale up
docker compose up -d
curl -vk machineName.tailID.ts.net
Se você encontrou algum erro, comportamento inesperado ou tem sugestões de melhoria, sua contribuição é muito bem-vinda!
- Acesse a seção de Issues
- Clique em "New Issue".
- Descreva detalhadamente:
- O que você estava tentando fazer
- O que aconteceu de errado
- Passos para reproduzir o problema
- Prints de tela ou logs, se possível
Agradecemos pelo seu apoio e colaboração 💙
⚠️ A formatação deste markdown foi feito com apoio do Copilot⚠️ Os links dos produtos sao monetizados

