Base sync backup: 2025-01-16 00:06:10

This commit is contained in:
Stitch505
2025-01-16 00:06:11 +04:00
parent a873a47b1c
commit dd236086a6
668 changed files with 145069 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
```bash
#! /bin/bash
# Heavily inspired by https://github.com/urfave/cli
_cli_bash_autocomplete() {
if [[ "${COMP_WORDS[0]}" != "source" ]]; then
local cur opts base
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
if [[ "$cur" == "-"* ]]; then
opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} ${cur} --generate-bash-completion )
else
opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion )
fi
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
if [ -z "$PROG" ] && [ ! "$(command -v gitea &> /dev/null)" ] ; then
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete gitea
elif [ -z "$PROG" ]; then
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete ./gitea
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete "$PWD/gitea"
else
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete "$PROG"
unset PROG
fi```

View File

@@ -0,0 +1,89 @@
```Bash
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
###
# Don't forget to add the database service dependencies
###
#
#Wants=mysql.service
#After=mysql.service
#
#Wants=mariadb.service
#After=mariadb.service
#
#Wants=postgresql.service
#After=postgresql.service
#
#Wants=memcached.service
#After=memcached.service
#
#Wants=redis.service
#After=redis.service
#
###
# If using socket activation for main http/s
###
#
#After=gitea.main.socket
#Requires=gitea.main.socket
#
###
# (You can also provide gitea an http fallback and/or ssh socket too)
#
# An example of /etc/systemd/system/gitea.main.socket
###
##
## [Unit]
## Description=Gitea Web Socket
## PartOf=gitea.service
##
## [Socket]
## Service=gitea.service
## ListenStream=<some_port>
## NoDelay=true
##
## [Install]
## WantedBy=sockets.target
##
###
[Service]
# Uncomment the next line if you have repos with lots of files and get a HTTP 500 error because of that
# LimitNOFILE=524288:524288
RestartSec=2s
Type=notify
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
# If using Unix socket: tells systemd to create the /run/gitea folder, which will contain the gitea.sock file
# (manually creating /run/gitea doesn't work, because it would not persist across reboots)
#RuntimeDirectory=gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
WatchdogSec=30s
# If you install Git to directory prefix other than default PATH (which happens
# for example if you install other versions of Git side-to-side with
# distribution version), uncomment below line and add that prefix to PATH
# Don't forget to place git-lfs binary on the PATH below if you want to enable
# Git LFS support
#Environment=PATH=/path/to/git/bin:/bin:/sbin:/usr/bin:/usr/sbin
# If you want to bind Gitea to a port below 1024, uncomment
# the two values below, or use socket activation to pass Gitea its ports as above
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE
###
# In some cases, when using CapabilityBoundingSet and AmbientCapabilities option, you may want to
# set the following value to false to allow capabilities to be applied on gitea process. The following
# value if set to true sandboxes gitea service and prevent any processes from running with privileges
# in the host user namespace.
###
#PrivateUsers=false
###
[Install]
WantedBy=multi-user.target
```

View File

@@ -0,0 +1,137 @@
> [!quote] [Источник](https://kodprog.ru/ustanovka-gitea-v-ubuntu-2204#gsc.tab=0)
## Установка Gitea в Ubuntu 22.04
Перейдём к установке gitea:
Следующей командой скачаю gitea:
```bash
wget -O gitea https://dl.gitea.com/gitea/1.20.5/gitea-1.20.5-linux-amd64
```
Где 1.20.5 - это версия gitea.
И предоставлю ей права на выполнение:
```bash
chmod +x gitea
```
После этого надпись gitea стала зелёной и слева в строчке везде появилась X:
![[Pasted image 20240915235906.png]]
Далее загружу gpg ключ:
```bash
gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
```
И скачаю asc файл для верификации:
```bash
wget -O gitea.asc https://dl.gitea.com/gitea/1.20.5/gitea-1.20.5-linux-amd64.asc
```
Теперь запущу верификацию:
```bash
gpg --verify gitea.asc gitea
```
И должна выйти строчка хорошая подпись несмотря на предупреждение:
![[Pasted image 20240915235942.png]]
В данном случае файл подлинный и его можно использовать.
Далее создам необходимые папки:
```bash
mkdir -p /var/lib/gitea/{custom,data,log}
```
Создам нового пользователя git:
```bash
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
```
И назначу права на папки:
```bash
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
```
Для того, чтобы установка прошла успешно, устанавливаются полные права на файлы, которые после установки желательно понизить:
```bash
chmod 770 /etc/gitea
```
Далее копирую gitea в глобальный путь:
```bash
sudo cp gitea /usr/local/bin/gitea
```
Включаю автозаполнение создав данную настройку:
```bash
sudo nano /usr/share/bash-completion/completions/gitea
```
С содержимым из [[File_1]]
![[Pasted image 20240915235958.png]]
И теперь необходимо создать сервис gitea. Для этого необходимо создать файл:
```bash
sudo nano /etc/systemd/system/gitea.service
```
Со следующим содержимым из [[File_Gitea_service]]
![[Pasted image 20240916000017.png]]
В котором раскомментировать строчки напротив используемой базы данных, в моём случае это mysql
![[Pasted image 20240916000033.png]]
Включаю сервис gitea для того, чтобы он запускался во время запуска системы:
```bash
sudo systemctl enable gitea
```
И запускаю его:
```bash
sudo systemctl start gitea
```
Здесь я подумал то, что всё зависло, и спустя какое-то время команда выдаёт ошибку timeout:
![[Pasted image 20240916000057.png]]
Но на самом деле нужно было открыть браузер и перейти по пути [http://localhost:3000/](http://localhost:3000/).
>[!quote]
>После команды консоль подвиснет и появится ошибка, **НО** нужно прописать ip сервера и порт 3000 (пример http://212.16.94.33:3000
Здесь необходимо указать пароль и поменять имя баз данных на giteadb:
![[Pasted image 20240916000119.png]]
>[!quote]
>Откроется начальная конфигурация где нужно заполнить:
>1) в поле тип базы данных нужно указать SQLite3
>2) В название указать название сервиса
>3) Оставляем свой ip
>4) В базовый url пишем домен (пример http://stitch505.ru/) (
Открываем Настройки учётной записи администратора и указываем данные
После этого пролистать вниз и нажать установить Gitea.
Далее зарегистрирую новый аккаунт:
![[Pasted image 20240916000223.png]]
И создам новый репозиторий нажав на плюс в правом верхнем углу
![[Pasted image 20240916000244.png]]
Переход в [[Синхронизация PC]]

View File

@@ -0,0 +1 @@
[[Gitea установка (PC)]]

View File

@@ -0,0 +1,5 @@
{
"version": "2.0",
"hint": "Your_name",
"encodedData": "9iac6AQiuP4rQQKNhXlrQ200TYprZdYtNx2SJMQtTCwHnI8qQO/v8zH5SZhBMhUixxfALVSULjXZ43KnNduMOQvGfCdJRVjqjZ+KteLkGPulOPftc8u3I5tP"
}

View File

@@ -0,0 +1,25 @@
>[!tip] Шаг. 1 Открыть конфиг и указать там домен в ROOT_URL
>sudo nano /etc/gitea/app.ini
>[!tip] Шаг 2. Подключить домен к КлаудФлар и прописать записи в нем
> для ROOT & WWW
> [!tip] Cправочно! Получить сертификат и указать в конфиге
>CERT_FILE = fullchain
KEY_FILE = private
>[!tip] Шаг 3. Указать протокол и cертификаты
>.# Настройки HTTPS `укахать в конце раздела сервер`
PROTOCOL = https
CERT_FILE = /etc/letsencrypt/live/__domain__/fullchain.pem
KEY_FILE = /etc/letsencrypt/live/__domain__\/privkey.pem
>[!tip] Шаг 4. Дать доступ к директориям серт. (ПРОПИСАТЬ РУКАМИ)
>sudo chmod 755 /etc/letsencrypt
>sudo chmod 755 /etc/letsencrypt/live
>sudo chmod 755 /etc/letsencrypt/archive
>sudo chmod 755 /etc/letsencrypt/live/`DOMAIN`/privkey.pem
>[!tip] Шаг 5. Перезапустить серв
sudo systemctl restart gitea
sudo systemctl status gitea.service