Host a Blog With Hugo

2025/09/30

Categories: web self-hosted Tags: blog hugo server

Hoje vou mostar como fiz para setar um blog com comentários usando Hugo e Comentario.

1. Utilizando o Hugo

Instalando o hugo

Se sua distribuição linux for baseado em Debian rode o comando

$ sudo apt install hugo

caso contrario você pode verificar na documentação.

Agora que você já tem ele instalado basta dar

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, no meu caso atualmente estou usando o Hugo - Classic. Depois de achar um que gostou faca:

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

hugo new content content/post/nome-do-post.md

Agora basta escrever o seu post em com markdown. Acesse aqui para mais informacoes sobre markdown.

Buildando

Para finalizar rode

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

docker version

e crie um arquivo chamado docker-compose.yml

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, 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

docker compose up -d

Para finalizar basta adicionar no arquivo ./themes/hugo-classic/layouts/_default/single.html

<script defer src="https://sua-url/comentario.js"></script>
<comentario-comments></comentario-comments>

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

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.

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. 😄

>> Home