{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreidjm4pxrkglwmaoqek4ra6zlxhubktmpzzlexitzwvatoyi5bsohy",
    "commit": {
      "cid": "bafyreie4m5yedr3xl4rxwdniv6zhudj6wp6yocaytgmoxtkhcihebdn46u",
      "rev": "3mlmpvlatit22"
    },
    "uri": "at://did:plc:isq6zxp5gfm5zfi676sf6yvw/app.bsky.feed.post/3mlmpvl37xc24",
    "validationStatus": "valid"
  },
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ],
                  "index": {
                    "byteEnd": 71,
                    "byteStart": 60
                  }
                }
              ],
              "plaintext": "Esses últimos meses eu fiquei brincando com um hobby novo, homelabbing."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "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."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "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\"."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "plaintext": "Contêiners, o que são?"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "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!\nNisso 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 é!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "plaintext": "Como Usar?"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Sem muitos segredos, vou te ensinar agora a instalar um serviço muito interessante chamado \"HomeAssistant\"! Pra isso, você vai precisar instalar algumas coisinhas:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.orderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.orderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "Docker"
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.orderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "Docker Composer"
                  }
                }
              ],
              "startIndex": 1
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Após baixar elas, você irá criar uma pasta pro docke (~/docker)r, e uma subpasta pro seu projeto (nesse caso, HomeAssistant)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "plaintext": "Docker"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "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!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Instale o Docker pelo repositório oficial da sua distro!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "plaintext": "sudo apt install docker",
              "syntaxHighlightingTheme": "catppuccin-macchiato"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "plaintext": "sudo pacman -S docker",
              "syntaxHighlightingTheme": "catppuccin-macchiato"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Depois, adicione seu usuário ao grupo docker (pra não precisar usar sudo em todo comando kk)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "plaintext": "sudo usermod -aG docker $USER",
              "syntaxHighlightingTheme": "catppuccin-macchiato"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Após isso, reinicie sua sessão (logout, reboot, o que vc preferir)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "plaintext": "Docker Compose"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "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!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "plaintext": "sudo apt install docker-compose",
              "syntaxHighlightingTheme": "catppuccin-macchiato"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "plaintext": "sudo pacman -S docker-compose",
              "syntaxHighlightingTheme": "catppuccin-macchiato"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "plaintext": "Instalando o primeiro contêiner..."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Dentro dessa nova pasta, crie um arquivo chamado \"compose.yaml\", é nele onde iremos configurar o homeassistant"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "O arquivo vai ficar assim, vamos passar pra explicar cada detalhe, mas se quiser pode já copiar e colar!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "plaintext": "#compose.yaml\nservices:\n  homeassistant:\n    container_name: homeassistant\n    image: \"ghcr.io/home-assistant/home-assistant:stable\"\n    volumes:\n      - ./ha:/config\n      - /etc/localtime:/etc/localtime:ro\n      - /run/dbus:/run/dbus:ro\n    restart: unless-stopped\n    privileged: true\n    network_mode: host\n    environment:\n      TZ: America/Sao_Paulo",
              "syntaxHighlightingTheme": "catppuccin-macchiato"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Explicando os detalhes chaves desse arquivo:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "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."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "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!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 3,
              "plaintext": "O que é esse contêiner, e como eu rodo ele?"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "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!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignRight",
            "block": {
              "$type": "pub.leaflet.blocks.button",
              "text": "Saiba Mais Sobre Open-Source!",
              "url": "https://blog.snowfloke.com/3mk7chct63224"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Pra iniciar é bem simples, basta abrir um terminal na pasta que você colocou aquele arquivo, e digitar:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "plaintext": "docker compose up -d",
              "syntaxHighlightingTheme": "catppuccin-macchiato"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "E pronto!  Ele vai baixar a imagem pela internet, vai criar as pastas necessárias, e vai montar o contêiner pra você :3"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight"
                    }
                  ],
                  "index": {
                    "byteEnd": 21,
                    "byteStart": 20
                  }
                },
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight"
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "http://localhost:8123"
                    }
                  ],
                  "index": {
                    "byteEnd": 32,
                    "byteStart": 21
                  }
                },
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight"
                    }
                  ],
                  "index": {
                    "byteEnd": 33,
                    "byteStart": 32
                  }
                }
              ],
              "plaintext": "Para acessar, é só clicar aqui caso você esteja usando o mesmo PC que rodou esses comandos."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Caso tenha usado outro PC, digite no seu navegador: http://<ip-do-computador-com-homeassistant>:8123. (ex: http://192.168.0.46:8123) "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Se você não souber o IP dele, só digitar isso aqui no terminal:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "plaintext": "ip addr",
              "syntaxHighlightingTheme": "catppuccin-macchiato"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "O IP certo é (geralmente) o que começa com \"192.168\". Se houver mais de um, tente todos :3"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignCenter",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Não se preocupe em vazar ele, este IP só é acessível na sua rede doméstica, e não oferece risco algum!",
              "textSize": "small"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "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!!!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "plaintext": "Tá, mas por quê você tá tão empolgada com isso?"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "O motivo é bem simples, isso abriu uma gama infinita de possibilidades!!!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ],
                  "index": {
                    "byteEnd": 397,
                    "byteStart": 384
                  }
                }
              ],
              "plaintext": "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!!!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "plaintext": "Eu também me interessei por isso, onde posso aprender mais sobre?"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "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."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Segue a lista:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignLeft",
            "block": {
              "$type": "pub.leaflet.blocks.button",
              "text": "Vídeo DioLinux (BR)",
              "url": "https://www.youtube.com/watch?v=ntbpIfS44Gw"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignLeft",
            "block": {
              "$type": "pub.leaflet.blocks.button",
              "text": "Vídeo 2 DioLinux (BR)",
              "url": "https://youtu.be/Y6kz884AoME?si=VDPyT5bkoMRhi0j_"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignLeft",
            "block": {
              "$type": "pub.leaflet.blocks.button",
              "text": "Canal DioLinux (BR)",
              "url": "https://www.youtube.com/@Diolinux"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignLeft",
            "block": {
              "$type": "pub.leaflet.blocks.button",
              "text": "Playlist NetworkChuck (US)",
              "url": "https://www.youtube.com/playlist?list=PLIhvC56v63IJlnU4k60d0oFIrsbXEivQo"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignLeft",
            "block": {
              "$type": "pub.leaflet.blocks.button",
              "text": "Canal NetworkChuck (US)",
              "url": "https://www.youtube.com/@NetworkChuck"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "conhece mais algum? deixe nos comentários!",
              "textSize": "small"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignLeft",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "plaintext": "Obrigada por ler!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Esse post foi menos planejado que o resto, como você deve ter notado pela escrita mais improvissada, falta de imagens e tals kk\nÉ só que eu NÃO CONSIGO não falar sobre isso com alguém rsrs"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ],
                  "index": {
                    "byteEnd": 18,
                    "byteStart": 0
                  }
                }
              ],
              "plaintext": "Gostou desse post?",
              "textSize": "large"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.poll",
              "pollRef": {
                "cid": "bafyreihshelrl2bczz3iphnxlgfelk3wfgro6244lww4cxj4svbtjhfeq4",
                "uri": "at://did:plc:isq6zxp5gfm5zfi676sf6yvw/pub.leaflet.poll.definition/019e19f3-9250-7eea-8d66-f53ad8249ccd"
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.button",
              "text": "Website",
              "url": "https://snowfloke.com"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": ""
            }
          }
        ],
        "id": "019e19ba-ca81-788b-8ec6-d7dac5c5736e"
      }
    ]
  },
  "description": "Isnoi nerdolando sobre uma tecnologia que interessou ela...",
  "path": "/3mlmpv6rzwc2v",
  "publishedAt": "2026-05-12T02:17:10.229Z",
  "site": "at://did:plc:isq6zxp5gfm5zfi676sf6yvw/site.standard.publication/3mk7bxmzs522f",
  "tags": [
    "docker",
    "tech"
  ],
  "title": "Docker: Minha nova tecnologia favorita!"
}