Skip to content

light-hat/gitea_deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dev server

Setup

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

Deploy

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

Reverse proxy

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

Make backup

Create backup:

./take_dump.sh

Upload it to S3:

python3 backup.py -u <dump_name>

And yes...

Every where write backup name without extension! 

Restore backup

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

Cleanup

rm *.zip sudo docker-compose down -v sudo docker system prune -a sudo rm -rf gitea/ gitea_database/

About

📦🌲 Previous notes on deploying a Git server with S3 backup capabilities.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published