+++
date = '2025-09-30T03:09:52-03:00'
draft = false
title = 'Host a Blog With Hugo'
tags = ["blog", "hugo", "server"]
categories = ["web", "self-hosted"]
description = "Tutorial de como criar um blog com Hugo e integrar comentários usando Comentario."
+++
Hoje vou mostar como fiz para setar um blog com comentários usando [Hugo](https://gohugo.io/) e [Comentario](https://comentario.app/en/).
- **Hugo** é um framework open source para construção de websites estáticos, extremamente rápido e flexível.
- **Comentario** é uma engine open source de comentários, fácil de integrar e auto-hospedável.
## 1. Utilizando o Hugo
### Instalando o hugo
Se sua distribuição linux for baseado em Debian rode o comando
```bash
$ sudo apt install hugo
```
caso contrario você pode verificar na documentação.
Agora que você já tem ele instalado basta dar
```bash
hugo new site {nome-do-seu-blog}
```
que ele criara uma pasta com tudo que eh necessario.
### Instalando um tema
Para instalar um tema veja os temas disponiveis pela comunidade no [link](https://themes.gohugo.io/), no meu caso atualmente estou usando o [Hugo - Classic](https://themes.gohugo.io/themes/hugo-classic/).
Depois de achar um que gostou faca:
```bash
cd {nome-do-seu-blog}/themes
git init
git submodule add link-do-github
```
Abra o arquivo hugo.toml e edite a variavel theme para a pasta criada dentro da pasta do hugo.
### Criando um post
Para criar um post eh muito simples tambem, basta rodar
```bash
hugo new content content/post/nome-do-post.md
```
Agora basta escrever o seu post em com markdown. Acesse [aqui](https://www.markdownguide.org/cheat-sheet/) para mais informacoes sobre markdown.
### Buildando
Para finalizar rode
```bash
hugo
```
que ele vai atualizar tudo que eh necessario e publicar seu post
---
## 2. Setando o comentario
Existem diversas formas de voce instalar o comentario, porem eu fiz isso utilizando docker. Para isso certifique que você tenha o docker instalado
```bash
docker version
```
e crie um arquivo chamado docker-compose.yml
```docker
services:
app:
image: registry.gitlab.com/comentario/comentario:latest-ubuntu
environment:
BASE_URL: https://sua-url # mude aqui para sua url
SECRETS_FILE: "/secrets.yaml"
ports:
- "6969:80" # mude para a porta que você quiser
volumes:
- ./secrets.yaml:/secrets.yaml:ro
restart: always
```
essa eh so uma possivel forma, você pode editar o arquivo da maneira que preferir.
Note que vou utilizar o sqlite3 como banco de dados (pois é usa menos memória), caso você queria usar postgress, ou usar um servidor diferente para o banco de dados você deve editar esse arquivo.
Na mesma pasta crie um arquivo chamado secrets.yaml
```
sqlite3:
file: ./comentario.db
```
Essa eh a configuracao minima que você deve fazer caso queria utilizar o sqlite3.
agora rode no terminal
```bash
docker compose up -d
```
Para finalizar basta adicionar no arquivo ./themes/hugo-classic/layouts/_default/single.html
```html
```
Agora eh so acessar a url que voce colocou e setar adicionar o seu servidor, como eh bem intuitivo nao vou colocar aqui
---
## 3. Setando o NGINX
Caso você utilize o nginx como servidor web basta configurar a pagina principal como
```bash
server {
root /var/www/azuminha.com/public;
index index.html index.htm index.nginx-debian.html;
server_name azuminha.com www.azuminha.com; # mude aqui para sua url
charset UTF-8;
location / {
try_files $uri $uri/ =404;
}
}
```
Você tambem deve arrumar um proxy reverso para a porta que o servico do comentario esta rodando.
```bash
server {
server_name comments.azuminha.com; # sua url que utilizou para configurar o comentario
location / {
proxy_pass http://0.0.0.0:6969/; # mude para a porta que vc utilizou
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
```
Pronto agora você tem seu proprio blog hospedado pro você mesmo, sem dependencias externas. :smile:
+++
date = '2025-09-30T03:09:52-03:00'
draft = false
title = 'Host a Blog With Hugo'
tags = ["blog", "hugo", "server"]
categories = ["web", "self-hosted"]
description = "Tutorial de como criar um blog com Hugo e integrar comentários usando Comentario."
+++
Hoje vou mostrar como fiz para configurar um blog com comentários usando [Hugo](https://gohugo.io/) e [Comentario](https://comentario.app/en/).
- **Hugo** é um framework open source para construção de websites estáticos, extremamente rápido e flexível.
- **Comentario** é uma engine open source de comentários, fácil de integrar e auto-hospedável.
## 1. Utilizando o Hugo
### Instalando o Hugo
Se sua distribuição Linux for baseada em Debian, rode o comando:
```bash
sudo apt install hugo
```
Caso contrário, você pode verificar a instalação na documentação oficial.
Agora que ele já está instalado, basta rodar:
```bash
hugo new site {nome-do-seu-blog}
```
Isso criará uma pasta com tudo o que é necessário.
### Instalando um tema
Para instalar um tema, veja os temas disponíveis pela comunidade no [link](https://themes.gohugo.io/).
No meu caso, atualmente estou usando o [Hugo - Classic](https://themes.gohugo.io/themes/hugo-classic/).
Depois de achar um tema que gostou, faça:
```bash
cd {nome-do-seu-blog}/themes
git init
git submodule add link-do-github
```
Abra o arquivo `hugo.toml` e edite a variável `theme` para o nome da pasta criada dentro de `themes`.
### Criando um post
Para criar um post é muito simples também, basta rodar:
```bash
hugo new content content/post/nome-do-post.md
```
Agora é só escrever seu post em Markdown.
Acesse [aqui](https://www.markdownguide.org/cheat-sheet/) para mais informações sobre Markdown.
### Buildando
Para finalizar, rode:
```bash
hugo
```
Ele vai atualizar tudo o que for necessário e publicar seu post.
---
## 2. Configurando o Comentario
Existem diversas formas de instalar o Comentario, porém eu fiz isso utilizando Docker.
Para isso, certifique-se de que você tenha o Docker instalado:
```bash
docker version
```
Crie um arquivo chamado `docker-compose.yml`:
```docker
services:
app:
image: registry.gitlab.com/comentario/comentario:latest-ubuntu
environment:
BASE_URL: https://sua-url # mude aqui para sua URL
SECRETS_FILE: "/secrets.yaml"
ports:
- "6969:80" # mude para a porta que você quiser
volumes:
- ./secrets.yaml:/secrets.yaml:ro
restart: always
```
Essa é apenas uma configuração possível — você pode editar o arquivo da maneira que preferir.
Note que estou utilizando o **SQLite3** como banco de dados (pois usa menos memória).
Caso você queira usar **PostgreSQL** ou hospedar o banco de dados em outro servidor, edite esse arquivo conforme necessário.
Na mesma pasta, crie um arquivo chamado `secrets.yaml`:
```
sqlite3:
file: ./comentario.db
```
Essa é a configuração mínima para utilizar o SQLite3.
Agora rode no terminal:
```bash
docker compose up -d
```
Para finalizar, basta adicionar no arquivo `./themes/hugo-classic/layouts/_default/single.html`:
```html
```
Agora é só acessar a URL que você configurou e adicionar o seu servidor.
Como é bem intuitivo, não vou detalhar essa parte aqui.
---
## 3. Configurando o NGINX
Caso você utilize o **NGINX** como servidor web, basta configurar a página principal assim:
```bash
server {
root /var/www/azuminha.com/public;
index index.html index.htm index.nginx-debian.html;
server_name azuminha.com www.azuminha.com; # mude aqui para sua URL
charset UTF-8;
location / {
try_files $uri $uri/ =404;
}
}
```
Você também deve configurar um **proxy reverso** para a porta em que o serviço do Comentario está rodando:
```bash
server {
server_name comments.azuminha.com; # sua URL utilizada para configurar o Comentario
location / {
proxy_pass http://0.0.0.0:6969/; # mude para a porta que você utilizou
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
Pronto! Agora você tem seu próprio blog hospedado por você mesmo, sem dependências externas. 😄