Requirements:
sudo apt update -y && sudo apt install -y docker docker-compose python3 python3-pip vim git pip3 install boto3
Create ~/.aws/
with credentials:
mkdir ~/.aws/ vim ~/.aws/credentials vim ~/.aws/config
File credentials
:
[default] aws_access_key_id = <идентификатор_статического_ключа> aws_secret_access_key = <секретный_ключ>
File config
:
[default] region=ru-central1
Clone a repo:
git clone https://git.area51-lab.ru/architect/dev_server cd dev_server
Create .env
file:
USER_UID=1000 USER_GID=1000 GITEA__database__DB_TYPE=postgres GITEA__database__HOST=gitea_db GITEA__database__NAME=gitea GITEA__database__USER=git3453453463456 GITEA__database__PASSWD=9ew4hyfr97e84trye4tregiytetreir7ftye GITEA__mailer__ENABLED=true GITEA__mailer__FROM=area51-lab@yandex.ru GITEA__mailer__PROTOCOL=smtps GITEA__mailer__SMTP_ADDR=smtp.yandex.ru GITEA__mailer__SMTP_PORT=465 GITEA__mailer__USER=area51-lab GITEA__mailer__PASSWD=shyiacppxexzurax GITEA__ui__THEMES=gitea,arc-green GITEA__ui__DEFAULT_THEME=arc-green
Create .env.db
file:
POSTGRES_USER=git3453453463456 POSTGRES_PASSWORD=9ew4hyfr97e84trye4tregiytetreir7ftye POSTGRES_DB=gitea
Run:
sudo docker-compose up -d --build
Default nginx config /etc/nginx/sites-available/default
:
sudo rm /etc/nginx/sites-available/default sudo vim /etc/nginx/sites-available/default
Set:
upstream git { server 127.0.0.1:3000; } server { listen 80; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name git.area51-lab.ru; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; ssl_certificate /etc/ssl/mycert.crt; ssl_certificate_key /etc/ssl/mykey.key; client_body_buffer_size 32k; client_header_buffer_size 8k; large_client_header_buffers 8 64k; client_max_body_size 30g; access_log /var/log/nginx/nginx-git-access.log; error_log /var/log/nginx/nginx-git-error.log; location / { proxy_pass http://git; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_redirect off; } }
Restart Nginx:
sudo systemctl restart nginx sudo systemctl status nginx
Create backup:
./take_dump.sh
Upload it to S3:
python3 backup.py -u <dump_name>
And yes...
Every where write backup name without extension!
Get backup from S3:
python3 backup.py -d <dump_name>
Run a clear stack:
sudo docker-compose up -d --build
Then restore downloaded backup:
./restore_dump.sh
rm *.zip sudo docker-compose down -v sudo docker system prune -a sudo rm -rf gitea/ gitea_database/