# 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