-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
166 lines (142 loc) · 7.94 KB
/
Copy path.env.example
File metadata and controls
166 lines (142 loc) · 7.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# ==============================================================================
# OminiRoute Universal Token & Connection Synchronizer (OminiRTKSync)
# Modelo de Configuracao de Variaveis de Ambiente
# ==============================================================================
# Para configurar seu ambiente local ou container:
# 1. Copie este arquivo para .env: cp .env.example .env
# 2. Ajuste os valores conforme sua infraestrutura e credenciais
# 3. O arquivo .env e estritamente ignorado pelo controle de versao (.gitignore)
# ==============================================================================
# ------------------------------------------------------------------------------
# 1. Armazenamento e Descoberta de Tokens
# ------------------------------------------------------------------------------
# Diretorio base do host montado no container (ex: /root/host quando montado $HOME:/root/host:ro)
HOST_HOME=/root/host
# Caminho absoluto para o banco de dados SQLite do OmniRoute
# Padrao no container OmniRoute: /app/data/storage.sqlite
DB_PATH=/app/data/storage.sqlite
# Caminho opcional para credenciais OAuth diretas do Antigravity
# ANTIGRAVITY_TOKEN_PATH=/root/host/.gemini/oauth_creds.json
# Diretorio base de tudo que este container escreve: o banco de preferencias do
# painel, a credencial de recuperacao e o diretorio de log. Por padrao e o
# diretorio do DB_PATH. Defina quando o banco do gateway estiver em um lugar
# onde o sincronizador nao deve escrever.
# DATA_DIR=/app/data
# Cliente OAuth do Google usado para renovar credenciais Antigravity / Gemini
# CLI. Deixe AMBOS vazios para que o sincronizador os leia do arquivo de
# credencial que encontra no host. Preencha apenas em implantacao isolada, sem
# credencial do host montada. Sao segredos: o lugar deles e o seu .env, que
# nunca e versionado, jamais este arquivo de exemplo.
# GOOGLE_CLIENT_ID=
# GOOGLE_CLIENT_SECRET=
# ------------------------------------------------------------------------------
# 2. Conectividade com o Gateway OmniRoute
# ------------------------------------------------------------------------------
# URL base do gateway OmniRoute para testes de conexao e diagnosticos
OMNIROUTE_URL=http://ominirtk-router:20128
# ------------------------------------------------------------------------------
# 3. Parametros de Sincronizacao e Agendador Cron
# ------------------------------------------------------------------------------
# Intervalo em segundos entre as execucoes do sincronizador e do cron de renovacao (padrao: 300s / 5min)
SYNC_INTERVAL=300
# Margem em segundos antes da expiracao para renovar tokens proativamente (padrao: 900s / 15min)
REFRESH_MARGIN=900
# Intervalo exclusivo do agendador cron. Se omitido, herda o valor de SYNC_INTERVAL.
# CRON_INTERVAL=300
# Liga/desliga o agendador automatico (1=ligado, 0=desligado).
# Com 0, a sincronizacao so acontece por disparo manual (--once ou POST /api/sync).
CRON_ENABLED=1
# ------------------------------------------------------------------------------
# 4. Servidor Web e Dashboard Administrativo
# ------------------------------------------------------------------------------
# Ativa o dashboard web administrativo (1=ativado, 0=desativado)
ENABLE_WEB_DASHBOARD=1
# Host de escuta do servidor web interno
WEB_HOST=0.0.0.0
# Porta INTERNA do servidor web dentro do container (padrao: 9090).
# Ela e igual nos dois sincronizadores; o que muda e a porta publicada no host
# (9091 para o 9RTKSync, 9092 para o OminiRTKSync).
WEB_PORT=9090
# ------------------------------------------------------------------------------
# COMO ENTRAR NO PAINEL / HOW TO SIGN IN
# ------------------------------------------------------------------------------
# O painel pede usuario e senha. Preencha as DUAS linhas abaixo antes de subir a
# stack -- e so isso. Nao existe senha de fabrica: um valor fixo publicado na
# imagem seria uma credencial publica no instante em que a imagem e publicada.
#
# The panel asks for a user and a password. Fill in BOTH lines below before
# bringing the stack up. There is no factory password, on purpose.
DASHBOARD_USER=admin
DASHBOARD_PASSWORD=
# Deixou DASHBOARD_PASSWORD vazia? O container gera uma credencial de
# recuperacao no primeiro boot. Leia e entre com ela como usuario 'admin':
# docker exec ominirtk-sync cat /app/data/.dashboard_recovery
# Depois defina a sua senha pela tela.
#
# Com DASHBOARD_PASSWORD preenchida, o ambiente vira a fonte da verdade e a
# troca de senha pela tela e recusada com aviso -- mude aqui e recrie o
# container. Deixe-a vazia se preferir administrar a senha pela tela.
# Credencial de recuperacao (break-glass). Se ficar vazia, um valor aleatorio e
# gerado no primeiro boot, salvo em .dashboard_recovery (modo 0600) e o log
# registra o ARQUIVO, nunca o valor. Continua valendo depois de definir a senha:
# uma credencial de socorro que caduca ao definir a senha e inutil justamente
# quando e necessaria.
# DASHBOARD_RECOVERY_HASH=
# ------------------------------------------------------------------------------
# Entrada federada (SSO / OpenID Connect) -- opcional
# ------------------------------------------------------------------------------
# O SSO e configurado PELA TELA (botao Configuracoes no cabecalho do painel), e
# nao por variaveis: issuer, client_id, endereco publico e lista de autorizados
# ficam no banco de preferencias. Estas duas variaveis existem porque nao
# pertencem ao banco.
#
# Segredo do cliente OAuth. Quando preenchido aqui, o ambiente VENCE o arquivo
# .sso_client_secret (modo 0600) e a tela trava o campo, do mesmo jeito que faz
# com DASHBOARD_PASSWORD. E um segredo: o lugar dele e o seu .env, que nunca e
# versionado, jamais este arquivo de exemplo.
# OIDC_CLIENT_SECRET=
# Interruptor de emergencia. Com 1, a entrada federada e desligada sem tocar no
# banco e nenhuma rota /sso/* responde -- o formulario local volta a ser a unica
# porta. E o que salva quando o provedor de identidade cai e o painel esta atras
# de um tunel: suba com a variavel e entre com usuario e senha.
SSO_DISABLED=0
# ------------------------------------------------------------------------------
# Log persistente em arquivo
# ------------------------------------------------------------------------------
LOG_DIR=/app/data/logs
LOG_RETENTION_DAYS=30
LOG_LEVEL=INFO
LOG_TO_STDOUT=1
# ------------------------------------------------------------------------------
# 5. Integracao com a Stack OmniRoute (Docker Compose)
# ------------------------------------------------------------------------------
# Senha inicial e segredo JWT do OmniRoute.
# Ambos sao OBRIGATORIOS e vem vazios de proposito: um valor publicado em
# arquivo de exemplo e uma credencial publica, e vira a senha real de toda
# implantacao que copiou o arquivo. O `docker compose up` recusa subir
# enquanto nao forem preenchidos.
# INITIAL_PASSWORD -> no minimo 12 caracteres, gerados, nao digitados
# JWT_SECRET -> openssl rand -hex 32
INITIAL_PASSWORD=
JWT_SECRET=
REQUIRE_API_KEY=false
REQUIRE_LOGIN=false
# --- Validacao viva de credenciais -----------------------------------------
# Pergunta a cada provedor se a chave/token ainda e aceito, em vez de assumir
# que uma conexao esta saudavel so por carregar uma credencial.
CREDENTIAL_CHECK_ENABLED=1
CREDENTIAL_CHECK_TIMEOUT=8
# --- Acesso remoto (opcional) ------------------------------------------------
# Só têm efeito quando você sobe o perfil correspondente:
# docker compose --profile tunel up -d
# docker compose --profile tailnet up -d
# Leia docs/wiki/Remote-Access.md ANTES de ligar qualquer um dos dois: com a
# porta em 127.0.0.1 o painel só é alcançado por esta máquina, e um túnel
# inverte isso.
# Vazio = quick tunnel da Cloudflare: URL nova a cada subida, pública para quem
# a tiver. Preenchido com o token de um túnel nomeado = URL estável e a
# possibilidade de pôr o Cloudflare Access na frente.
TUNNEL_TOKEN=
# Chave efêmera gerada em https://login.tailscale.com/admin/settings/keys
# (efêmera para o nó sumir sozinho quando o contêiner morrer).
TS_AUTHKEY=