{"id":1165,"date":"2025-08-28T17:04:25","date_gmt":"2025-08-28T15:04:25","guid":{"rendered":"https:\/\/bots.lobobrothers.com\/documentacao\/"},"modified":"2025-12-02T15:46:42","modified_gmt":"2025-12-02T14:46:42","slug":"documentacao","status":"publish","type":"page","link":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/","title":{"rendered":"Documenta\u00e7\u00e3o"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1165\" class=\"elementor elementor-1165 elementor-653\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c85f64f e-flex e-con-boxed e-con e-parent\" data-id=\"c85f64f\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-63bbf9e e-flex e-con-boxed e-con e-parent\" data-id=\"63bbf9e\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-26b5274 elementor-widget elementor-widget-html\" data-id=\"26b5274\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html>\r\n<head>\r\n    <title>Manual de Configura\u00e7\u00e3o LoboGuard<\/title>\r\n    <style>\r\n\/* VARI\u00c1VEIS CSS *\/\r\n:root {\r\n    --primary-color: #e53e3e;\r\n    --secondary-color: #38d9a9;\r\n    --accent-color: #4fd1c7;\r\n    --success-color: #38d9a9;\r\n    --warning-color: #ffc107;\r\n    --error-color: #e53e3e;\r\n    --info-color: #3182ce;\r\n    \r\n    --bg-primary: #1a202c;\r\n    --bg-secondary: #2d3748;\r\n    --bg-tertiary: #4a5568;\r\n    --bg-card: #2d3748;\r\n    \r\n    --text-primary: #f7fafc;\r\n    --text-secondary: #cbd5e0;\r\n    --text-muted: #a0aec0;\r\n    \r\n    --border-color: #4a5568;\r\n    --border-light: #718096;\r\n    \r\n    --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);\r\n    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4);\r\n    \r\n    --radius: 8px;\r\n    --radius-lg: 12px;\r\n}\r\n\r\n\/* RESET E BASE *\/\r\n* {\r\n    margin: 0;\r\n    padding: 0;\r\n    box-sizing: border-box;\r\n}\r\n\r\nbody {\r\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;\r\n    background: var(--bg-primary);\r\n    color: var(--text-primary);\r\n    line-height: 1.6;\r\n}\r\n\r\n\/* LAYOUT PRINCIPAL *\/\r\n.manual-container {\r\n    display: grid;\r\n    grid-template-columns: 300px 1fr;\r\n    gap: 30px;\r\n    max-width: 1400px;\r\n    margin: 0 auto;\r\n    padding: 20px;\r\n    min-height: 100vh;\r\n}\r\n\r\n@media (max-width: 1024px) {\r\n    .manual-container {\r\n        grid-template-columns: 1fr;\r\n        gap: 20px;\r\n    }\r\n}\r\n\r\n\/* SIDEBAR NAVEGA\u00c7\u00c3O *\/\r\n.manual-nav {\r\n    background: var(--bg-secondary);\r\n    border-radius: var(--radius-lg);\r\n    padding: 24px;\r\n    border: 1px solid var(--border-color);\r\n    box-shadow: var(--shadow);\r\n    height: fit-content;\r\n    position: sticky;\r\n    top: 20px;\r\n}\r\n\r\n.manual-nav h3 {\r\n    color: var(--text-primary);\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n    margin-bottom: 20px;\r\n    padding-bottom: 12px;\r\n    border-bottom: 2px solid var(--primary-color);\r\n}\r\n\r\n.manual-nav ul {\r\n    list-style: none;\r\n}\r\n\r\n.manual-nav li {\r\n    margin-bottom: 8px;\r\n}\r\n\r\n.manual-nav a {\r\n    display: block;\r\n    padding: 12px 16px;\r\n    color: var(--text-secondary);\r\n    text-decoration: none;\r\n    border-radius: var(--radius);\r\n    transition: all 0.3s ease;\r\n    font-weight: 500;\r\n    border-left: 3px solid transparent;\r\n}\r\n\r\n.manual-nav a:hover {\r\n    background: var(--bg-tertiary);\r\n    color: var(--text-primary);\r\n    border-left-color: var(--secondary-color);\r\n}\r\n\r\n.manual-nav a.active {\r\n    background: var(--primary-color);\r\n    color: white;\r\n    border-left-color: var(--secondary-color);\r\n}\r\n\r\n\/* CONTE\u00daDO PRINCIPAL *\/\r\n.manual-content {\r\n    background: var(--bg-secondary);\r\n    border-radius: var(--radius-lg);\r\n    padding: 40px;\r\n    border: 1px solid var(--border-color);\r\n    box-shadow: var(--shadow);\r\n    width: 100%;\r\n    max-width: 1100px;\r\n    min-width: 800px;\r\n}\r\n\r\n@media (max-width: 1024px) {\r\n    .manual-content {\r\n        min-width: auto;\r\n        max-width: 100%;\r\n    }\r\n}\r\n\r\n.manual-section {\r\n    display: none;\r\n}\r\n\r\n.manual-section.active {\r\n    display: block;\r\n    animation: fadeIn 0.4s ease;\r\n}\r\n\r\n@keyframes fadeIn {\r\n    from { opacity: 0; transform: translateY(10px); }\r\n    to { opacity: 1; transform: translateY(0); }\r\n}\r\n\r\n\/* TIPOGRAFIA *\/\r\nh2 {\r\n    color: var(--primary-color);\r\n    font-size: 32px;\r\n    font-weight: 700;\r\n    margin-bottom: 32px;\r\n    padding-bottom: 16px;\r\n    border-bottom: 2px solid var(--primary-color);\r\n}\r\n\r\nh3 {\r\n    color: var(--secondary-color);\r\n    font-size: 24px;\r\n    font-weight: 600;\r\n    margin: 32px 0 20px 0;\r\n}\r\n\r\nh4 {\r\n    color: var(--text-primary);\r\n    font-size: 20px;\r\n    font-weight: 600;\r\n    margin: 24px 0 16px 0;\r\n}\r\n\r\nh5 {\r\n    color: var(--text-primary);\r\n    font-size: 16px;\r\n    font-weight: 600;\r\n    margin: 20px 0 12px 0;\r\n}\r\n\r\np {\r\n    color: var(--text-secondary);\r\n    margin: 16px 0;\r\n    line-height: 1.7;\r\n}\r\n\r\nul, ol {\r\n    margin: 16px 0;\r\n    padding-left: 24px;\r\n}\r\n\r\nli {\r\n    color: var(--text-secondary);\r\n    margin: 8px 0;\r\n}\r\n\r\n\/* AVISOS *\/\r\n.manual-warning,\r\n.manual-important,\r\n.manual-tip {\r\n    padding: 20px 24px;\r\n    margin: 24px 0;\r\n    border-radius: var(--radius);\r\n    border-left: 4px solid;\r\n    position: relative;\r\n}\r\n\r\n.manual-warning {\r\n    background: rgba(255, 193, 7, 0.1);\r\n    border-color: var(--warning-color);\r\n    color: #ffd43b;\r\n}\r\n\r\n.manual-important {\r\n    background: rgba(56, 178, 172, 0.1);\r\n    border-color: var(--info-color);\r\n    color: var(--accent-color);\r\n}\r\n\r\n.manual-tip {\r\n    background: rgba(56, 217, 169, 0.1);\r\n    border-color: var(--success-color);\r\n    color: var(--success-color);\r\n}\r\n\r\n\/* C\u00d3DIGO *\/\r\n.manual-example {\r\n    background: var(--bg-primary);\r\n    border: 1px solid var(--border-color);\r\n    border-radius: var(--radius);\r\n    padding: 20px;\r\n    margin: 20px 0;\r\n    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\r\n    font-size: 14px;\r\n    color: var(--secondary-color);\r\n    overflow-x: auto;\r\n}\r\n\r\n\/* TABELAS *\/\r\n.manual-table {\r\n    margin: 24px 0;\r\n    overflow-x: auto;\r\n    border-radius: var(--radius);\r\n    border: 1px solid var(--border-color);\r\n    background: var(--bg-card);\r\n}\r\n\r\n.manual-table table {\r\n    width: 100%;\r\n    border-collapse: collapse;\r\n}\r\n\r\n.manual-table th {\r\n    background: var(--bg-primary);\r\n    color: var(--text-primary);\r\n    padding: 16px 20px;\r\n    text-align: left;\r\n    font-weight: 600;\r\n    border-bottom: 1px solid var(--border-color);\r\n}\r\n\r\n.manual-table td {\r\n    padding: 16px 20px;\r\n    border-bottom: 1px solid var(--border-color);\r\n    color: var(--text-secondary);\r\n    vertical-align: top;\r\n}\r\n\r\n.manual-table tr:last-child td {\r\n    border-bottom: none;\r\n}\r\n\r\n.manual-table tr:hover {\r\n    background: var(--bg-tertiary);\r\n}\r\n\r\n\/* GRADE DE FUNCIONALIDADES *\/\r\n.manual-features-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));\r\n    gap: 24px;\r\n    margin: 32px 0;\r\n}\r\n\r\n.manual-feature-card {\r\n    background: var(--bg-card);\r\n    border: 1px solid var(--secondary-color);\r\n    border-radius: var(--radius);\r\n    padding: 24px;\r\n    transition: all 0.3s ease;\r\n    box-shadow: var(--shadow);\r\n}\r\n\r\n.manual-feature-card:hover {\r\n    box-shadow: var(--shadow-lg);\r\n    transform: translateY(-4px);\r\n    border-color: var(--accent-color);\r\n}\r\n\r\n.manual-feature-card h4 {\r\n    color: var(--secondary-color);\r\n    margin: 0 0 16px 0;\r\n    font-size: 18px;\r\n}\r\n\r\n.manual-feature-card p {\r\n    margin: 0 0 16px 0;\r\n    font-size: 14px;\r\n}\r\n\r\n.manual-feature-card ul {\r\n    margin: 0;\r\n    padding-left: 20px;\r\n}\r\n\r\n.manual-feature-card li {\r\n    font-size: 14px;\r\n    margin: 8px 0;\r\n}\r\n\r\n\/* PASSOS *\/\r\n.manual-steps {\r\n    margin: 24px 0;\r\n}\r\n\r\n.manual-steps h4 {\r\n    background: var(--primary-color);\r\n    color: white;\r\n    padding: 12px 20px;\r\n    border-radius: var(--radius);\r\n    margin: 20px 0 16px 0;\r\n    font-size: 16px;\r\n}\r\n\r\n.manual-steps ol {\r\n    background: var(--bg-card);\r\n    border-radius: var(--radius);\r\n    padding: 20px 24px 20px 44px;\r\n    margin: 0 0 20px 0;\r\n    border: 1px solid var(--border-color);\r\n}\r\n\r\n\/* LISTA CHECKBOX *\/\r\n.manual-checkbox-list {\r\n    margin: 20px 0;\r\n}\r\n\r\n.checkbox-item {\r\n    display: flex;\r\n    align-items: flex-start;\r\n    margin: 12px 0;\r\n    padding: 8px 0;\r\n}\r\n\r\n.checkbox-item::before {\r\n    content: \"\u2705\";\r\n    margin-right: 12px;\r\n    flex-shrink: 0;\r\n    font-size: 16px;\r\n}\r\n\r\n\/* CREDENCIAIS *\/\r\n.manual-credentials {\r\n    background: var(--bg-card);\r\n    border: 1px solid var(--border-color);\r\n    border-radius: var(--radius);\r\n    padding: 20px;\r\n    margin: 20px 0;\r\n}\r\n\r\n.manual-credentials h5 {\r\n    margin: 0 0 12px 0;\r\n    font-weight: 600;\r\n    color: var(--text-primary);\r\n}\r\n\r\n\/* IMAGENS *\/\r\n.manual-image-container {\r\n    margin: 32px 0;\r\n    text-align: center;\r\n}\r\n\r\n.manual-image {\r\n    max-width: 100%;\r\n    height: auto;\r\n    border-radius: var(--radius);\r\n    border: 1px solid var(--border-color);\r\n    box-shadow: var(--shadow);\r\n}\r\n\r\n\/* NAVEGA\u00c7\u00c3O SE\u00c7\u00d5ES *\/\r\n.section-navigation {\r\n    margin-top: 48px;\r\n    padding-top: 32px;\r\n    border-top: 1px solid var(--border-color);\r\n}\r\n\r\n.section-nav-container {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    gap: 20px;\r\n}\r\n\r\n.section-nav-btn {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 12px;\r\n    padding: 12px 20px;\r\n    background: var(--bg-card);\r\n    border: 1px solid var(--border-color);\r\n    border-radius: var(--radius);\r\n    color: var(--text-primary);\r\n    text-decoration: none;\r\n    transition: all 0.3s ease;\r\n    cursor: pointer;\r\n    font-size: 14px;\r\n}\r\n\r\n.section-nav-btn:hover:not(:disabled) {\r\n    background: var(--primary-color);\r\n    color: white;\r\n    border-color: var(--primary-color);\r\n}\r\n\r\n.section-nav-btn:disabled {\r\n    opacity: 0.5;\r\n    cursor: not-allowed;\r\n}\r\n\r\n.nav-text {\r\n    display: flex;\r\n    flex-direction: column;\r\n    text-align: left;\r\n}\r\n\r\n.nav-label {\r\n    font-size: 12px;\r\n    opacity: 0.8;\r\n    font-weight: 500;\r\n}\r\n\r\n.nav-title {\r\n    font-size: 14px;\r\n    font-weight: 600;\r\n}\r\n\r\n.section-counter {\r\n    background: var(--bg-primary);\r\n    padding: 8px 16px;\r\n    border-radius: var(--radius);\r\n    font-size: 14px;\r\n    font-weight: 600;\r\n    color: var(--secondary-color);\r\n    border: 1px solid var(--border-color);\r\n}\r\n\r\n\/* RESPONSIVE *\/\r\n@media (max-width: 768px) {\r\n    .manual-container {\r\n        padding: 10px;\r\n    }\r\n    \r\n    .manual-content {\r\n        padding: 24px;\r\n    }\r\n    \r\n    .manual-nav {\r\n        position: static;\r\n        margin-bottom: 20px;\r\n    }\r\n    \r\n    .manual-features-grid {\r\n        grid-template-columns: 1fr;\r\n    }\r\n    \r\n    .section-nav-container {\r\n        flex-direction: column;\r\n        gap: 16px;\r\n    }\r\n    \r\n    .section-nav-btn {\r\n        width: 100%;\r\n        justify-content: center;\r\n    }\r\n}\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"manual-container\">\r\n    <!-- SIDEBAR NAVEGA\u00c7\u00c3O -->\r\n    <nav class=\"manual-nav\">\r\n        <h2 style=\"font-size: 18px; margin: 32px 0 20px 0;\">\u00cdndice<\/h2>\r\n        <ul>\r\n            <li><a href=\"#introduction\" class=\"nav-item active\">Introdu\u00e7\u00e3o<\/a><\/li>\r\n            <li><a href=\"#telegram-bot-setup\" class=\"nav-item\">Configura\u00e7\u00e3o Bot Telegram<\/a><\/li>\r\n            <li><a href=\"#telegram-ids\" class=\"nav-item\">IDs Telegram<\/a><\/li>\r\n            <li><a href=\"#initial-access\" class=\"nav-item\">Acesso Inicial<\/a><\/li>\r\n            <li><a href=\"#bot-configuration\" class=\"nav-item\">Configura\u00e7\u00e3o Bot<\/a><\/li>\r\n            <li><a href=\"#cluster-configuration\" class=\"nav-item\">Configura\u00e7\u00e3o Cluster<\/a><\/li>\r\n            <li><a href=\"#system-administration\" class=\"nav-item\">Administra\u00e7\u00e3o Sistema<\/a><\/li>\r\n            <li><a href=\"#verification-testing\" class=\"nav-item\">Verifica\u00e7\u00e3o e Testes<\/a><\/li>\r\n        <\/ul>\r\n    <\/nav>\r\n\r\n    <!-- CONTE\u00daDO PRINCIPAL -->\r\n    <div class=\"manual-content\">\r\n        \r\n        <!-- SE\u00c7\u00c3O 1: INTRODU\u00c7\u00c3O -->\r\n        <section id=\"introduction\" class=\"manual-section active\">\r\n            <h2>Introdu\u00e7\u00e3o<\/h2>\r\n            \r\n            <h3>Descri\u00e7\u00e3o Geral<\/h3>\r\n            <p>LoboGuard \u00e9 uma solu\u00e7\u00e3o avan\u00e7ada e segura de monitoramento, alerta, gest\u00e3o e relat\u00f3rios para infraestruturas Proxmox, utilizando o Telegram como interface de controle remoto e alertas. Este manual fornece um guia completo para a configura\u00e7\u00e3o inicial do sistema.<\/p>\r\n            \r\n            <h3>Pr\u00e9-requisitos<\/h3>\r\n            <ul>\r\n                <li>Acesso ao Telegram (app m\u00f3vel, desktop ou web)<\/li>\r\n                <li>Chave de licen\u00e7a LoboBrothers v\u00e1lida<\/li>\r\n                <li>Servidor LoboGuard implementado e acess\u00edvel<\/li>\r\n                <li>Clusters Proxmox com acesso \u00e0 API do LoboGuard<\/li>\r\n            <\/ul>\r\n\r\n            <h3>Funcionalidades Principais<\/h3>\r\n            <div class=\"manual-features-grid\">\r\n                <div class=\"manual-feature-card\">\r\n                    <h4>Monitoramento<\/h4>\r\n                    <p>Supervis\u00e3o cont\u00ednua de:<\/p>\r\n                    <ul>\r\n                        <li><strong>CPU e Mem\u00f3ria<\/strong><\/li>\r\n                        <li><strong>Discos e Estados<\/strong><\/li>\r\n                        <li><strong>VMs\/LXCs<\/strong><\/li>\r\n                        <li><strong>N\u00f3s<\/strong><\/li>\r\n                        <li><strong>Armazenamento<\/strong><\/li>\r\n                        <li><strong>Redes<\/strong><\/li>\r\n                        <li><strong>Backups<\/strong><\/li>\r\n                        <li><strong>CEPH<\/strong><\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n\r\n                <div class=\"manual-feature-card\">\r\n                    <h4>Alertas inteligentes<\/h4>\r\n                    <p>Notifica\u00e7\u00f5es autom\u00e1ticas via Telegram com v\u00e1rios tipos de alerta:<\/p>\r\n                    <ul>\r\n                        <li><strong>Alertas de recursos (CPU, RAM, Disco)<\/strong><\/li>\r\n                        <li><strong>Alertas de certificados SSL\/TLS<\/strong><\/li>\r\n                        <li><strong>Alertas de sincroniza\u00e7\u00e3o de tempo<\/strong><\/li>\r\n                        <li><strong>Alertas de firewall e seguran\u00e7a<\/strong><\/li>\r\n                        <li><strong>Alertas de Alta Disponibilidade<\/strong><\/li>\r\n                        <li><strong>Alertas de armazenamento Ceph e ZFS<\/strong><\/li>\r\n                        <li><strong>Alertas de backup e snapshots<\/strong><\/li>\r\n                        <li><strong>Alertas de subscri\u00e7\u00e3o do sistema<\/strong><\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n\r\n                <div class=\"manual-feature-card\">\r\n                    <h4>Relat\u00f3rios<\/h4>\r\n                    <p>Manuais e programados para:<\/p>\r\n                    <ul>\r\n                        <li><strong>Estado Geral<\/strong><\/li>\r\n                        <li><strong>Estado VM\/LXC<\/strong><\/li>\r\n                        <li><strong>Armazenamento<\/strong><\/li>\r\n                        <li><strong>Backups<\/strong><\/li>\r\n                        <li><strong>Redes<\/strong><\/li>\r\n                        <li><strong>Ceph<\/strong><\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n\r\n                <div class=\"manual-feature-card\">\r\n                    <h4>Arquitetura de Seguran\u00e7a Avan\u00e7ada<\/h4>\r\n                    <p>LoboGuard implementa m\u00faltiplas camadas de seguran\u00e7a para proteger sua infraestrutura:<\/p>\r\n                    <ul>\r\n                        <li><strong>Autentica\u00e7\u00e3o Multi-Fator<\/strong><\/li>\r\n                        <li><strong>Controle de Acesso Granular<\/strong><\/li>\r\n                        <li><strong>Prote\u00e7\u00e3o Anti-Brute Force<\/strong><\/li>\r\n                        <li><strong>Auditoria Completa<\/strong><\/li>\r\n                        <li><strong>Tokens \u00danicos<\/strong><\/li>\r\n                        <li><strong>Timeouts de Sess\u00e3o<\/strong><\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n\r\n                <div class=\"manual-feature-card\">\r\n                    <h4>Gest\u00e3o remota<\/h4>\r\n                    <p>Controle via Telegram com autentica\u00e7\u00e3o segura:<\/p>\r\n                    <ul>\r\n                        <li><strong>Ligar, desligar, reiniciar VMs\/LXCs<\/strong><\/li>\r\n                        <li><strong>Gest\u00e3o e execu\u00e7\u00e3o de backups<\/strong><\/li>\r\n                        <li><strong>Gest\u00e3o e execu\u00e7\u00e3o de snapshots<\/strong><\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n\r\n                <div class=\"manual-feature-card\">\r\n                    <h4>Multi-cluster<\/h4>\r\n                    <p>Suporte para m\u00faltiplos ambientes Proxmox conforme a licen\u00e7a<\/p>\r\n                    <ul>\r\n                        <li><strong>Basic 1 cluster<\/strong><\/li>\r\n                        <li><strong>Pro 3 clusters<\/strong><\/li>\r\n                        <li><strong>Max 10 clusters<\/strong><\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- SE\u00c7\u00c3O 2: CONFIGURA\u00c7\u00c3O BOT TELEGRAM -->\r\n        <section id=\"telegram-bot-setup\" class=\"manual-section\">\r\n            <h2>Configura\u00e7\u00e3o Bot Telegram<\/h2>\r\n            \r\n            <h3>Acesso ao BotFather<\/h3>\r\n            <div class=\"manual-steps\">\r\n                <h4>Passo 1: Aceder \u00e0 aplica\u00e7\u00e3o Telegram<\/h4>\r\n                <ol>\r\n                    <li>Abrir o Telegram (m\u00f3vel, desktop ou web)<\/li>\r\n                    <li>Na barra de pesquisa, digitar: @BotFather<\/li>\r\n                    <li>Clicar no bot oficial verificado com \u2705<\/li>\r\n                    <li>Pressionar START ou enviar \/start<\/li>\r\n                <\/ol>\r\n            <\/div>\r\n\r\n            <h3>Criar Novo Bot<\/h3>\r\n            <div class=\"manual-steps\">\r\n                <h4>Passo 1: Iniciar a cria\u00e7\u00e3o<\/h4>\r\n                <div class=\"manual-example\">\r\n                    <strong>Comando:<\/strong> \/newbot\r\n                <\/div>\r\n\r\n                <h4>Passo 2: Configurar o nome do bot<\/h4>\r\n                <ul>\r\n                    <li>BotFather pedir\u00e1 o nome do bot<\/li>\r\n                    <li>Responder com um nome descritivo: Bot de Gest\u00e3o LoboGuard<\/li>\r\n                <\/ul>\r\n\r\n                <h4>Passo 3: Configurar o nome de utilizador do bot<\/h4>\r\n                <ul>\r\n                    <li>Deve terminar com \"bot\"<\/li>\r\n                    <li>Deve ser \u00fanico em toda a plataforma Telegram<\/li>\r\n                    <li>Pode conter apenas letras, n\u00fameros e underscores<\/li>\r\n                    <li>Exemplo: loboguard_mgmt_bot<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n\r\n            <h3>Obter Token do Bot<\/h3>\r\n            <p>Uma vez completado o processo, BotFather fornecer\u00e1:<\/p>\r\n\r\n            <div class=\"manual-warning\">\r\n                <strong>IMPORTANTE<\/strong>\r\n                <ul>\r\n                    <li>Copiar e guardar o token imediatamente<\/li>\r\n                    <li>N\u00c3O partilhar o token com terceiros<\/li>\r\n                    <li>Este token \u00e9 a chave de acesso ao seu bot<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- SE\u00c7\u00c3O 3: IDS TELEGRAM -->\r\n        <section id=\"telegram-ids\" class=\"manual-section\">\r\n            <h2>IDs Telegram<\/h2>\r\n\r\n            <h3>Obter o seu ID de Chat Pessoal<\/h3>\r\n            \r\n            <h4>M\u00e9todo 1: Usar bot auxiliar<\/h4>\r\n            <ol>\r\n                <li>Procurar @userinfobot no Telegram<\/li>\r\n                <li>Enviar-lhe \/start<\/li>\r\n                <li>O bot responder\u00e1 com as suas informa\u00e7\u00f5es:<\/li>\r\n            <\/ol>\r\n            <div class=\"manual-example\">\r\nID: 123456789 \u2190 Este \u00e9 o seu Chat ID<br>\r\nFirst: Seu Nome<br>\r\nLang: pt\r\n            <\/div>\r\n\r\n            <h4>M\u00e9todo 2: Usar o seu pr\u00f3prio bot<\/h4>\r\n            <ol>\r\n                <li>Enviar \/start ao seu bot rec\u00e9m-criado<\/li>\r\n                <li>Abrir no navegador: https:\/\/api.telegram.org\/bot<SEU_TOKEN>\/getUpdates<\/li>\r\n                <li>Substituir <SEU_TOKEN> pelo seu token do bot<\/li>\r\n                <li>Procurar o campo \"id\" em \"from\": 12345678910<\/li>\r\n            <\/ol>\r\n\r\n            <h3>Criar e Configurar Grupo Privado para Alertas<\/h3>\r\n            \r\n            <div class=\"manual-steps\">\r\n                <h4>Passo 1: Criar grupo privado<\/h4>\r\n                <ul>\r\n                    <li>Criar \"Novo Grupo\" no Telegram<\/li>\r\n                    <li>Nome de exemplo: \"Alertas LoboGuard\"<\/li>\r\n                    <li>Adicionar administradores que receber\u00e3o alertas<\/li>\r\n                <\/ul>\r\n\r\n                <h4>Passo 2: Adicionar bot ao grupo<\/h4>\r\n                <ul>\r\n                    <li>Ir \u00e0s informa\u00e7\u00f5es do grupo \u2192 Editar<\/li>\r\n                    <li>Selecionar Adicionar membros<\/li>\r\n                    <li>Procurar o seu bot: @loboguard_mgmt_bot<\/li>\r\n                    <li>Adicion\u00e1-lo ao grupo<\/li>\r\n                <\/ul>\r\n\r\n                <h4>Passo 3: Configurar permiss\u00f5es<\/h4>\r\n                <p>Nas informa\u00e7\u00f5es do grupo:<\/p>\r\n                <div class=\"manual-checkbox-list\">\r\n                    <div class=\"checkbox-item\">Enviar mensagens<\/div>\r\n                    <div class=\"checkbox-item\">Enviar media<\/div>\r\n                    <div class=\"checkbox-item\">Fixar Mensagens<\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <h3>Obter ID do Chat de Grupo<\/h3>\r\n            <div class=\"manual-steps\">\r\n                <h4>M\u00e9todo simples: No Telegram Web<\/h4>\r\n                <ul>\r\n                    <li>Selecionar o grupo<\/li>\r\n                    <li>Na barra do navegador: https:\/\/web.telegram.org\/k\/#-4819707521<\/li>\r\n                    <li>O ID do grupo \u00e9: -4819707521 (sempre com sinal negativo para grupos privados)<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- SE\u00c7\u00c3O 4: ACESSO INICIAL -->\r\n        <section id=\"initial-access\" class=\"manual-section\">\r\n            <h2>Acesso Inicial e Configura\u00e7\u00e3o<\/h2>\r\n\r\n            <h3>Acesso ao Sistema<\/h3>\r\n            <div class=\"manual-steps\">\r\n                <h4>Passo 1: Aceder ao servidor<\/h4>\r\n                <ul>\r\n                    <li>Navegar para: https:\/\/IP_SERVIDOR:8443<\/li>\r\n                    <li>Exemplo: https:\/\/192.168.1.139:8443<\/li>\r\n                <\/ul>\r\n\r\n                <h4>Passo 2: Tratar aviso do certificado<\/h4>\r\n                <p>Os navegadores mostrar\u00e3o avisos como:<\/p>\r\n                <ul>\r\n                    <li>Chrome: \"A sua liga\u00e7\u00e3o n\u00e3o \u00e9 privada\"<\/li>\r\n                    <li>Firefox: \"Aviso: Risco de seguran\u00e7a potencial\"<\/li>\r\n                <\/ul>\r\n\r\n                <h4>Passo 3: Aceitar certificado<\/h4>\r\n                <ul>\r\n                    <li>Clicar em Configura\u00e7\u00f5es avan\u00e7adas<\/li>\r\n                    <li>Selecionar Continuar para [IP] (n\u00e3o seguro)<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n\r\n            <div class=\"manual-important\">\r\n                <strong>Nota de Seguran\u00e7a<\/strong>\r\n                <p>O certificado auto-assinado \u00e9 seguro e um novo \u00e9 gerado a cada instala\u00e7\u00e3o, embora se quiser evitar avisos do navegador, pode posteriormente carregar o seu pr\u00f3prio certificado SSL a partir da interface de administra\u00e7\u00e3o.<\/p>\r\n            <\/div>\r\n\r\n            <h3>Primeiro Acesso e Altera\u00e7\u00e3o de Password<\/h3>\r\n            <div class=\"manual-credentials\">\r\n                <h5>Credenciais predefinidas:<\/h5>\r\n                <div class=\"manual-example\">\r\n                    <strong>Nome de utilizador:<\/strong> lobo<br>\r\n                    <strong>Password:<\/strong> guard\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <p>Altera\u00e7\u00e3o de password obrigat\u00f3ria: O sistema redirecionar\u00e1 automaticamente para altera\u00e7\u00e3o de password.<\/p>\r\n\r\n            <h4>Requisitos da nova password:<\/h4>\r\n            <div class=\"manual-checkbox-list\">\r\n                <div class=\"checkbox-item\">M\u00ednimo 8 caracteres<\/div>\r\n                <div class=\"checkbox-item\">Uma letra mai\u00fascula (A-Z)<\/div>\r\n                <div class=\"checkbox-item\">Uma letra min\u00fascula (a-z)<\/div>\r\n                <div class=\"checkbox-item\">Um n\u00famero (0-9)<\/div>\r\n            <\/div>\r\n\r\n            <h3>Aceder ao Painel de Configura\u00e7\u00e3o<\/h3>\r\n            <p>Uma vez alterada a password:<\/p>\r\n            <ol>\r\n                <li>Clicar em Configura\u00e7\u00e3o no menu superior<\/li>\r\n                <li>Aceder\u00e1 ao assistente de configura\u00e7\u00e3o passo a passo<\/li>\r\n            <\/ol>\r\n        <\/section>\r\n\r\n        <!-- SE\u00c7\u00c3O 5: CONFIGURA\u00c7\u00c3O BOT -->\r\n        <section id=\"bot-configuration\" class=\"manual-section\">\r\n            <h2>Configura\u00e7\u00e3o Bot (Assistente)<\/h2>\r\n            <p>O assistente guia atrav\u00e9s de 6 passos essenciais para configurar completamente o LoboGuard.<\/p>\r\n\r\n            <h3>Configura\u00e7\u00e3o Licen\u00e7a (Passo 1\/6)<\/h3>\r\n            <div class=\"manual-steps\">\r\n                <h4>Configura\u00e7\u00e3o:<\/h4>\r\n                <ol>\r\n                    <li>Inserir a chave de licen\u00e7a fornecida pela LoboBrothers<\/li>\r\n                    <li>Clicar Seguinte para validar<\/li>\r\n                <\/ol>\r\n            <\/div>\r\n\r\n            <div class=\"manual-warning\">\r\n                <strong>Importante<\/strong>\r\n                <p>Uma vez ativada numa m\u00e1quina, a licen\u00e7a n\u00e3o pode ser transferida para outra. Para altera\u00e7\u00f5es, contactar o suporte.<\/p>\r\n            <\/div>\r\n\r\n            <h3>Configura\u00e7\u00e3o Telegram (Passo 2\/6)<\/h3>\r\n            <div class=\"manual-table\">\r\n                <table>\r\n                    <thead>\r\n                        <tr>\r\n                            <th>Campo<\/th>\r\n                            <th>Descri\u00e7\u00e3o<\/th>\r\n                            <th>Exemplo<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody>\r\n                        <tr>\r\n                            <td>Token Bot<\/td>\r\n                            <td>Token completo do BotFather<\/td>\r\n                            <td>8452961006:AAHWhRkptJ937RgUgd5vC-Ml6biyyrME76I<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Chat ID<\/td>\r\n                            <td>ID pessoal para gest\u00e3o<\/td>\r\n                            <td>123456789<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Chat ID Alertas<\/td>\r\n                            <td>ID do grupo para alertas<\/td>\r\n                            <td>-123456789 ou -100123456789<\/td>\r\n                        <\/tr>\r\n                    <\/tbody>\r\n                <\/table>\r\n            <\/div>\r\n\r\n            <div class=\"manual-tip\">\r\n                <strong>Dica:<\/strong>\r\n                <p>Se houver problemas com o Chat ID Alertas, tente adicionar o prefixo -100 antes do ID do grupo, \u00e0s vezes o ID real para a API \u00e9 com -100 \u00e0 frente.<\/p>\r\n            <\/div>\r\n\r\n            <p>Testar liga\u00e7\u00e3o: Clicar em Testar liga\u00e7\u00e3o Telegram. Se bem-sucedido, receber\u00e1 mensagens de confirma\u00e7\u00e3o em ambos os chats.<\/p>\r\n\r\n            <h3>Configura\u00e7\u00e3o Seguran\u00e7a (Passo 3\/6)<\/h3>\r\n            <div class=\"manual-table\">\r\n                <table>\r\n                    <thead>\r\n                        <tr>\r\n                            <th>Par\u00e2metro<\/th>\r\n                            <th>Descri\u00e7\u00e3o<\/th>\r\n                            <th>Recomenda\u00e7\u00e3o<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody>\r\n                        <tr>\r\n                            <td>Bot Secret<\/td>\r\n                            <td>Chave de acesso inicial<\/td>\r\n                            <td>Usar password segura<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>ID Admin<\/td>\r\n                            <td>Super administrador do bot<\/td>\r\n                            <td>O seu Chat ID pessoal<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Dura\u00e7\u00e3o Ban<\/td>\r\n                            <td>Tempo de bloqueio ap\u00f3s falhas<\/td>\r\n                            <td>3600 segundos (1 hora)<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Tentativas Auth M\u00e1x<\/td>\r\n                            <td>Tentativas antes do ban<\/td>\r\n                            <td>5 tentativas<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Contagem Ban M\u00e1x<\/td>\r\n                            <td>Quantos bans antes do ban permanente<\/td>\r\n                            <td>3 tentativas<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>M\u00e9todo Confirma\u00e7\u00e3o<\/td>\r\n                            <td>PIN e OTP (para a\u00e7\u00f5es cr\u00edticas)<\/td>\r\n                            <td>OTP (mais seguro e recomendado para produ\u00e7\u00e3o) PIN (desenvolvimento ou conveni\u00eancia)<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Tentativas PIN M\u00e1x<\/td>\r\n                            <td>Tentativas PIN<\/td>\r\n                            <td>3 tentativas<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Tentativas OTP M\u00e1x<\/td>\r\n                            <td>Tentativas c\u00f3digo OTP<\/td>\r\n                            <td>3 tentativas<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Expira\u00e7\u00e3o OTP<\/td>\r\n                            <td>Validade do c\u00f3digo<\/td>\r\n                            <td>300 segundos (5 min)<\/td>\r\n                        <\/tr>\r\n                    <\/tbody>\r\n                <\/table>\r\n            <\/div>\r\n\r\n            <h4>Fun\u00e7\u00f5es Admin:<\/h4>\r\n            <p>Apenas o admin ter\u00e1 estas funcionalidades adicionais no Telegram, os outros receber\u00e3o uma mensagem proibida.<\/p>\r\n            <ul>\r\n                <li><strong>\/auth_status:<\/strong> Ver utilizadores autenticados<\/li>\r\n                <li><strong>\/reset_auth:<\/strong> Repor autentica\u00e7\u00f5es e bans<\/li>\r\n            <\/ul>\r\n\r\n            <h3>Configura\u00e7\u00e3o Email (Passo 4\/6)<\/h3>\r\n            <div class=\"manual-table\">\r\n                <table>\r\n                    <thead>\r\n                        <tr>\r\n                            <th>Campo<\/th>\r\n                            <th>Gmail<\/th>\r\n                            <th>Outlook<\/th>\r\n                            <th>Personalizado<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody>\r\n                        <tr>\r\n                            <td>Servidor SMTP<\/td>\r\n                            <td>smtp.gmail.com<\/td>\r\n                            <td>smtp.outlook.com<\/td>\r\n                            <td>seu.servidor.smtp<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Porta SMTP<\/td>\r\n                            <td>587 (STARTTLS)<\/td>\r\n                            <td>587 (STARTTLS)<\/td>\r\n                            <td>587\/465\/25<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Tipo Seguran\u00e7a<\/td>\r\n                            <td>STARTTLS<\/td>\r\n                            <td>STARTTLS<\/td>\r\n                            <td>Conforme o provedor<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Nome utilizador<\/td>\r\n                            <td>voce@gmail.com<\/td>\r\n                            <td>voce@outlook.com<\/td>\r\n                            <td>seu.utilizador<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Password<\/td>\r\n                            <td>Password App<\/td>\r\n                            <td>Password Normal\/App<\/td>\r\n                            <td>A sua password<\/td>\r\n                        <\/tr>\r\n                    <\/tbody>\r\n                <\/table>\r\n            <\/div>\r\n\r\n            <div class=\"manual-important\">\r\n                <strong>Para Gmail:<\/strong>\r\n                <p>Na sua conta Gmail:<\/p>\r\n                <ol>\r\n                    <li>Ativar verifica\u00e7\u00e3o em 2 passos<\/li>\r\n                    <li>Gerar password de aplica\u00e7\u00e3o<\/li>\r\n                    <li>Usar Configura\u00e7\u00e3o R\u00e1pida \u2192 preset Gmail (Importante, se preencher manualmente n\u00e3o funcionar\u00e1)<\/li>\r\n                <\/ol>\r\n            <\/div>\r\n\r\n            <p>Configurar destinat\u00e1rios OTP: Adicionar emails que receber\u00e3o c\u00f3digos de verifica\u00e7\u00e3o para a\u00e7\u00f5es cr\u00edticas.<\/p>\r\n\r\n            <h3>Configura\u00e7\u00e3o Monitoriza\u00e7\u00e3o (Passo 5\/6)<\/h3>\r\n            \r\n            <h4>Funcionalidades de Monitoriza\u00e7\u00e3o<\/h4>\r\n            <div class=\"manual-checkbox-list\">\r\n                <div class=\"checkbox-item\"><strong>Monitorizar Subscri\u00e7\u00f5es:<\/strong> Ativar monitoriza\u00e7\u00e3o de subscri\u00e7\u00f5es e licen\u00e7as do sistema<\/div>\r\n                <div class=\"checkbox-item\"><strong>Monitorizar Sincroniza\u00e7\u00e3o Tempo:<\/strong> Monitorizar estado de sincroniza\u00e7\u00e3o de tempo do sistema<\/div>\r\n                <div class=\"checkbox-item\"><strong>Monitorizar Certificados:<\/strong> Monitorizar expira\u00e7\u00e3o de certificados SSL\/TLS<\/div>\r\n                <div class=\"checkbox-item\"><strong>Monitorizar Firewall:<\/strong> Monitorizar estado da firewall e regras<\/div>\r\n                <div class=\"checkbox-item\"><strong>Monitorizar Alta Disponibilidade:<\/strong> Monitorizar estado do cluster de alta disponibilidade. Adicionar a palavra \"critical\" \u00e0s notas da m\u00e1quina<\/div>\r\n                <div class=\"checkbox-item\"><strong>Monitorizar Armazenamento Ceph:<\/strong> Monitorizar sistema de armazenamento distribu\u00eddo Ceph<\/div>\r\n                <div class=\"checkbox-item\"><strong>Monitorizar Armazenamento ZFS:<\/strong> Monitorizar pools ZFS, datasets e estado de replica\u00e7\u00e3o<\/div>\r\n                <div class=\"checkbox-item\"><strong>Monitorizar Backups:<\/strong> Monitorizar idade dos backups<\/div>\r\n                <div class=\"checkbox-item\"><strong>Monitorizar Snapshots:<\/strong> Monitorizar idade dos snapshots<\/div>\r\n            <\/div>\r\n\r\n            <h4>Configura\u00e7\u00f5es B\u00e1sicas de Monitoriza\u00e7\u00e3o<\/h4>\r\n            <div class=\"manual-table\">\r\n                <table>\r\n                    <thead>\r\n                        <tr>\r\n                            <th>Par\u00e2metro<\/th>\r\n                            <th>Descri\u00e7\u00e3o<\/th>\r\n                            <th>Valor predefinido<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody>\r\n                        <tr>\r\n                            <td>Intervalo Monitoriza\u00e7\u00e3o (segundos)<\/td>\r\n                            <td>Frequ\u00eancia das verifica\u00e7\u00f5es de estado do sistema<\/td>\r\n                            <td>60 segundos<\/td>\r\n                        <\/tr>\r\n                    <\/tbody>\r\n                <\/table>\r\n            <\/div>\r\n\r\n            <h4>Limiares de Recursos<\/h4>\r\n            <div class=\"manual-table\">\r\n                <table>\r\n                    <thead>\r\n                        <tr>\r\n                            <th>M\u00e9trica<\/th>\r\n                            <th>Limiar de Alerta<\/th>\r\n                            <th>Tempo de Alerta<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody>\r\n                        <tr>\r\n                            <td>Limiar CPU (%)<\/td>\r\n                            <td>90%<\/td>\r\n                            <td>300 segundos<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Limiar RAM (%)<\/td>\r\n                            <td>90%<\/td>\r\n                            <td>300 segundos<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Limiar Disco (%)<\/td>\r\n                            <td>90%<\/td>\r\n                            <td>-<\/td>\r\n                        <\/tr>\r\n                    <\/tbody>\r\n                <\/table>\r\n            <\/div>\r\n\r\n            <h3>Revis\u00e3o Final (Passo 6\/6)<\/h3>\r\n            <div class=\"manual-steps\">\r\n                <h4>Verifica\u00e7\u00e3o final:<\/h4>\r\n                <div class=\"manual-checkbox-list\">\r\n                    <div class=\"checkbox-item\">Licen\u00e7a configurada<\/div>\r\n                    <div class=\"checkbox-item\">Telegram configurado<\/div>\r\n                    <div class=\"checkbox-item\">Seguran\u00e7a configurada<\/div>\r\n                    <div class=\"checkbox-item\">Email configurado (opcional mas necess\u00e1rio para OTP)<\/div>\r\n                    <div class=\"checkbox-item\">Monitoriza\u00e7\u00e3o configurada (valores predefinidos usados se n\u00e3o alterados)<\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <p>Clicar em Finalizar para completar a configura\u00e7\u00e3o b\u00e1sica.<\/p>\r\n\r\n            <div class=\"manual-important\">\r\n                <strong>Barra de A\u00e7\u00f5es R\u00e1pidas:<\/strong>\r\n                <p>Temos uma barra de a\u00e7\u00f5es r\u00e1pidas, onde podemos testar a configura\u00e7\u00e3o, ir aos logs, fazer backup da nossa configura\u00e7\u00e3o, exportar, importar e gerir backups.<\/p>\r\n            <\/div>\r\n\r\n            <div class=\"manual-warning\">\r\n                <strong>Importante:<\/strong>\r\n                <p>Este backup guardar\u00e1 toda a configura\u00e7\u00e3o principal do nosso bot e os clusters que adicionaremos a seguir na sec\u00e7\u00e3o cluster, j\u00e1 que neste momento o nosso bot n\u00e3o iniciaria porque, embora tenha a configura\u00e7\u00e3o principal, n\u00e3o regist\u00e1mos os clusters que queremos gerir, monitorizar e reportar.<\/p>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- SE\u00c7\u00c3O 6: CONFIGURA\u00c7\u00c3O CLUSTER -->\r\n        <section id=\"cluster-configuration\" class=\"manual-section\">\r\n            <h2>Configura\u00e7\u00e3o Cluster<\/h2>\r\n\r\n            <h3>Adicionar Clusters Proxmox<\/h3>\r\n            <div class=\"manual-steps\">\r\n                <h4>Aceder aos Clusters:<\/h4>\r\n                <ul>\r\n                    <li>Ir ao menu Clusters<\/li>\r\n                    <li>Clicar em Adicionar Cluster<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n\r\n            <div class=\"manual-table\">\r\n                <table>\r\n                    <thead>\r\n                        <tr>\r\n                            <th>Campo<\/th>\r\n                            <th>Descri\u00e7\u00e3o<\/th>\r\n                            <th>Exemplo<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody>\r\n                        <tr>\r\n                            <td>Nome Cluster<\/td>\r\n                            <td>Nome descritivo<\/td>\r\n                            <td>PVE-LAB<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>URL API<\/td>\r\n                            <td>Endpoint Proxmox completo<\/td>\r\n                            <td>https:\/\/192.168.1.211:8006\/api2\/<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Nome utilizador<\/td>\r\n                            <td>Utilizador com permiss\u00f5es API<\/td>\r\n                            <td>monitor@pve<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>ID Token<\/td>\r\n                            <td>Identificador do token<\/td>\r\n                            <td>monitorcluster<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>Token Secret<\/td>\r\n                            <td>Segredo do token API<\/td>\r\n                            <td>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx<\/td>\r\n                        <\/tr>\r\n                    <\/tbody>\r\n                <\/table>\r\n            <\/div>\r\n\r\n            <h3>Configura\u00e7\u00e3o Permiss\u00f5es API<\/h3>\r\n            <p>No Proxmox VE:<\/p>\r\n            \r\n            <h4>1. Apenas para monitoriza\u00e7\u00e3o (apenas leitura):<\/h4>\r\n            <ul>\r\n                <li><strong>Fun\u00e7\u00e3o:<\/strong> PVEAuditor<\/li>\r\n                <li><strong>Permiss\u00f5es:<\/strong> Leitura de estado, recursos e configura\u00e7\u00f5es<\/li>\r\n            <\/ul>\r\n\r\n            <h4>2. Para gest\u00e3o completa:<\/h4>\r\n            <ul>\r\n                <li><strong>Fun\u00e7\u00f5es:<\/strong> PVEAuditor + PVEVMAdmin<\/li>\r\n                <li><strong>Permiss\u00f5es:<\/strong> Leitura + controle de VMs\/LXCs + backups + snapshots<\/li>\r\n            <\/ul>\r\n\r\n            <h4>Verifica\u00e7\u00e3o SSL:<\/h4>\r\n            <ul>\r\n                <li><strong>\u2705 Ativada:<\/strong> Para certificados v\u00e1lidos<\/li>\r\n                <li><strong>\u274c Desativada:<\/strong> Para certificados auto-assinados<\/li>\r\n            <\/ul>\r\n\r\n            <p>Teste de liga\u00e7\u00e3o: Se a configura\u00e7\u00e3o estiver correta, ver\u00e1: \u2705Ligado com sucesso ao Proxmox VE X.X.X<\/p>\r\n\r\n            <h3>Gest\u00e3o de Exclus\u00f5es<\/h3>\r\n            <p>Para que serve? Imagine que tem contentores e m\u00e1quinas desligadas e liga-as para problemas espec\u00edficos ou testes, bem pode excluir essas m\u00e1quinas ou contentores por ID de monitoriza\u00e7\u00e3o. O mesmo com armazenamento, simplesmente colocamos o nome do armazenamento.<\/p>\r\n\r\n            <h4>Tipos de exclus\u00f5es:<\/h4>\r\n            <ul>\r\n                <li><strong>M\u00e1quinas Virtuais:<\/strong> Excluir VMs por ID (ex: 100, 101, 102)<\/li>\r\n                <li><strong>Contentores:<\/strong> Excluir LXCs por ID (ex: 200, 201)<\/li>\r\n                <li><strong>Armazenamento:<\/strong> Excluir armazenamento por nome (ex: local-lvm, backup-storage)<\/li>\r\n            <\/ul>\r\n\r\n            <h4>Casos de uso:<\/h4>\r\n            <ul>\r\n                <li>VMs\/LXCs de teste ligadas ocasionalmente<\/li>\r\n                <li>Armazenamento tempor\u00e1rio ou de desenvolvimento<\/li>\r\n                <li>Recursos que n\u00e3o requerem monitoriza\u00e7\u00e3o cont\u00ednua<\/li>\r\n            <\/ul>\r\n\r\n            <p>Uma vez feito isto, pod\u00edamos iniciar o nosso bot, para isso vamos ao dashboard.<\/p>\r\n\r\n            <div class=\"manual-important\">\r\n                <strong>Iniciar o Bot:<\/strong>\r\n                <p>Como pode ver o nosso bot n\u00e3o est\u00e1 a correr, temos de clicar em Start para come\u00e7ar a trabalhar.<\/p>\r\n            <\/div>\r\n\r\n            <p>Uma vez iniciado no nosso chat Telegram se tudo foi configurado corretamente dir-nos-\u00e1:<\/p>\r\n\r\n            <p>Como \u00e9 a primeira vez que acedemos pedir\u00e1 o bot-secret ou pin conforme o m\u00e9todo selecionado na seguran\u00e7a<\/p>\r\n\r\n            <p>N\u00e3o poderemos falar com ele at\u00e9 escrevermos o nosso bot secret ou neste caso como selecion\u00e1mos pin na seguran\u00e7a, o pin. Como sistema de seguran\u00e7a e como mencion\u00e1mos tem um limite de tentativas e um limite de bans, se cumprir o n\u00famero de bans, ou seja 3 bans por defeito se n\u00e3o foi alterado, ser\u00e1 banido permanentemente.<\/p>\r\n\r\n            <p>Cada Ban tem diferentes frases aleat\u00f3rias e divertidas.<\/p>\r\n\r\n            <p>Se selecionou otp na seguran\u00e7a, primeiro pedir\u00e1 o BOT_SECRET e depois o OTP, portanto, a seguran\u00e7a \u00e9 muito alta.<\/p>\r\n\r\n            <div class=\"manual-warning\">\r\n                <strong>Importante:<\/strong>\r\n                <p>Qualquer modifica\u00e7\u00e3o na configura\u00e7\u00e3o ou cluster a partir da interface web, para ser refletida tem de ir ao dashboard e reiniciar o bot.<\/p>\r\n            <\/div>\r\n\r\n            <p>Com isto ter\u00edamos o nosso bot totalmente configurado e funcional. Antes de passar \u00e0s funcionalidades do bot vamos explicar o resto das sec\u00e7\u00f5es da interface.<\/p>\r\n        <\/section>\r\n\r\n        <!-- SE\u00c7\u00c3O 7: ADMINISTRA\u00c7\u00c3O SISTEMA -->\r\n        <section id=\"system-administration\" class=\"manual-section\">\r\n            <h2>Administra\u00e7\u00e3o Sistema<\/h2>\r\n\r\n            <h3>Gest\u00e3o Certificado SSL<\/h3>\r\n            <h4>Fun\u00e7\u00f5es dispon\u00edveis:<\/h4>\r\n            <ul>\r\n                <li><strong>Ver estado atual:<\/strong> Informa\u00e7\u00f5es do certificado ativo<\/li>\r\n                <li><strong>Carregar certificado:<\/strong> Carregar o seu pr\u00f3prio certificado<\/li>\r\n                <li><strong>CSR:<\/strong> Gerar CSR para autoridade de certifica\u00e7\u00e3o<\/li>\r\n                <li><strong>Gerar auto-assinado:<\/strong> Criar novo certificado tempor\u00e1rio<\/li>\r\n                <li><strong>Backup\/Restaurar:<\/strong> Gerir backups de certificados<\/li>\r\n            <\/ul>\r\n\r\n            <h3>Administra\u00e7\u00e3o Logs<\/h3>\r\n            <h4>Caracter\u00edsticas:<\/h4>\r\n            <ul>\r\n                <li><strong>Limpeza manual:<\/strong> Apagar logs mais antigos que N dias<\/li>\r\n                <li><strong>Limpeza autom\u00e1tica:<\/strong> Programada diariamente \u00e0s 02:00<\/li>\r\n                <li><strong>Configura\u00e7\u00e3o flex\u00edvel:<\/strong> Reten\u00e7\u00e3o personaliz\u00e1vel<\/li>\r\n            <\/ul>\r\n\r\n            <h3>Configura\u00e7\u00e3o Defini\u00e7\u00f5es Sistema<\/h3>\r\n            \r\n            <h4>Informa\u00e7\u00f5es Perfil:<\/h4>\r\n            <ul>\r\n                <li>Altera\u00e7\u00e3o nome utilizador e nome completo<\/li>\r\n                <li>Configura\u00e7\u00e3o email para notifica\u00e7\u00f5es<\/li>\r\n                <li>Idioma interface e tema<\/li>\r\n            <\/ul>\r\n\r\n            <h4>Seguran\u00e7a:<\/h4>\r\n            <ul>\r\n                <li>Altera\u00e7\u00e3o password<\/li>\r\n                <li>Autentica\u00e7\u00e3o de dois fatores (2FA)<\/li>\r\n                <li>Timeout de sess\u00e3o<\/li>\r\n            <\/ul>\r\n\r\n            <h4>Configura\u00e7\u00e3o Email:<\/h4>\r\n            <ul>\r\n                <li>SMTP para notifica\u00e7\u00f5es da interface web<\/li>\r\n                <li>Necess\u00e1rio para recupera\u00e7\u00e3o de password<\/li>\r\n                <li>Alertas por email para eventos do sistema<\/li>\r\n            <\/ul>\r\n\r\n            <h4>Tipos de Alertas:<\/h4>\r\n            <div class=\"manual-checkbox-list\">\r\n                <div class=\"checkbox-item\"><strong>Alertas Login:<\/strong> Notifica\u00e7\u00f5es de acesso<\/div>\r\n                <div class=\"checkbox-item\"><strong>Alertas Seguran\u00e7a:<\/strong> Eventos de seguran\u00e7a<\/div>\r\n                <div class=\"checkbox-item\"><strong>Alertas Estado Bot:<\/strong> Altera\u00e7\u00f5es de estado do bot<\/div>\r\n                <div class=\"checkbox-item\"><strong>Alertas Altera\u00e7\u00e3o Password:<\/strong> Altera\u00e7\u00f5es de password<\/div>\r\n                <div class=\"checkbox-item\"><strong>Alertas Altera\u00e7\u00e3o Nome Utilizador:<\/strong> Altera\u00e7\u00f5es de nome de utilizador<\/div>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- SE\u00c7\u00c3O 8: VERIFICA\u00c7\u00c3O E TESTES -->\r\n        <section id=\"verification-testing\" class=\"manual-section\">\r\n            <h2>Verifica\u00e7\u00e3o e Testes<\/h2>\r\n\r\n            <h3>Testes de Liga\u00e7\u00e3o<\/h3>\r\n            \r\n            <div class=\"manual-steps\">\r\n                <h4>Iniciar o bot:<\/h4>\r\n                <ol>\r\n                    <li>Ir ao Dashboard<\/li>\r\n                    <li>Clicar em Iniciar Bot<\/li>\r\n                    <li>Verificar estado: \"A correr\"<\/li>\r\n                <\/ol>\r\n            <\/div>\r\n\r\n            <h4>Mensagem de boas-vindas:<\/h4>\r\n            <p>O bot enviar\u00e1 mensagens de confirma\u00e7\u00e3o indicando:<\/p>\r\n            <div class=\"manual-checkbox-list\">\r\n                <div class=\"checkbox-item\">Licen\u00e7a v\u00e1lida e validade<\/div>\r\n                <div class=\"checkbox-item\">Clusters ativados<\/div>\r\n                <div class=\"checkbox-item\">Instru\u00e7\u00f5es para iniciar (\/start)<\/div>\r\n            <\/div>\r\n\r\n            <h3>Resolu\u00e7\u00e3o de Problemas Comuns<\/h3>\r\n\r\n            <h4>Erro: \"Token do bot inv\u00e1lido\"<\/h4>\r\n            <div class=\"manual-steps\">\r\n                <h5>Causas:<\/h5>\r\n                <ul>\r\n                    <li>Token copiado incorretamente ou incompleto<\/li>\r\n                    <li>Espa\u00e7os extra no in\u00edcio\/fim<\/li>\r\n                    <li>Token regenerado no BotFather<\/li>\r\n                <\/ul>\r\n\r\n                <h5>Solu\u00e7\u00e3o:<\/h5>\r\n                <ul>\r\n                    <li>Verificar token completo sem espa\u00e7os<\/li>\r\n                    <li>Regenerar se necess\u00e1rio: \/mybots \u2192 selecionar bot \u2192 API Token \u2192 Revogar token atual<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n\r\n            <h4>Erro: \"Chat n\u00e3o encontrado\" para Chat ID<\/h4>\r\n            <div class=\"manual-steps\">\r\n                <h5>Causas:<\/h5>\r\n                <ul>\r\n                    <li>ID incorreto ou n\u00e3o inicializado<\/li>\r\n                    <li>Bot bloqueado pelo utilizador<\/li>\r\n                    <li>N\u00e3o enviou \/start ao bot<\/li>\r\n                <\/ul>\r\n\r\n                <h5>Solu\u00e7\u00e3o:<\/h5>\r\n                <ul>\r\n                    <li>Enviar \/start ao bot pessoal<\/li>\r\n                    <li>Verificar que bot n\u00e3o est\u00e1 bloqueado<\/li>\r\n                    <li>Confirmar ID positivo para chats pessoais<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n\r\n            <h4>Erro: \"Chat n\u00e3o encontrado\" para Chat ID Alertas<\/h4>\r\n            <div class=\"manual-steps\">\r\n                <h5>Causas:<\/h5>\r\n                <ul>\r\n                    <li>Bot n\u00e3o adicionado ao grupo<\/li>\r\n                    <li>ID do grupo incorreto<\/li>\r\n                    <li>Prefixo -100 em falta<\/li>\r\n                <\/ul>\r\n\r\n                <h5>Solu\u00e7\u00e3o:<\/h5>\r\n                <ul>\r\n                    <li>Verificar que bot est\u00e1 no grupo<\/li>\r\n                    <li>Tentar com -100 + ID do grupo<\/li>\r\n                    <li>Confirmar permiss\u00f5es do bot no grupo<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n\r\n            <h4>Erro: \"Proibido: bot foi bloqueado\"<\/h4>\r\n            <div class=\"manual-steps\">\r\n                <h5>Solu\u00e7\u00e3o:<\/h5>\r\n                <ul>\r\n                    <li>Ir ao chat com o bot<\/li>\r\n                    <li>Pressionar START ou DESBLOQUEAR<\/li>\r\n                    <li>Reiniciar bot no Dashboard<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n\r\n            <h3>Melhores Pr\u00e1ticas de Seguran\u00e7a<\/h3>\r\n\r\n            <h4>Para Token do Bot<\/h4>\r\n            <ul>\r\n                <li>\ud83d\udd12 Nunca partilhar token publicamente<\/li>\r\n                <li>\ud83d\udcbe Guardar em gestor de passwords<\/li>\r\n                <li>\ud83d\udd04 Regenerar se comprometido como vimos anteriormente \/mybots \u2192 selecionar bot \u2192 API Token \u2192 Revogar token atual<\/li>\r\n            <\/ul>\r\n\r\n            <h4>Para Grupos<\/h4>\r\n            <ul>\r\n                <li>\ud83d\udd10 Manter grupos privados<\/li>\r\n                <li>\ud83d\udc65 Apenas administradores necess\u00e1rios<\/li>\r\n                <li>\u2699\ufe0f Rever permiss\u00f5es regularmente<\/li>\r\n            <\/ul>\r\n\r\n            <h4>Para o Sistema<\/h4>\r\n            <ul>\r\n                <li>\ud83c\udf10 N\u00e3o expor \u00e0 internet, se quiser acesso de outros locais use VPN ou sistemas seguros<\/li>\r\n                <li>\ud83d\udee1\ufe0f Configurar firewall adequadamente<\/li>\r\n                <li>\ud83d\udcbe Realizar backups peri\u00f3dicos<\/li>\r\n                <li>\ud83d\udd10 Ativar 2FA na interface web e bot<\/li>\r\n                <li>\ud83d\udce7 Configurar notifica\u00e7\u00f5es de seguran\u00e7a<\/li>\r\n            <\/ul>\r\n\r\n            <div class=\"manual-important\">\r\n                <h4>Resumo de Configura\u00e7\u00e3o<\/h4>\r\n                <p>Ao completar este manual ter\u00e1:<\/p>\r\n                <div class=\"manual-checkbox-list\">\r\n                    <div class=\"checkbox-item\">Bot Telegram criado com token \u00fanico<\/div>\r\n                    <div class=\"checkbox-item\">Chat pessoal configurado para gest\u00e3o direta<\/div>\r\n                    <div class=\"checkbox-item\">Grupo privado configurado para alertas do sistema<\/div>\r\n                    <div class=\"checkbox-item\">LoboGuard completamente configurado e operacional<\/div>\r\n                    <div class=\"checkbox-item\">Clusters Proxmox monitorizados e ger\u00edveis<\/div>\r\n                    <div class=\"checkbox-item\">Sistema seguro com autentica\u00e7\u00e3o robusta<\/div>\r\n                <\/div>\r\n                <p>O bot estar\u00e1 completamente operacional para gerir a sua infraestrutura LoboGuard a partir do Telegram com capacidades completas de monitoriza\u00e7\u00e3o, alerta, gest\u00e3o remota e relat\u00f3rios.<\/p>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- NAVEGA\u00c7\u00c3O SE\u00c7\u00d5ES -->\r\n        <div class=\"section-navigation\">\r\n            <div class=\"section-nav-container\">\r\n                <button class=\"section-nav-btn prev-btn\" id=\"prev-section\" disabled>\r\n                    <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n                        <polyline points=\"15,18 9,12 15,6\"><\/polyline>\r\n                    <\/svg>\r\n                    <div class=\"nav-text\">\r\n                        <span class=\"nav-label\">Anterior<\/span>\r\n                        <span class=\"nav-title\" id=\"prev-title\"><\/span>\r\n                    <\/div>\r\n                <\/button>\r\n                \r\n                <div class=\"section-counter\">\r\n                    <span id=\"current-section\">1<\/span> \/ <span id=\"total-sections\">8<\/span>\r\n                <\/div>\r\n                \r\n                <button class=\"section-nav-btn next-btn\" id=\"next-section\">\r\n                    <div class=\"nav-text\">\r\n                        <span class=\"nav-label\">Seguinte<\/span>\r\n                        <span class=\"nav-title\" id=\"next-title\">Configura\u00e7\u00e3o Bot Telegram<\/span>\r\n                    <\/div>\r\n                    <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n                        <polyline points=\"9,18 15,12 9,6\"><\/polyline>\r\n                    <\/svg>\r\n                <\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    const navLinks = document.querySelectorAll('.manual-nav a');\r\n    const sections = document.querySelectorAll('.manual-section');\r\n    const prevBtn = document.getElementById('prev-section');\r\n    const nextBtn = document.getElementById('next-section');\r\n    const currentCounter = document.getElementById('current-section');\r\n    const prevTitle = document.getElementById('prev-title');\r\n    const nextTitle = document.getElementById('next-title');\r\n    \r\n    let currentIndex = 0;\r\n    const sectionData = [\r\n        { id: 'introduction', title: 'Introdu\u00e7\u00e3o' },\r\n        { id: 'telegram-bot-setup', title: 'Configura\u00e7\u00e3o Bot Telegram' },\r\n        { id: 'telegram-ids', title: 'IDs Telegram' },\r\n        { id: 'initial-access', title: 'Acesso Inicial' },\r\n        { id: 'bot-configuration', title: 'Configura\u00e7\u00e3o Bot' },\r\n        { id: 'cluster-configuration', title: 'Configura\u00e7\u00e3o Cluster' },\r\n        { id: 'system-administration', title: 'Administra\u00e7\u00e3o Sistema' },\r\n        { id: 'verification-testing', title: 'Verifica\u00e7\u00e3o e Testes' }\r\n    ];\r\n    \r\n    \/\/ Fun\u00e7\u00e3o para rolagem suave para o topo\r\n    function scrollToTop() {\r\n        \/\/ Tentar m\u00faltiplos m\u00e9todos de rolagem\r\n        const manualContent = document.querySelector('.manual-content');\r\n        const body = document.body;\r\n        const html = document.documentElement;\r\n        \r\n        \/\/ M\u00e9todo 1: Rolagem no cont\u00eainer principal se existir\r\n        if (manualContent) {\r\n            manualContent.scrollTop = 0;\r\n        }\r\n        \r\n        \/\/ M\u00e9todo 2: Rolagem no body e html (para maior compatibilidade)\r\n        if (body) {\r\n            body.scrollTop = 0;\r\n        }\r\n        \r\n        if (html) {\r\n            html.scrollTop = 0;\r\n        }\r\n        \r\n        \/\/ M\u00e9todo 3: window.scrollTo como \u00faltimo recurso\r\n        window.scrollTo(0, 0);\r\n        \r\n        \/\/ Tamb\u00e9m tentar com requestAnimationFrame para garantir execu\u00e7\u00e3o\r\n        requestAnimationFrame(() => {\r\n            if (manualContent) manualContent.scrollTop = 0;\r\n            window.scrollTo(0, 0);\r\n        });\r\n    }\r\n    \r\n    \/\/ Manipuladores de clique de navega\u00e7\u00e3o\r\n    navLinks.forEach((link, index) => {\r\n        link.addEventListener('click', function(e) {\r\n            e.preventDefault();\r\n            navigateToSection(index);\r\n        });\r\n    });\r\n    \r\n    \/\/ Bot\u00f5es Anterior\/Seguinte com rolagem autom\u00e1tica\r\n    prevBtn.addEventListener('click', () => {\r\n        if (currentIndex > 0) {\r\n            navigateToSection(currentIndex - 1);\r\n            \/\/ Pequeno atraso para garantir atualiza\u00e7\u00e3o do DOM\r\n            setTimeout(scrollToTop, 50);\r\n        }\r\n    });\r\n    \r\n    nextBtn.addEventListener('click', () => {\r\n        if (currentIndex < sectionData.length - 1) {\r\n            navigateToSection(currentIndex + 1);\r\n            \/\/ Pequeno atraso para garantir atualiza\u00e7\u00e3o do DOM\r\n            setTimeout(scrollToTop, 50);\r\n        }\r\n    });\r\n    \r\n    function navigateToSection(index) {\r\n    function navigateToSection(index) {\r\n        \/\/ Ocultar todas as se\u00e7\u00f5es\r\n        sections.forEach(section => section.classList.remove('active'));\r\n        navLinks.forEach(link => link.classList.remove('active'));\r\n        \r\n        \/\/ Mostrar se\u00e7\u00e3o alvo\r\n        sections[index].classList.add('active');\r\n        navLinks[index].classList.add('active');\r\n        \r\n        currentIndex = index;\r\n        updateNavigation();\r\n    }\r\n    \r\n    function updateNavigation() {\r\n        currentCounter.textContent = currentIndex + 1;\r\n        \r\n        \/\/ Atualizar bot\u00e3o anterior\r\n        if (currentIndex > 0) {\r\n            prevBtn.disabled = false;\r\n            prevTitle.textContent = sectionData[currentIndex - 1].title;\r\n        } else {\r\n            prevBtn.disabled = true;\r\n            prevTitle.textContent = '';\r\n        }\r\n        \r\n        \/\/ Atualizar bot\u00e3o seguinte\r\n        if (currentIndex < sectionData.length - 1) {\r\n            nextBtn.disabled = false;\r\n            nextTitle.textContent = sectionData[currentIndex + 1].title;\r\n        } else {\r\n            nextBtn.disabled = true;\r\n            nextTitle.textContent = '';\r\n        }\r\n    }\r\n    \r\n    \/\/ Inicializar\r\n    updateNavigation();\r\n    \r\n    \/\/ Navega\u00e7\u00e3o por teclado com rolagem autom\u00e1tica\r\n    document.addEventListener('keydown', function(e) {\r\n        if (e.target.tagName === 'INPUT' || e.target.tagName === 'TEXTAREA') return;\r\n        \r\n        switch(e.key) {\r\n            case 'ArrowLeft':\r\n                if (currentIndex > 0) {\r\n                    navigateToSection(currentIndex - 1);\r\n                    setTimeout(scrollToTop, 50);\r\n                }\r\n                break;\r\n            case 'ArrowRight':\r\n                if (currentIndex < sectionData.length - 1) {\r\n                    navigateToSection(currentIndex + 1);\r\n                    setTimeout(scrollToTop, 50);\r\n                }\r\n                break;\r\n        }\r\n    });\r\n});\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Manual de Configura\u00e7\u00e3o LoboGuard \u00cdndice Introdu\u00e7\u00e3o Configura\u00e7\u00e3o Bot Telegram IDs Telegram Acesso Inicial Configura\u00e7\u00e3o Bot Configura\u00e7\u00e3o Cluster Administra\u00e7\u00e3o Sistema Verifica\u00e7\u00e3o e Testes Introdu\u00e7\u00e3o Descri\u00e7\u00e3o Geral LoboGuard \u00e9 uma solu\u00e7\u00e3o avan\u00e7ada e segura de monitoramento, alerta, gest\u00e3o e relat\u00f3rios para infraestruturas Proxmox, utilizando o Telegram como interface de controle remoto e alertas. Este manual fornece um [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1165","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Documenta\u00e7\u00e3o - LoboGuard<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Documenta\u00e7\u00e3o - LoboGuard\" \/>\n<meta property=\"og:description\" content=\"Manual de Configura\u00e7\u00e3o LoboGuard \u00cdndice Introdu\u00e7\u00e3o Configura\u00e7\u00e3o Bot Telegram IDs Telegram Acesso Inicial Configura\u00e7\u00e3o Bot Configura\u00e7\u00e3o Cluster Administra\u00e7\u00e3o Sistema Verifica\u00e7\u00e3o e Testes Introdu\u00e7\u00e3o Descri\u00e7\u00e3o Geral LoboGuard \u00e9 uma solu\u00e7\u00e3o avan\u00e7ada e segura de monitoramento, alerta, gest\u00e3o e relat\u00f3rios para infraestruturas Proxmox, utilizando o Telegram como interface de controle remoto e alertas. Este manual fornece um [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/\" \/>\n<meta property=\"og:site_name\" content=\"LoboGuard\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-02T14:46:42+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@LoboBrothers\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/\",\"url\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/\",\"name\":\"Documenta\u00e7\u00e3o - LoboGuard\",\"isPartOf\":{\"@id\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#website\"},\"datePublished\":\"2025-08-28T15:04:25+00:00\",\"dateModified\":\"2025-12-02T14:46:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documenta\u00e7\u00e3o\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#website\",\"url\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/\",\"name\":\"LoboGuard\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#organization\",\"name\":\"Lobo Brothers Technology\",\"alternateName\":\"LoboGuard\",\"url\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/loboguard.lobobrothers.com\/wp-content\/uploads\/2025\/08\/cropped-loboguard.png\",\"contentUrl\":\"https:\/\/loboguard.lobobrothers.com\/wp-content\/uploads\/2025\/08\/cropped-loboguard.png\",\"width\":512,\"height\":512,\"caption\":\"Lobo Brothers Technology\"},\"image\":{\"@id\":\"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/LoboBrothers\",\"https:\/\/es.linkedin.com\/company\/lobobrothers\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Documenta\u00e7\u00e3o - LoboGuard","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/","og_locale":"pt_PT","og_type":"article","og_title":"Documenta\u00e7\u00e3o - LoboGuard","og_description":"Manual de Configura\u00e7\u00e3o LoboGuard \u00cdndice Introdu\u00e7\u00e3o Configura\u00e7\u00e3o Bot Telegram IDs Telegram Acesso Inicial Configura\u00e7\u00e3o Bot Configura\u00e7\u00e3o Cluster Administra\u00e7\u00e3o Sistema Verifica\u00e7\u00e3o e Testes Introdu\u00e7\u00e3o Descri\u00e7\u00e3o Geral LoboGuard \u00e9 uma solu\u00e7\u00e3o avan\u00e7ada e segura de monitoramento, alerta, gest\u00e3o e relat\u00f3rios para infraestruturas Proxmox, utilizando o Telegram como interface de controle remoto e alertas. Este manual fornece um [&hellip;]","og_url":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/","og_site_name":"LoboGuard","article_modified_time":"2025-12-02T14:46:42+00:00","twitter_card":"summary_large_image","twitter_site":"@LoboBrothers","twitter_misc":{"Tempo estimado de leitura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/","url":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/","name":"Documenta\u00e7\u00e3o - LoboGuard","isPartOf":{"@id":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#website"},"datePublished":"2025-08-28T15:04:25+00:00","dateModified":"2025-12-02T14:46:42+00:00","breadcrumb":{"@id":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/documentacao\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/"},{"@type":"ListItem","position":2,"name":"Documenta\u00e7\u00e3o"}]},{"@type":"WebSite","@id":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#website","url":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/","name":"LoboGuard","description":"","publisher":{"@id":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#organization","name":"Lobo Brothers Technology","alternateName":"LoboGuard","url":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#\/schema\/logo\/image\/","url":"https:\/\/loboguard.lobobrothers.com\/wp-content\/uploads\/2025\/08\/cropped-loboguard.png","contentUrl":"https:\/\/loboguard.lobobrothers.com\/wp-content\/uploads\/2025\/08\/cropped-loboguard.png","width":512,"height":512,"caption":"Lobo Brothers Technology"},"image":{"@id":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/LoboBrothers","https:\/\/es.linkedin.com\/company\/lobobrothers"]}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/wp-json\/wp\/v2\/pages\/1165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=1165"}],"version-history":[{"count":3,"href":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/wp-json\/wp\/v2\/pages\/1165\/revisions"}],"predecessor-version":[{"id":1978,"href":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/wp-json\/wp\/v2\/pages\/1165\/revisions\/1978"}],"wp:attachment":[{"href":"https:\/\/loboguard.lobobrothers.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=1165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}