Skip to content

fix: nginx falhando no firstboot (corrida cert/key com 15regen-sslcert)#11

Merged
marcos-mendez merged 1 commit into
mainfrom
fix/nginx-firstboot-race
Jul 23, 2026
Merged

fix: nginx falhando no firstboot (corrida cert/key com 15regen-sslcert)#11
marcos-mendez merged 1 commit into
mainfrom
fix/nginx-firstboot-race

Conversation

@marcos-mendez

Copy link
Copy Markdown
Member

Ref #5

Encontrado no primeiro boot real da ISO em VM (live mode): nginx.service failed com SSL_CTX_use_PrivateKey ... key values mismatch às 05:14:35, 1s após os inithooks iniciarem — o 15regen-sslcert estava no meio da regeneração do par. O hook comum só reinicia serviços is-active, então o nginx ficava morto (UI inacessível) apesar de opencloud saudável.

Fix em duas camadas:

  1. nginx.service.d/opencloud.conf: Restart=on-failure + RestartSec=10 + StartLimitIntervalSec=0 — o nginx se recupera sozinho ~10s depois que o par fica consistente, mesmo se o usuário demorar nos prompts interativos.
  2. opencloud.py (fim do 40opencloud): systemctl restart nginx incondicional — garantia determinística ao fim do firstboot.

Validação na VM live: diagnóstico confirmado (modulus do cert == modulus da chave após regen; nginx failed), systemctl restart nginx → HTTPS 200 com a UI do OpenCloud. O restante do firstboot passou 100%: senha aplicada, domínio em OC_URL//etc/hosts, opencloud ativo.

O nginx pode subir enquanto o hook comum 15regen-sslcert regenera o par
cert/chave e ler um par inconsistente (SSL key values mismatch); como o
hook só reinicia serviços ativos, o nginx ficava failed até intervenção
manual. Duas camadas: drop-in com Restart=on-failure (auto-recupera
sozinho ~10s após a regeneração) e restart incondicional do nginx no fim
do inithook do opencloud.
@marcos-mendez
marcos-mendez merged commit 50489ae into main Jul 23, 2026
@marcos-mendez
marcos-mendez deleted the fix/nginx-firstboot-race branch July 23, 2026 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant