Como Construí E Alojei O Meu Website Pessoal

My Django Website Setup

Ok, deixa-me contar-te a história deste maravilhoso site em Django que eu, por algum milagre, consegui criar sem mandar tudo abaixo ou transformar o meu servidor num churrasco. Durante anos quis ter um espaço meu, onde pudesse despejar todos os meus projetos, construções, experiências, maluquices. E em vez de enfiar tudo nas redes sociais como toda a gente, achei boa ideia construir o meu próprio site. Do zero. Claro, porque a vida não tem desafios suficientes.

E isto tudo começou porque fiz um curso de Python no Udemy. Um curso de iniciantes. De repente, já estou a aproveitar o meu conhecimento passado e a criar máquinas virtuais, a brincar com Linux, e a agir como se fosse um administrador de sistemas com anos de experiência (shhhh, e sou mesmo). O que começou com um simples “print(‘Hello World’)” transformou-se numa instalação Django totalmente self-hosted, numa VM ESXi, protegida com Cloudflare Tunnel, a correr Ubuntu 24.04, e com uma dose saudável de IA a impedir-me de destruir tudo.

Aprendendo os Fundamentos

O curso ensinou o básico, variáveis, loops, funções, e eu pensei “Fixe, talvez automatize umas coisinhas.” Mas não. Em vez disso, acabei a fazer calculadoras de empréstimos, a mexer nos GPIO do Raspberry Pi com Flask, e depois apareceu o Django, como se fosse o “boss final” dos frameworks Python.

O Django prometeu estrutura, organização e a ligeira hipótese de eu não estar sempre a partir tudo. Por isso pronto, ficou decidido: construir o meu site, à bruta, como um verdadeiro herói do teclado.

Planeando o Projeto

Não queria criar mais um blog banal em WordPress. Não, não… eu queria aprender melhor como tudo funciona por dentro. Servidores, configurações, firewalls, aquela loucura toda. Basicamente decidi tornar-me o meu próprio departamento de TI caseiro do dia para a noite.

Os meus objetivos foram:

  • Aprender a sério: nada de tutoriais “copiar e colar”
  • Self-host em ESXi: porque sofrer faz bem à alma
  • Gastar quase zero: mas fingir que sou profissional
  • Ficar seguro: Cloudflare Tunnel a salvar o dia
  • Usar IA: porque sem ela ainda estava preso no primeiro erro

Pilha de Tecnologia

  • Django: o esqueleto do site
  • SQLite: simples, prático, sem dramas
  • HTML + Tailwind: para fingir que sei fazer front-end
  • Ubuntu Server 24.04: sem GUI, sem piedade
  • Gunicorn + Nginx: equipa de segurança do site
  • Cloudflare Tunnel: proteção total sem abrir portas

Configurando o Ambiente do Servidor

Como já tinha o ESXi 7 a correr num servidor, pensei: “Bora lá meter mais uma VM nisto.” É estável, rápido, e faz-me sentir que tenho um mini datacenter no escritório.

A minha VM:

  • Hypervisor: ESXi 7
  • OS: Ubuntu Server 24.04
  • Specs: 2 vCPU, 8GB RAM, 60GB SSD
  • Rede: Cloudflare Tunnel, portas abertas? Nem pensar

A instalação do Ubuntu correu bem, quer dizer, tão bem quanto algo pode correr quando passas metade do tempo a googlar comandos. Mas assim que tive acesso por SSH, senti-me invencível.

Ubuntu VM on ESXi Dashboard

Instalando o Django e Construindo o Site

Instalei Python, criei o ambiente virtual, mandei para lá o Django e siga. Nada de bases de dados gigantes, SQLite faz o trabalho e não reclama.

Os passos:
1. django-admin startproject, o momento da verdade
2. Criação de models, views e templates
3. Ativar o lendário Django Admin, santo deus que ferramenta
4. Configurar os ficheiros estáticos e media, com alguns insultos pelo meio

A IA ajudou em tudo, como aquele professor zen que te impede de arruinar o projeto todo.

Conectando-o à Internet

Aqui é onde a magia aconteceu. Em vez de abrir portas no router (a.k.a. “venham hackers!”), usei o Cloudflare Tunnel. E de repente o site estava online, seguro e bonito.

O processo:
1. Instalar cloudflared
2. Ligar à conta e ao domínio
3. Criar a configuração do túnel
4. Apontar para o Django
5. Boom, SSL gratuito e automático

Contra todas as probabilidades: funcionou.

Conteúdo e Recursos

Com o backend pronto, organizei o site em secções à minha imagem, porque se há coisa que tenho a mais, é hobbies.

Secções:

  • Projects Pessoais: as coisas que realmente acabo
  • Simuladores de Corrida: a desculpa para comprar mais equipamento
  • Jogos Clássicos: porque 16 bits > gráficos 4K
  • Braço de Ferro: não perguntes, aceita
  • Faça Você Mesmo: tudo o que envolve ferramentas e eventuais ferimentos

Tudo controlado via Django Admin, que é tão bom que parece batota.

Django Admin Interface

Lições Aprendidas

Este projeto foi uma aula intensiva em tudo: código, servidores, redes, segurança, depuração, e manter a calma quando crashas o teu próprio site às duas da manhã.

O que aprendi:

  • IA é MVP absoluto: salvou-me de mim mesmo várias vezes
  • SQLite: é muito melhor do que dizem
  • Cloudflare Tunnel: torna o self-hosting completamente viável
  • Snapshots do ESXi: são anjos da guarda
  • Django Admin: melhor invenção a seguir ao pão fatiado

No futuro? Talvez PostgreSQL, talvez Docker, talvez um painel de monitorização só para parecer ainda mais profissional.

Conclusão

Construir e alojar este site em Django tornou-se muito mais do que um simples exercício de programação. Foi uma viagem épica de autodidatismo. O que começou com um curso básico de Python transformou-se num site totalmente funcional, em Ubuntu 24.04, protegido por Cloudflare, gerido só por mim, e alimentado por uma boa dose de curiosidade e bastante ajuda da IA.

É o meu cantinho da internet. Construído à mão. Reclamado dezenas de vezes. E não o trocava por nada.

Comentários

Sem comentários. Seja o primeiro a comentar!

Deixe um comentário