# Production Makinası kurulumu ## VS Code -> Extensions kısmında "Docker" kurulmalıdır. ## VS Code -> Extensions kısmında "Save as Root in Remote" kurulmalıdır. ## VS Code üzerinden SSH parolası sabitleme (Firewall ve SSH) - Windows Terminal üzerinde ssh_keygen komutu çalıştırılır. - C:\Users\sedat.ozturk\.ssh klasörün altında id_rsa ve id_rsa.pub isimli 2 dosya oluşturur. - C:\Users\sedat.ozturk\.ssh dosyasının içerisindeki id_rsa.pub dosyasının içeriğini ~/.ssh klasöründeki authorized_keys içeriğine kopyalanır. - Bu sayede VS Code üzerinden bağlanırken her defasında ssh paroları yazmak durumunda olmayız. ## Docker kurulumu - sudo apt update - sudo apt install apt-transport-https ca-certificates curl software-properties-common - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - sudo apt update - apt-cache policy docker-ce - sudo apt install docker-ce - sudo systemctl status docker - sudo usermod -aG docker ${USER} - su - ${USER} - sudo reboot - sudo su - cd /etc/docker - touch daemon.json daemon.json dosyasının içerisine aşağıdaki satırlar eklenecek. { "insecure-registries": ["devops.sozsoft.com"] } - /etc/hosts dosyası açılacak ve içerisine `192.168.0.2 devops.sozsoft.com` eklenecek - sudo systemctl restart docker - docker login devops.sozsoft.com ## Sertifika alma - DevOps makinasının ${USER} klasöründeyer alan ssl klasörü ("sozsoft.com") download edilecek - ~/ home klasörüne ssl klasörü kopyalacaktır. - ~/sozsoft.com klasöründe `chmod 775 *` çalıştırılacaktır. - `ssh-keygen` komutu çalıştırılır ve .ssh klasörünün altına `id_` ile başlayan 2 dosya oluşacak. `.pub` uzantılı dosyanın içeriği kopyalanacak ve https://devops.sozsoft.com/kurs/kurs-platform/settings/keys `Add deploy key` butonuna basarak eklenecektir. ## Git Kurulumu - cd ~ - git config --global http.sslVerify false - git clone https://devops.sozsoft.com/kurs/kurs-platform.git - cd kurs-platform/ - git config core.fileMode false - chmod 775 * - cd configs/deployment - chmod 775 * - cd configs - chmod 775 * - cd .. - cd scripts - chmod 775 * - cd ~/kurs-platform ## Deploy - cd ~/kurs-platform/configs/deployment - docker compose -f docker-compose-data.yml up -d - cd ~/kurs-platform/configs/deployment/scripts - ./2-app.sh production - ./2-migrator.sh true production