---
# System prepended metadata

title: Configurações iniciais (Em construção!!!)

---

# 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:

![](https://i.imgur.com/MLq6dLC.png)

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:

![](https://i.imgur.com/3haRbxE.png)


---
<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:

![](https://i.imgur.com/2pd3Xgu.png)


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:

![](https://i.imgur.com/FzzJ1I5.png)


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
```

![](https://i.imgur.com/W2ygo89.png)

---
<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