Docker: Minha nova tecnologia favorita!

Esses últimos meses eu fiquei brincando com um hobby novo, homelabbing.

Basicamente, homelabbing é quando você tem um computador em sua casa que você transforma em um laboratório de tecnologia pra você testar coisas, hostear serviços, e mexer sem preocupações, já que não é seu computador pessoal.

Nisso, eu comecei a mexer com coisas como Home Assistant, jellyfin, Immich, e outros serviços desse tipo, e eu percebi uma semelhança entre eles... Embora eu possa rodar cada um individualmente como um app, ou como sistema operacional, tinha uma forma mais fácil e menos custosa de fazer isso, um tal de "docker".

Contêiners, o que são?

Resolvi pesquisar sobre o que se tratava, e descobri um conceito novo de tecnologia que nunca havia ouvido falar, os contêiners. Basicamente, um contêiner é uma aplicação, ferramenta, ou sistema operacional fechado e portátil. "O que isso significa?" você deve estar pensando... Um cont6einer é fechado pois ele não tem acesso livre ao seu PC, ele é como se fosse uma mini máquina dentro do seu PC, que só pode acessar o que está nela. Assim como uma máquina virtual! Mas com uma leve diferença: Um contêiner é portátil, você pode transferir ele de um PC para o outro com muita facilidade, na maior parte dos casos, basta baixar um arquivo, ou nem isso!
Nisso entra o Docker, que é um dos vários tipos diferentes de contêiners. Ele é bem fácil de aprender a usar, a ponto que você vai começar a questionar se você não esqueceu de alguma coisa, de tão rápido que tudo é!

Como Usar?

Sem muitos segredos, vou te ensinar agora a instalar um serviço muito interessante chamado "HomeAssistant"! Pra isso, você vai precisar instalar algumas coisinhas:

Após baixar elas, você irá criar uma pasta pro docke (~/docker)r, e uma subpasta pro seu projeto (nesse caso, HomeAssistant)

Docker

Vou assumir que você esteja usando Linux, existe um Docker Desktop pra Windows e Mac, porém a melhor forma de usar ele é pelo terminal mesmo!

Instale o Docker pelo repositório oficial da sua distro!

sudo apt install docker

sudo pacman -S docker

Depois, adicione seu usuário ao grupo docker (pra não precisar usar sudo em todo comando kk)

sudo usermod -aG docker $USER

Após isso, reinicie sua sessão (logout, reboot, o que vc preferir)

Docker Compose

Você vai instalar da mesma maneira, deixei separado pois o docker compose não é necessário de fato, ele só torna tudo bem mais fácil!

sudo apt install docker-compose

sudo pacman -S docker-compose

Instalando o primeiro contêiner...

Dentro dessa nova pasta, crie um arquivo chamado "compose.yaml", é nele onde iremos configurar o homeassistant

O arquivo vai ficar assim, vamos passar pra explicar cada detalhe, mas se quiser pode já copiar e colar!

#compose.yaml
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- ./ha:/config
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
restart: unless-stopped
privileged: true
network_mode: host
environment:
TZ: America/Sao_Paulo

Explicando os detalhes chaves desse arquivo:

Temos um conteiner chamado homeassistant, ele possui três volumes montados, um pra suas configs, e outros dois pra acessar os dispositivos que você plugar (antenas e etc) e pra acessar o fuso-horário.

Ele vai reiniciar sempre, a não ser que você manualmentge o pare, então se crashar ou se o PC reiniciar, ele vai voltar a vida como se nada tivesse acontecido!

O que é esse contêiner, e como eu rodo ele?

O Homeassistant é um serviço gratuito que te permite controlar dispositivos inteligentes na sua rede, como TVs, lâmpadas e etc! É tipo uma Alexa, só que você quem controla, não a Amazon!

Pra iniciar é bem simples, basta abrir um terminal na pasta que você colocou aquele arquivo, e digitar:

docker compose up -d

E pronto! Ele vai baixar a imagem pela internet, vai criar as pastas necessárias, e vai montar o contêiner pra você :3

Para acessar, é só clicar aqui caso você esteja usando o mesmo PC que rodou esses comandos.

Caso tenha usado outro PC, digite no seu navegador: http://<ip-do-computador-com-homeassistant>:8123. (ex: http://192.168.0.46:8123)

Se você não souber o IP dele, só digitar isso aqui no terminal:

ip addr

O IP certo é (geralmente) o que começa com "192.168". Se houver mais de um, tente todos :3

Não se preocupe em vazar ele, este IP só é acessível na sua rede doméstica, e não oferece risco algum!

Eu não vou continuar ensinando o HomeAssistant, ele foi só um exemplo do quão fácil é iniciar um serviço novo. Se você quiser algum tutorial específico pra ele, deixe aqui nos comentários!!!

Tá, mas por quê você tá tão empolgada com isso?

O motivo é bem simples, isso abriu uma gama infinita de possibilidades!!!

Eu aluguei uma VPS, um dia irei fazer um post detalhando mais sobre, mas tudo que você precisa saber agr é que é um servidor Linux na nuvem. E eu comecei a aproveitar essa tecnologia pra começar a hostear algumas coisas úteis pra mim, como o meu bot de Discord, um gerenciador de senhas, uma suíte office, um app de anotações, e muito mais! Como eu tenho um domínio de rede, snowfloke.com, eu já fui logo configurando proxies, e organizando de forma mais bonitinha esses serviços. No meu próximo post, eu vou entrar no lado mais técnico disso, e vou hostear um site pra mim, tornando o processo todo em um tutorial pra vocês!!!

Eu também me interessei por isso, onde posso aprender mais sobre?

O que eu recomendaria é você procurar um curso, seja pago ou grátis, on-line ou presencial, e se aprofundar no assunto! Eu pessoalmente me aprofundei no assunto pelo YouTube, vou deixar a seguir os vídeos e canais que mais me ajudaram! Alguns em PT-BR, outros em EN-US.

Segue a lista:

conhece mais algum? deixe nos comentários!

Obrigada por ler!

Esse post foi menos planejado que o resto, como você deve ter notado pela escrita mais improvissada, falta de imagens e tals kk
É só que eu NÃO CONSIGO não falar sobre isso com alguém rsrs

Gostou desse post?