Restore from Gitea ZIP snapshot (12.08.2026) after full instance reinstall

Git history was lost when the previous Gitea instance was wiped and
reinstalled due to an unresolved corruption bug — this commit is the
last known-good file content, exported before the reinstall. Prior
commit history is not recoverable through this path.
This commit is contained in:
Claude Sonnet 5
2026-08-12 19:23:57 +00:00
commit 7320b8da8d
18 changed files with 483 additions and 0 deletions
+102
View File
@@ -0,0 +1,102 @@
---
- name: Install unzip
ansible.builtin.apt:
name: unzip
state: present
- name: Copy local osTicket ZIP to remote server
ansible.builtin.copy:
src: "{{ playbook_dir }}/osTicket.zip"
dest: /tmp/osticket.zip
mode: '0644'
- name: Create temp extraction directory
ansible.builtin.file:
path: /tmp/osticket_extract
state: directory
mode: '0755'
- name: Extract osTicket ZIP to temp directory
ansible.builtin.unarchive:
src: /tmp/osticket.zip
dest: /tmp/osticket_extract
remote_src: yes
- name: Find upload directory in extracted files
ansible.builtin.find:
paths: /tmp/osticket_extract
patterns: "upload"
file_type: directory
register: upload_dir
- name: Debug - show found upload directory
ansible.builtin.debug:
msg: "Upload directory found at: {{ upload_dir.files[0].path if upload_dir.files else 'NOT FOUND' }}"
- name: Copy files to webroot (if upload directory found)
ansible.builtin.copy:
src: "{{ upload_dir.files[0].path }}/"
dest: "/var/www/{{ domain_name }}/"
remote_src: yes
owner: www-data
group: www-data
mode: '0755'
when: upload_dir.files
- name: Copy all files to webroot (if no upload directory)
ansible.builtin.copy:
src: "/tmp/osticket_extract/"
dest: "/var/www/{{ domain_name }}/"
remote_src: yes
owner: www-data
group: www-data
mode: '0755'
when: not upload_dir.files
- name: Check if sample config exists
ansible.builtin.stat:
path: "/var/www/{{ domain_name }}/include/ost-sampleconfig.php"
register: sample_config
- name: Copy configuration file
ansible.builtin.copy:
src: "/var/www/{{ domain_name }}/include/ost-sampleconfig.php"
dest: "/var/www/{{ domain_name }}/include/ost-config.php"
owner: www-data
group: www-data
mode: '0666'
remote_src: yes
when: sample_config.stat.exists
- name: Set correct permissions
ansible.builtin.file:
path: "/var/www/{{ domain_name }}/include"
state: directory
owner: www-data
group: www-data
mode: '0755'
recurse: yes
- name: Create attachment directory
ansible.builtin.file:
path: "/var/www/{{ domain_name }}/attachments"
state: directory
owner: www-data
group: www-data
mode: '0777'
- name: Clean up temp files
ansible.builtin.file:
path: "{{ item }}"
state: absent
loop:
- /tmp/osticket.zip
- /tmp/osticket_extract
- name: Display completion message
ansible.builtin.debug:
msg:
- "✅ osTicket successfully installed!"
- "📍 Access web installer at: http://{{ domain_name }}/"
- "⚠️ Complete setup via browser"
- "🔒 After installation, run: chmod 0644 /var/www/{{ domain_name }}/include/ost-config.php"