erp-platform/configs/deployment/Readme_Devops.md
2025-05-08 10:17:50 +03:00

110 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Devops 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
-
## Sertifika alma
- sudo apt-get remove certbot
- sudo snap install --classic certbot
- sudo ln -s /snap/bin/certbot /usr/bin/certbot
- sudo certbot certonly --manual --preferred-challenges=dns --email system@sozsoft.com --agree-tos -d sozsoft.com -d *.sozsoft.com
- sudo su
- cd /etc/letsencrypt/archive
- chgrp docker -R sozsoft.com
- chown ${USER} -R sozsoft.com
- cd /etc/letsencrypt/archive/sozsoft.com
- cp -R /etc/letsencrypt/archive/sozsoft.com /home/sedat/sozsoft.com
- exit
- cd sozsoft.com/
- sudo chmod 775 *
## docker-compose-devops.yml kurulumu
Bu kurulumu yapmak için home klasörü altına 3 tane dosyaya ihtiyaç duyuyor. Aşağıdaki klasör ve dosya yapısı kurulmalıdır.
-> kurs-platform->configs->deployment->configs->nginx-devops.conf
-> kurs-platform->configs->deployment->docker-compose-devops.yml
-> kurs-platform->configs->deployment->Dockerfile
Bu dosyaları el ile oluşturduğumuz için kullanım yetkisi yok. Yetki verebilmek için configs->deployment klasöründe aşağıdaki kod çalıştırılır.
-> chmod 775 *
`docker compose -f ./docker-compose-devops.yml up -d` kodu çalıştırıldı.
n8n çalışmayınca `docker run --rm -v kurs-devops_n8n_data:/data alpine chown -R 1000:1000 /data` kodu çalıştırılacak.
`docker compose -f ./docker-compose-devops.yml down` kodu çalıştırıldı.
`docker compose -f ./docker-compose-devops.yml up -d` kodu çalıştırıldı.
## devops.sozsoft.com olarak sanal dns isimlendirmesi
/etc/hosts dosyasıılacak ve içerisine `127.0.1.1 devops.sozsoft.com` eklenecek
## Docker ayarları yapılacak
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"]
}
docker login devops.sozsoft.com
## Forgejo ayarları yapılacak
home klasöründeki `cd ~/forgejo/data/gitea/conf` klasörün altındaki app.ini dosyasına aşağıdaki satırlar eklenecek.
[server]
APP_DATA_PATH = /data/gitea
DOMAIN = devops.sozsoft.com
SSH_DOMAIN = devops.sozsoft.com
DISABLE_SSH = false
SSH_PORT = 222
SSH_LISTEN_PORT = 22
LFS_START_SERVER = true
LFS_JWT_SECRET = CDy3ldC2cTbYHalO_dH68QJseoD7dGvH9x0Zx9aq2J0
OFFLINE_MODE = true
PROTOCOL=http
HTTP_PORT = 3000
ROOT_URL = https://devops.sozsoft.com/
CERT_FILE = /etc/ssl/cert1.pem
KEY_FILE = /etc/ssl/privkey1.pem
## https://devops.sozsoft.com kurulumu ayarları
sedat.ozturk isimli kullanıcı tanımlanacak.
"kurs" isimli new organization tanımlanacak.
"kurs-platform" isimli repository kurs organizasyonunun içerisine tanımlanacak.
Fork üzerinden Remotes tanımlaması yapılacak. Remote: devops.sozsoft.com RepositoryUrl: https://devops.sozsoft.com/kurs/kurs-platform
Fork üzerinden Authorization işlemi yapılacak URL kısmı localhost olarak geliyor. Onu devops.sozsoft.com olarak değiştirmek gerekiyor.
cd ~
git config core.fileMode false
git config --global http.sslVerify false
git clone https://devops.sozsoft.com/kurs/kurs-platform.git
## Build
~/kurs-platform klasöründe `chmod 775 *` çalıştırılacak
~/kurs-platform/configs/deployment klasöründe `chmod 775 *` çalıştırılacak
~/kurs-platform/configs/deployment/scripts klasöründe `chmod 775 *` çalıştırılacak
~/kurs-platform/configs/deployment/configs klasöründe `chmod 775 *` çalıştırılacak