# Configurações iniciais (Em construção!!!)
## Tutorais simplificados:
- **[1 Docker](#ancora1)**,
- **[2 Docker Compose](#ancora2)**,
- **[3 Ruby(através do Rbenv)](#ancora3)**,
- **[4 Configuração chave SSH no github](#ancora4)**,
- **[5 Extensões VsCode](#ancora5)**,
- **[6 Miscelânea](#ancora6)**
---
<a id="ancora1"></a>
### 1 - Tutorial Rápido de Instalação Docker (Resumo da documentação)
**Fonte:** https://docs.docker.com/engine/install/ubuntu/
Antes de começar atualize sua máquina:
```shell
$ sudo apt-get update
```
Antes da instalação iremos remover qualquer traço de instalação anterior com o comando:
```shell
$ sudo apt-get remove docker docker-engine docker.io containerd runc
```
O mais comum é que não exista, sendo assim você receberá a seguinte mensagem:

Configurando repositório:
```shell
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
```
Após colar esse comando no seu terminal ele irá pedir para confirmar as informações digitando S ou Y dependendo da configuração de idioma da sua máquina.
Adicione a chave GPG oficcial do Docker:
```shell
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
```
Use esse comando para configurar o repositorio:
```shell
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
```
Atualize novamente sua máquina e finalmente rode o comando de instalação do docker:
```shell=
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
```
Ta-dam! Seu docker já está instalado na sua máquina parabéns!
Para conferir se está tudo correto, rode os comandos:
```shell!
sudo service docker start
sudo docker run hello-world
```
Caso esteja tudo certo você vai ver um retorno do comando anterior parecido com isso:

---
<a id="ancora2"></a>
## 2 - Docker Compose
Fonte: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04
O comando a seguir fará o download da versão 1.29.2 e salvará o arquivo executável em /usr/local/bin/docker-compose, o que tornará este software globalmente acessível como docker-compose:
```shell=
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
```
Em seguida, defina as permissões corretas para que o comando docker-compose seja executável:
```shell=
sudo chmod +x /usr/local/bin/docker-compose
```
Para verificar se a instalação foi bem-sucedida, você pode executar:
```shell=
docker-compose --version
```
---
<a id="ancora3"></a>
## 3 - Instalação do Ruby (através do Rbenv)
**Fonte:** https://phoenixnap.com/kb/install-ruby-ubuntu
Agora iremos instalar o Ruby através do Rbenv.
Rbenv é uma ferramenta de linha de comando que permite alternar entre as versões instaladas do Ruby. Ele também pode instalar novas versões do Ruby usando o plugin ruby-build, isso nos trará mais liberdade para controlar as dinferentes versões de Ruby que teremos nos projetos:
Mais uma vez iremos começar atualizando nossa máquina:
```shell
sudo apt-get update
```
Agora baixe e instale as bibliotecas e compiladores que Ruby precisa para rodar:
```shell
sudo apt install git curl autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
```
Após colar esse comando no seu terminal ele irá pedir para confirmar as informações digitando S ou Y dependendo da configuração de idioma da sua máquina.
Baixe e execute o shell script usado para instalar o Rbenv abaixo:
```shell
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
```
Aqui você irá precisar adicionar `$HOME/.rbenv/bin` à sua variável de ambiente PATH para começar a usar o Rbenv.
Esse passo é diferente se vc estiver usando o Bash (terminal padrão) ou o zshell (terminal alternativo)
Use os seguintes comandos se estiver usando o shell Bash:
```shell
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
```
Para o shell Zsh, use:
```shell
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc
```
Agora você pode/deve conferir se tudo ocorreu bem com o commando:
```shell
rbenv -v
```
Caso tudo estiver correto você vai ver um retorno do comando anterior como:

O Rbenv é um gerenciador de versões do ruby, por isso é importante saber algumas informações além da instalação, por exemplo para verificar as versões do Ruby disponíveis para instalação você deve digitar no terminal:
```shell!
rbenv install -l
```
Seu retorno será algo como:

Então para instalar uma versão especifica você iria digitar `rbenv install versão_desejada`, exemplo:
```shell!
rbenv install 2.6.3
```
Que é a versão atual do Ruby do projeto: `Smart-System`
Decidindo/escolhendo qual a versão do Ruby que vc precisa você pode seta-la como a versão global do ruby, com o comando:
```shell!
rbenv global versão_escolhida
```
Então com tudo configurado você poderá conferir a versão atual do ruby instalada com o comando:
```shell!
ruby --version
```

---
<a id="ancora4"></a>
## 4 - Adicionar chave ssh ao github:
**Fonte:** https://jdblischak.github.io/2014-09-18-chicago/novice/git/05-sshkeys.html
```shell=
cd ~/.ssh
```
```shell=
ssh-keygen -o -t rsa -C "caio.ramos@smartfit.com.br"
```
```shell=
cat ~/.ssh/id_rsa.pub
```
---
<a id="ancora5"></a>
## 5 - Extensões que utilizo no VsCode
- Ruby e
- Docker
## 6 - Miscelânea
<a id="ancora6"></a>
Comando para corrigir pacotes quebrados no ubuntu:
**Fonte:** https://linuxhint.com/apt_get_fix_missing_broken_packages/
```shell=
sudo apt-get update --fix-missing
```
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them