Coleção de scripts para configurar rapidamente um ambiente de desenvolvimento: Git, Docker (Engine, Buildx e Compose v2), AWS CLI v2, Terraform, SDKMAN! e pacotes essenciais para sistemas baseados em Ubuntu/Debian. Alguns scripts também suportam macOS.
- Ubuntu/Debian (com
apt-get
): a maioria dos scripts (linux/ubuntu.sh, docker/docker.sh, docker/docker-compose.sh, git/git.sh, sdkman/sdkman.sh). - Linux genérico (com bash,
curl
/wget
,unzip
esudo
): terraform/terraform.sh e aws/awscli.sh; docker/docker-compose.sh possui fallback via binário do GitHub. - macOS: terraform/terraform.sh e aws/awscli.sh (instalação via pkg para AWS CLI); docker/docker-compose.sh tenta instalar o binário do Compose v2 (CLI plugin), mas no macOS normalmente o Docker Desktop já inclui o Compose.
-
linux/ubuntu.sh
- Atualiza índices do apt e instala pacotes essenciais (curl, wget, ca-certificates, gnupg, lsb-release, build-essential, locales, etc.).
- Gera locales comuns e define LANG; seguro para rodar várias vezes.
- Suporte: Ubuntu/Debian.
-
git/git.sh
- Instala ou atualiza o Git via apt e valida a instalação.
- Pede interativamente nome e e-mail para
git config --global
e oferece geração de chave SSH (rsa) com o e-mail informado. - Suporte: Ubuntu/Debian.
-
docker/docker.sh
- Configura o repositório oficial da Docker, instala/atualiza Docker Engine, CLI, containerd, Buildx e o plugin Compose v2.
- Habilita/ajusta o serviço (systemd), cria o grupo
docker
e adiciona o usuário atual ao grupo. - Suporte: Ubuntu (baseado em apt). Requer
sudo
.
-
docker/docker-compose.sh
- Instala/atualiza o Docker Compose v2.
- Caminho 1 (Ubuntu/Debian): usa apt e o repositório oficial da Docker.
- Caminho 2 (sem apt): baixa a última versão do GitHub Releases e instala como CLI plugin em
/usr/local/lib/docker/cli-plugins
(cria um shimdocker-compose
se necessário). - Suporte: Ubuntu/Debian (apt) e fallback para Linux/macOS via binário.
-
aws/awscli.sh
- Instala/atualiza o AWS CLI v2 mais recente (detecta SO e arquitetura), usando URLs oficiais da AWS.
- Linux: exige
unzip
; instala em/usr/local/bin
e/usr/local/aws-cli
(pode ser ajustado por variáveis de ambiente). macOS: instala via.pkg
. - Idempotente (
--update
). Mostra versão ao final. - Suporte: Linux e macOS.
-
terraform/terraform.sh
- Instala/atualiza o Terraform (detecta SO/arquitetura) e valida checksum SHA256.
- Define a versão via variável
TERRAFORM_VERSION
(ex.:1.9.5
); se não definida, busca a mais recente via API da HashiCorp. - Instala em
/usr/local/bin
por padrão (ajustável viaINSTALL_DIR
). - Suporte: Linux e macOS. Requer
unzip
ecurl
ouwget
.
-
sdkman/sdkman.sh
- Instala dependências (curl, unzip, zip) via apt e executa a instalação do SDKMAN!.
- Ao final, carrega o SDKMAN e imprime a versão (
sdk version
). - Suporte: Ubuntu/Debian.
- bash, conexão com a internet.
- Permissão de superusuário (
sudo
) para operações de instalação no sistema. - Para scripts baseados em apt: um sistema Ubuntu/Debian com
apt-get
. - Para Terraform e AWS CLI no Linux:
unzip
instalado (o script aborta com uma mensagem se estiver ausente). curl
ouwget
(os scripts tentam usar um dos dois quando necessário).
- Clone este repositório e entre na pasta:
- git clone https://github.com/sandrogiacom/dev-scripts.git
- cd dev-scripts
- Execute o(s) script(s) desejado(s). Você pode torná-los executáveis ou chamar com
bash
:
Exemplos (Ubuntu/Debian):
- sudo bash linux/ubuntu.sh
- sudo bash docker/docker.sh
- sudo bash docker/docker-compose.sh
- bash git/git.sh # interativo: nome/e-mail e SSH key
- bash sdkman/sdkman.sh
Exemplos (Linux/macOS):
- sudo bash aws/awscli.sh
- TERRAFORM_VERSION=1.9.5 sudo bash terraform/terraform.sh # ou sem a variável para instalar a última versão
- Docker: após ser adicionado ao grupo
docker
, encerre a sessão e entre novamente (ou rodenewgrp docker
) para que a mudança tenha efeito. - Alguns scripts adicionam repositórios e chaves GPG oficiais (ex.: Docker) e podem alterar arquivos em
/etc/apt
. - Os scripts são pensados para serem idempotentes quando possível; rodar novamente deve manter o ambiente atualizado.
- No macOS, você poderá ser solicitado a informar a senha de administrador para concluir a instalação.