{"id":29085854,"url":"https://github.com/librecodecoop/garages3","last_synced_at":"2026-02-03T01:36:16.903Z","repository":{"id":289319709,"uuid":"967517140","full_name":"LibreCodeCoop/garages3","owner":"LibreCodeCoop","description":"Instruções para rodar o garages3 em docker.","archived":false,"fork":false,"pushed_at":"2025-04-22T16:50:33.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-22T17:55:35.436Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://garagehq.deuxfleurs.fr/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LibreCodeCoop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-16T15:17:26.000Z","updated_at":"2025-04-22T16:50:36.000Z","dependencies_parsed_at":"2025-04-22T17:55:39.991Z","dependency_job_id":"65de77db-ea31-4c33-bd88-6a200635ba4a","html_url":"https://github.com/LibreCodeCoop/garages3","commit_stats":null,"previous_names":["librecodecoop/garages3"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LibreCodeCoop/garages3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreCodeCoop%2Fgarages3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreCodeCoop%2Fgarages3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreCodeCoop%2Fgarages3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreCodeCoop%2Fgarages3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LibreCodeCoop","download_url":"https://codeload.github.com/LibreCodeCoop/garages3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreCodeCoop%2Fgarages3/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262347483,"owners_count":23296895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-27T23:06:18.180Z","updated_at":"2026-02-03T01:36:16.858Z","avatar_url":"https://github.com/LibreCodeCoop.png","language":null,"readme":"# garages3\nInstruções para rodar o garages3 em docker.\n\n\n## Configurações\n- Defina as variáveis no arquivo `garage.toml`:\n    - `rpc_secret` - Senha utilizada pra ingressar no cluster.\n    - `rpc_public_addr` - Endereço do servidor que está sendo configurado\n\n- `rpc_secret` deve ser uma variável de 32 bits em hexadecimal. Pode gerar uma com o comando: `openssl rand -hex 32`\n\n\n- Inicie o serviço:\n\n    `docker compose up -d`\n\n## Controlando o daemon\n- Crie um `alias` e adicione ao `~/.bashrc_alias`:\n\n    `alias garage=\"docker exec -ti \u003cnome do container \u003e /garage\"`\n\n- Executando o comando `garage status` é possível ver status de aplicação.\n    ```bash\n    2025-04-22T12:36:32.002383Z  INFO garage_net::netapp: Connected to 189.48.251.22:3901, negotiating handshake...    \n    2025-04-22T12:36:32.043613Z  INFO garage_net::netapp: Connection established to 3f8732ea76d76654    \n    ==== HEALTHY NODES ====\n    ID                Hostname                      Address              Tags  Zone  Capacity          DataAvail\n    3f8732ea7676654  servidor.dominio.com.br  189.48.251.22:3901              NO ROLE ASSIGNED\n    ```\n\n## Conectando a outros nós\n- A primeira vez que o Garage iniciar, será gerado um identificador único baseado na chave pública e privada.\n- Para obter o identificar, execute o comando `garage node id`.\n    ```bash\n    Terra# garage node id\n    3f8732ea76d769549fa26a7d7581c5544e33fe438d9ee591bf5d646618a5097026@189.48.251.22:3901\n    ```\n\n- Para instruir outro servidor a se conectar, execute:\n    ```bash\n    Lua# garage node connect 3f8732ea76d769549fa26a7d7581c5544e33fe438d9ee591bf5d646618a5097026@189.48.251.22:3901\n    ```\n\n- Não é necessário instruir todos nós a se conectarem a todos os outros nós: os nós executam um processo de auto-descoberta.\n\n\n## Criando o layout de um cluster\n- Criaremos um layout e informaremos ao Garage, com informações do espaço em disco de cada servidor, sua localização (zona). \n- Como exemplo, leve em consideração o layout abaixo:\n    ```bash\n    Localização\tNome\tEspaço\tIdentificador\tZona (-z)\tCapacidade (-c)\n    Paris\t    Mercury\t1 TB\t563e\t        par1    \t1T\n    Paris\t    Venus\t2 TB\t86f0\t        par1\t    2T\n    London\t    Earth\t2 TB\t6814\t        lon1\t    2T\n    Brussels\tMars\t1.5 TB\t212f\t        bru1\t    1.5T\n    ```\n\n- O identificador do nó é gerado na primeira inicialização do serviço e pode ser obtido invocando o comando `garage status`. Podemos utilizar os 4 primeiros caracteres para identificar o nó.\n- O comando `garage layout assign` será utilizado para configurar corretamente os parâmetros para cada nó.\n\n### Zonas\n- Zonas são simplesmente um identificador escolhido pelo usuário que identifica um grupo de servidores agrupados logicamente. Cabe ao administrador do sistema que implementa o Garage identificar o que significa \"agrupados\".\n\n- Na maioria dos casos, uma zona corresponderá a uma localização geográfica (por exemplo, um datacenter). Nos bastidores, o Garage usará a definição de zona para tentar armazenar os mesmos dados em zonas diferentes, a fim de fornecer alta disponibilidade mesmo com falhas em uma zona.\n\n- As zonas são passadas para o Garage usando o sinalizador `-z` do comando `garage layout assign` (veja abaixo).\n\n### Capacidade\n- O Garage precisa saber a capacidade (espaço em disco) que é possível utilizar em cada nó, para balancear os dados corretamente.\n- A capacidade é expressada em `bytes` e são passadas utilizando o parâmetro `-c`.\n\n### Tags\n- Podem ser adicionadas para indicar informações extras e não tem nenhum significado para o Garage.\n\n### Configurando a topologia\n- Dada a tabela de exemplo utilizada, podemos configurar o cluster como a seguir:\n    ```bash\n    garage layout assign 563e -z par1 -c 1T -t mercury\n    garage layout assign 86f0 -z par1 -c 2T -t venus\n    garage layout assign 6814 -z lon1 -c 2T -t earth\n    garage layout assign 212f -z bru1 -c 1.5T -t mars\n    ```\n- Para verificar as mudanças: `garage layout show`\n- Aplicando as mudanças:\n    ```bash\n    garage layout apply\n    ```\n\n## Utilização\n- Com o Garage é possível criar buckets, gerenciar chaves de acesso, hospedar sites, entre outros. Tudo isso é feito utilizando a linha de comando invocando `garage`.\n- A utilização da linha de comando é bem documentada, com o parâmetro `--help` e o subcomando `help` (por exemplo, `garage help`, `garage key --help`).\n\n\n# Fontes\n-  [Documentação oficial](https://garagehq.deuxfleurs.fr/documentation/cookbook/real-world/)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibrecodecoop%2Fgarages3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibrecodecoop%2Fgarages3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibrecodecoop%2Fgarages3/lists"}