Use variables for gitea directories

This commit is contained in:
flyingscorpio@clevo 2023-01-16 14:08:38 +01:00
parent 97aa822ee6
commit 292fc3adba
13 changed files with 44 additions and 38 deletions

View file

@ -11,7 +11,7 @@
mode: 0644
- name: Verify gitea binary with gpg
ansible.builtin.command: "gpg --verify /tmp/gitea-{{ gitea_binary.json.latest.version }}.asc /var/lib/gitea/gitea-{{ gitea_binary.json.latest.version }}"
ansible.builtin.command: "gpg --verify /tmp/gitea-{{ gitea_binary.json.latest.version }}.asc {{ gitea_run_dir }}/gitea-{{ gitea_binary.json.latest.version }}"
register: result
failed_when: '"Good signature from" not in result.stderr'

View file

@ -11,7 +11,7 @@
- name: Create gitea-dumps directory
become: true
ansible.builtin.file:
path: /var/lib/gitea/gitea-dumps
path: "{{ gitea_run_dir }}/gitea-dumps"
state: directory
owner: git
group: git

View file

@ -7,7 +7,7 @@
- name: Find if latest gitea version is installed
become: true
ansible.builtin.stat:
path: "/var/lib/gitea/gitea-{{ gitea_binary.json.latest.version }}"
path: "{{ gitea_run_dir }}/gitea-{{ gitea_binary.json.latest.version }}"
register: latest_gitea_binary
- name: Set gitea binary architecture to amd64
@ -24,7 +24,7 @@
become: true
ansible.builtin.get_url:
url: "https://dl.gitea.io/gitea/{{ gitea_binary.json.latest.version }}/gitea-{{ gitea_binary.json.latest.version }}-linux-{{ gitea_binary_arch }}"
dest: "/var/lib/gitea/gitea-{{ gitea_binary.json.latest.version }}"
dest: "{{ gitea_run_dir }}/gitea-{{ gitea_binary.json.latest.version }}"
owner: git
group: git
mode: 0664
@ -40,7 +40,7 @@
- name: Copy gitea binary to global location
become: true
ansible.builtin.copy:
src: "/var/lib/gitea/gitea-{{ gitea_binary.json.latest.version }}"
src: "{{ gitea_run_dir }}/gitea-{{ gitea_binary.json.latest.version }}"
dest: /usr/local/bin/gitea
remote_src: true
owner: root

View file

@ -11,8 +11,8 @@
- name: Copy fail2ban jail
become: true
ansible.builtin.copy:
src: fail2ban/gitea-jail.conf
ansible.builtin.template:
src: fail2ban/gitea-jail.conf.j2
dest: /etc/fail2ban/jail.d/gitea.conf
owner: root
group: root

View file

@ -19,8 +19,8 @@
- name: Copy /etc/systemd/system/gitea.service
become: true
ansible.builtin.copy:
src: gitea.service
ansible.builtin.template:
src: gitea.service.j2
dest: /etc/systemd/system/gitea.service
owner: root
group: root
@ -29,11 +29,11 @@
- Reload systemd daemon
- Start gitea service
- name: Copy /etc/gitea/app.ini
- name: Copy config file
become: true
ansible.builtin.template:
src: app.ini.j2
dest: /etc/gitea/app.ini
dest: "{{ gitea_conf_dir }}/app.ini"
owner: git
group: git
mode: 0640
@ -59,8 +59,8 @@
- name: Setup logrotate for gitea logs
become: true
ansible.builtin.copy:
src: gitea.logrotate
ansible.builtin.template:
src: gitea.logrotate.j2
dest: /etc/logrotate.d/gitea
owner: root
group: root

View file

@ -9,7 +9,7 @@
become: true
ansible.builtin.copy:
src: "{{ user_gitea_dump_path.user_input }}"
dest: "/var/lib/gitea/gitea-dumps/{{ user_gitea_dump_path.user_input | basename }}"
dest: "{{ gitea_run_dir }}/gitea-dumps/{{ user_gitea_dump_path.user_input | basename }}"
owner: git
group: git
mode: 0640
@ -18,7 +18,7 @@
- name: Find all gitea dumps on the server
become: true
ansible.builtin.find:
paths: "/var/lib/gitea/gitea-dumps/"
paths: "{{ gitea_run_dir }}/gitea-dumps/"
register: all_gitea_dumps
- name: Find latest gitea dump on the server
@ -30,4 +30,5 @@
become_user: git
ansible.builtin.command:
cmd: "/usr/local/bin/gitea_backup.sh restore {{ latest_gitea_dump.path }}"
creates: /var/lib/gitea/gitea-repositories # when this dir exists, the command won't run, so we don't overwrite existing repos
# when this dir exists, the command won't run, so we don't overwrite existing repos
creates: "{{ gitea_run_dir }}/gitea-repositories"

View file

@ -25,7 +25,7 @@
- sudo
- mail
create_home: false
home: /var/lib/gitea
home: "{{ gitea_run_dir }}"
shell: /bin/bash
system: true
@ -38,11 +38,11 @@
group: git
mode: 0750
with_items:
- /etc/gitea
- /var/lib/gitea
- /var/lib/gitea/custom
- /var/lib/gitea/data
- /var/log/gitea
- "{{ gitea_conf_dir }}"
- "{{ gitea_run_dir }}"
- "{{ gitea_custom_dir }}"
- "{{ gitea_data_dir }}"
- "{{ gitea_log_dir }}"
- name: Set sudoer permissions to git user
become: true

View file

@ -21,7 +21,7 @@ SSL_MODE = disable
CHARSET = utf8mb4
[repository]
ROOT = /var/lib/gitea/gitea-repositories
ROOT = {{ gitea_run_dir }}/gitea-repositories
DISABLE_HTTP_GIT = false
DEFAULT_BRANCH = main
DEFAULT_PUSH_CREATE_PRIVATE = true
@ -75,7 +75,7 @@ PROVIDER = file
[log]
MODE = file
LEVEL = info
ROOT_PATH = /var/log/gitea
ROOT_PATH = {{ gitea_log_dir }}
[other]
SHOW_FOOTER_BRANDING = false

View file

@ -1,7 +1,7 @@
[gitea]
enabled = true
filter = gitea
logpath = /var/log/gitea/gitea.log
logpath = {{ gitea_log_dir }}/gitea.log
maxretry = 10
findtime = 3600
bantime = 900

View file

@ -1,4 +1,4 @@
/var/log/gitea/*.log
{{ gitea_log_dir }}/*.log
{
rotate 7
daily

View file

@ -14,10 +14,10 @@ RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
WorkingDirectory={{ gitea_run_dir }}
ExecStart=/usr/local/bin/gitea web --config {{ gitea_conf_dir }}/app.ini
Restart=always
Environment=USER=git HOME=/var/lib/gitea GITEA_WORK_DIR=/var/lib/gitea
Environment=USER=git HOME={{ gitea_run_dir }} GITEA_WORK_DIR={{ gitea_run_dir }}
[Install]
WantedBy=multi-user.target

View file

@ -9,17 +9,17 @@ IFS="$(printf '\n\t')"
PROGRAM="${0##*/}"
INSTALL_DIR=/usr/local/bin
TMP_DIR=/var/lib/gitea/tmp
WORK_DIR=/var/lib/gitea/
DATA_DIR=/var/lib/gitea/data/
LOG_DIR=/var/log/gitea/
REPO_DIR=/var/lib/gitea/gitea-repositories/
CONFIG_FILE=/etc/gitea/app.ini
DUMP_DIR=/var/lib/gitea/gitea-dumps
TMP_DIR={{ gitea_run_dir }}/tmp
WORK_DIR={{ gitea_run_dir }}
DATA_DIR={{ gitea_data_dir }}
LOG_DIR={{ gitea_log_dir }}
REPO_DIR={{ gitea_run_dir }}/gitea-repositories/
CONFIG_FILE={{ gitea_conf_dir }}/app.ini
DUMP_DIR={{ gitea_run_dir }}/gitea-dumps
MYSQL_USER={{ db_user }}
MYSQL_DB={{ db_name }}
MYSQL_PW={{ db_pass }}
SCRIPT_LOGFILE=/var/log/gitea/gitea_backup.log
SCRIPT_LOGFILE={{ gitea_log_dir }}/gitea_backup.log
{% raw %}
if [ "$USER" != git ]; then
@ -67,7 +67,7 @@ do_restore() {
echo -n "Restoring $DATA_DIR..." && rsync -avz --delete data/ "$DATA_DIR" && rm -rf data && echo " OK."
echo -n "Restoring $LOG_DIR..." && rsync -avz log/ "$LOG_DIR" && rm -rf log && echo " OK."
echo -n "Restoring $REPO_DIR..." && mkdir -p "$REPO_DIR" && rsync -avz --delete repos/ "$REPO_DIR" && rm -rf repos && echo " OK."
echo -n "Changing ownership..." && chown -R git:git "$CONFIG_FILE" /var/lib/gitea && echo " OK."
echo -n "Changing ownership..." && chown -R git:git "$CONFIG_FILE" "$WORK_DIR" && echo " OK."
echo -n "Restoring MySQL database..." && mysql --default-character-set=utf8mb4 -u"$MYSQL_USER" -p"$MYSQL_PW" "$MYSQL_DB" < gitea-db.sql && rm gitea-db.sql && echo " OK."
rmdir "$zip_dir"
restart_service

View file

@ -13,3 +13,8 @@ gitea_pass: "{{ vault_gitea_pass }}"
db_name: giteadb
db_user: gitea
db_pass: "{{ vault_db_pass }}"
gitea_conf_dir: /etc/gitea
gitea_run_dir: /var/lib/gitea
gitea_custom_dir: "{{ gitea_run_dir }}/custom"
gitea_data_dir: "{{ gitea_run_dir }}/data"
gitea_log_dir: /var/log/gitea