Add backups for gitea
This commit is contained in:
parent
9a3e646d8a
commit
155d065dd0
@ -3,6 +3,12 @@
|
|||||||
set -eu
|
set -eu
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
|
echo "Backup: perform gitea backup"
|
||||||
|
|
||||||
|
su --login gitea -c '/home/gitea/gitea-dump.sh'
|
||||||
|
mkdir -p {{ backup_directory }}/gitea
|
||||||
|
mv /home/gitea/backups/* {{ backup_directory }}/gitea
|
||||||
|
|
||||||
echo "Backup: perform backup with gobackup"
|
echo "Backup: perform backup with gobackup"
|
||||||
|
|
||||||
gobackup perform --config={{ backup_gobackup_config }}
|
gobackup perform --config={{ backup_gobackup_config }}
|
||||||
@ -21,4 +27,8 @@ curl -s -X POST 'https://api.telegram.org/bot{{ notifications_tg_bot_token }}/se
|
|||||||
-d 'parse_mode=HTML' \
|
-d 'parse_mode=HTML' \
|
||||||
-d 'text=<b>{{ notifications_name }}</b>: бекап успешно завершен!'
|
-d 'text=<b>{{ notifications_name }}</b>: бекап успешно завершен!'
|
||||||
|
|
||||||
|
echo -e "\nRemove old files"
|
||||||
|
|
||||||
|
keep-files.py {{ backup_directory }}/gitea --keep 2
|
||||||
|
|
||||||
echo -e "\nBackup: done"
|
echo -e "\nBackup: done"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
server:
|
gitea_web_app:
|
||||||
image: gitea/gitea:1.22.6
|
image: gitea/gitea:1.22.6
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
container_name: gitea_web_app
|
container_name: gitea_web_app
|
||||||
@ -10,6 +10,7 @@ services:
|
|||||||
- "GITEA__server__SSH_PORT=2222"
|
- "GITEA__server__SSH_PORT=2222"
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
|
- ./backups:/backups
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
ports:
|
ports:
|
||||||
|
13
files/gitea/gitea-dump.sh.j2
Normal file
13
files/gitea/gitea-dump.sh.j2
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
echo "Gitea: backup data with gitea dump"
|
||||||
|
|
||||||
|
(cd {{ base_dir }} && docker compose exec -u "{{ user_create_result.uid }}:{{ user_create_result.group }}" -w /backups gitea_web_app gitea dump -c /data/gitea/conf/app.ini)
|
||||||
|
|
||||||
|
|
||||||
|
echo "Gitea: remove old backups"
|
||||||
|
|
||||||
|
keep-files.py {{ backups_dir }} --keep 2
|
45
files/keep-files.py
Normal file
45
files/keep-files.py
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(description='Retain specified number of files in a directory sorted by name, delete others.')
|
||||||
|
parser.add_argument('directory', type=str, help='Path to target directory')
|
||||||
|
parser.add_argument('--keep', type=int, default=2,
|
||||||
|
help='Number of files to retain (default: 2)')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
# Validate arguments
|
||||||
|
if args.keep < 0:
|
||||||
|
parser.error("--keep value cannot be negative")
|
||||||
|
|
||||||
|
if not os.path.isdir(args.directory):
|
||||||
|
parser.error(f"Directory not found: {args.directory}")
|
||||||
|
|
||||||
|
# Get list of files (exclude subdirectories)
|
||||||
|
files = []
|
||||||
|
with os.scandir(args.directory) as entries:
|
||||||
|
for entry in entries:
|
||||||
|
if entry.is_file():
|
||||||
|
files.append(entry.name)
|
||||||
|
|
||||||
|
# Sort files alphabetically
|
||||||
|
sorted_files = sorted(files)
|
||||||
|
|
||||||
|
# Identify files to delete
|
||||||
|
to_delete = sorted_files[:-args.keep] if args.keep > 0 else sorted_files.copy()
|
||||||
|
|
||||||
|
# Delete files and print results
|
||||||
|
for filename in to_delete:
|
||||||
|
filepath = os.path.join(args.directory, filename)
|
||||||
|
try:
|
||||||
|
os.remove(filepath)
|
||||||
|
print(f"Deleted: {filename}")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error deleting {filename}: {str(e)}")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
@ -10,6 +10,7 @@
|
|||||||
app_name: "gitea"
|
app_name: "gitea"
|
||||||
app_user: "{{ app_name }}"
|
app_user: "{{ app_name }}"
|
||||||
base_dir: "/home/{{ app_name }}"
|
base_dir: "/home/{{ app_name }}"
|
||||||
|
backups_dir: "{{ (base_dir, 'backups') | path_join }}"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: "Create user and environment"
|
- name: "Create user and environment"
|
||||||
@ -39,6 +40,15 @@
|
|||||||
mode: "0775"
|
mode: "0775"
|
||||||
loop:
|
loop:
|
||||||
- "{{ (base_dir, 'data') | path_join }}"
|
- "{{ (base_dir, 'data') | path_join }}"
|
||||||
|
- "{{ backups_dir }}"
|
||||||
|
|
||||||
|
- name: "Copy gitea-dump script"
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "files/{{ app_name }}/gitea-dump.sh.j2"
|
||||||
|
dest: "{{ base_dir }}/gitea-dump.sh"
|
||||||
|
owner: "{{ app_user }}"
|
||||||
|
group: "{{ app_user }}"
|
||||||
|
mode: "0750"
|
||||||
|
|
||||||
- name: "Copy docker compose file"
|
- name: "Copy docker compose file"
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
|
@ -40,3 +40,11 @@
|
|||||||
security_ssh_permit_root_login: "yes"
|
security_ssh_permit_root_login: "yes"
|
||||||
security_autoupdate_enabled: "no"
|
security_autoupdate_enabled: "no"
|
||||||
security_fail2ban_enabled: "yes"
|
security_fail2ban_enabled: "yes"
|
||||||
|
|
||||||
|
- name: "Copy keep files script"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "files/keep-files.py"
|
||||||
|
dest: "{{ bin_prefix }}/keep-files.py"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0755"
|
||||||
|
214
vars/vars.yml
214
vars/vars.yml
@ -1,108 +1,108 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
37303864393062316130616362623535636465366430306639663339336532393363623761643962
|
35383836303661646638336565653632353365633637393663363836656161396639633133313036
|
||||||
3066656334653339316635663032626138393361386330300a643431363564323662643331626239
|
3739643537356661623963313839666262343063376637380a363536363237393430316535646363
|
||||||
65306166336536653632623932373230653230373032363032363462353130366665393162663730
|
64313662316262396662643437373964646439626634616264333836303563653765643066626466
|
||||||
3039343865653338610a323466646439306135363063643136393338366364666133633766616261
|
3836346230346138310a303535653330386132306664626330346332313537633031363063646235
|
||||||
37653062643862363836623538663930316336373238346261613235343166326161343262383031
|
35306337393136346462663239346439303035363633343436356362623639373437626166376162
|
||||||
62613437343030353566363335303138623039636239373531363732333434383462623033633532
|
66613563653836663437336633356564643063323238653137346230373031643232376530656538
|
||||||
34666464666338313665313836613937313131353530316532303236386634633332633935396561
|
65396432626365613262383164313963643433346333363962303163376138326264643165313863
|
||||||
32303938396466636532376638303166663434376133396161613536383931316135373738333737
|
35663964656535323034366436323330316366653535393039323761316535386634383035376264
|
||||||
34323963343632336366643137653238313761626338666231303966356236343733613435366661
|
30396534346161643336303865666334643733616131326135356164633632633061356436376538
|
||||||
38336664396636363635366539666632363238333433313664656664623738626539356366386439
|
39643563643035626166323262353462393032373736646238386664383630386362323162306238
|
||||||
32393836323866366537616334313139663136306461383535366537323934363764626433656539
|
64383039313438383933363830353632353563333364316132326463636338656462363334613838
|
||||||
66323665313863303166353266353333363465303932646463333939313762303438333165393761
|
66623539306636376534666232306632663936333934656333396535623337376166396130353863
|
||||||
37383834336632656332323966353965323139343266636463323339363464333730333163666433
|
61646631393663353061373262346438616633396663386461626537653962346561393533626566
|
||||||
36643032326461646561326361366361373635313166663361313738623931663433633561613336
|
31363539346539393863313230656561353537393061386538646330366462393165633033636165
|
||||||
65343038646631636437386239373263653561396530343331326135383332636339356564396139
|
64353337303665373334613236373730663730616333633330323066336230613334636164626330
|
||||||
38363038333139366330646662653732386435373433326463316335356536656632333432656364
|
38313238393438613338613363326535373635666565633862393838343039613034376233643730
|
||||||
64656638633763373065396335663031313064343261386662316230306333393034653132383839
|
35373639653235376639643465366636326435303966633365393962303961366631353264383434
|
||||||
64646434633833633734643538373765303338376636306435326561653934313163346131336464
|
35636263323062643566663663303663636338393662643063343438333834363165306562356662
|
||||||
31353737366330336335346330363430613732623332363134373937613764336262343933306434
|
37626438303565343833363733656561653335333163643634633039626362306566323664396266
|
||||||
35383866323130643032376634396539376361663161623039653066343464653964653366613561
|
36376462633263323334376631333163653738386330393632663064656565343738316335386331
|
||||||
35326661343730626535666436633438393331323666653661336563376161333534376338373237
|
65313331373162323235663561643531656330393035623633383539623764386438383965306230
|
||||||
30333562656630613232373962356337663836386634376237663266373161356362656637396430
|
31393366666434343766623564366139616434376633663630643632313036623735366565653833
|
||||||
32633433666234356631333233656366663136376236306239616432626338626165643462626364
|
35376138666663653339346565666536323731366666613235626563313561383831666234393237
|
||||||
37303637363134313132666534386565326263313164366538316630656532353564313238373964
|
38353538363535343631316132313234626235356532303363313366383864663731353737623331
|
||||||
36643633343238373666346536316536313961613861306231393265646336616539376162333336
|
61626135373032376632333866646138656566343439303963373566376533353766396162643630
|
||||||
30636230366332626637386631613061633031646336366330386239353036383966353039663432
|
34353530366238343264633965393262643331356432353339613565363163633365373232396566
|
||||||
62653536346465353338306261616265636565393862336534313165386165623030346139336534
|
33623432666663326634663530643638353537623962616539306163623562323964353034313132
|
||||||
64336632336663366365383166623230333039323034326263626437626636653762343032366361
|
36313461303934393765303566643631306264333937386632303761656438323266666533356539
|
||||||
37633265666339323765313636346434623466313337303834613130373033623139313934386664
|
65653731383836306334323538383738663566366466366531373036306361396663663437316535
|
||||||
32656239366431303932313832643738626466613139313233316638333964333063336530323033
|
37373664313230346164333137663963316431383364646261353339316532646136613134363738
|
||||||
37663534386635323664373536366633306134326435643338653264646133376633323364353861
|
62333937343361623531353434666166626338616534326162356439613434376335616466383763
|
||||||
30633366396265383131623235626235383363303934653666363231633264383133363766336365
|
65333136623037613632353965663537643263333838376164646333353835366132383139313636
|
||||||
36373835303939323131306238643733313063636434343233616262663433663263666531643333
|
66363564643065653837663437663430636336333365653831376261326463663433303662373161
|
||||||
38623364636531356335353534346139313465643966626632616263643731383434323064306665
|
65626263343737613538353862376566643166623565383264663434663166333966666430666663
|
||||||
30303039396536333037303664316263353236373530323963336264643730663339343833616466
|
62376234343131663431656535343537623037323561393430333163633531316234613635363430
|
||||||
37643663663465653730373263633733663433343233613639613832323331373738656634393162
|
31346436313365363430323631613163333138313361613139313531323465303837626130666535
|
||||||
38396263396363646362656466386330373538383062343666626332616330383632363061356565
|
65376235643262326366356262623137346531346163383732643561666332636239376434376235
|
||||||
34323666653035643633663735333432313639626231353731643061366463663539346430616332
|
38333930626434636231623531363533643834636363393463646530623937306663386536623863
|
||||||
36653439356138326331353833333762396233633530643738613330623763333837633037626133
|
63356535633064656364363931326664343037303439393566333433653430386637386239396262
|
||||||
62643664353566636264656136613161313464663532336462633839343438633566643334623365
|
33626564633032353732393039353039626531656131656538363433353034363863663333386637
|
||||||
30333939303531353964623936653461656466326537356631383131663361626665663139316336
|
38376430656230646533626562633231666662346662373962363865633337663038373430356339
|
||||||
61666364633338316239663538656164643263373932303064623330653561656231656366356439
|
32386662623464383634393862653261376130393661653238346165383861633131316637373534
|
||||||
36333137383362333963643066363861353965333235656630356163303136346666306238346164
|
37636537323339663433363739643233343830353434663335633534313462633062363936353030
|
||||||
34386236323030316165306333623733646331663637386239646431663339393833363631373330
|
62316665316139353762613937316133333735386565396539393933646338306264633037366231
|
||||||
64356632613562383866623633616232343465386237316462353933333738323631376437636139
|
35333339373238393939343235323830373261393964386532393862343534383638303765303735
|
||||||
61633339373439616564383236303631336366336434656133343965336532316339313664306230
|
38653337306333326661323435386538633631333139666565303962636466663661326361366635
|
||||||
34633935613038613939373830663231373230346662333531626431326232396465666136376139
|
65303336333730656133613233656635636263613936626263306635653062616439343065303336
|
||||||
38313161306464613331306139643233616134393833653766613662396435396338666263616563
|
35616538383664373866633565313232643232356631383131626163343864343836383062373735
|
||||||
35313964323936366535376561613162663866646439623963616366373833633237643663363232
|
33303437633364363735623462616637383064353039383364643262653635336533306234383031
|
||||||
35623339373131663965333763666164653837373138366464633763373364333462636261356665
|
65653266653837316137333531616239643434643637333534626636343337383433306636366561
|
||||||
65643361663939316538623539663437616330353639303565653734353866383864656130396263
|
64656266623862656461613030343962643062333765313232343231323330643265663130656532
|
||||||
35393262653438393863333861643632343230646261303064666233653735386136663364386534
|
32646437636333623064333730613133333465666234646662646538363632653538663034353065
|
||||||
32373931356464343562383130356137356135313561386361656466623864393338316266346134
|
32386530356339623236653737636264376233373363396230373764653361313035376364353835
|
||||||
64396239393035623134363031316261306532666161386266383166393165313238643530323763
|
64343263653630616266303862336232666363323466366264656538373339306566393962616365
|
||||||
39363132643739653662383862643331326636333130623730636463653235333166633161313833
|
31643366316366616330306466653530333230616265333164333139376539643635363636313734
|
||||||
66343438643033613732613030363432383734376262383762306635626530366235663461616562
|
62646161313663326161633232353535343133636261643534396163663139373432366530646231
|
||||||
36663234643031366366393831386662666364393730663633396537653161656238343433363262
|
38643465336362326339653039383330366136333562656363346563336662396266646231633737
|
||||||
64613436616332343031616237353164386166336361346235343034343233303231653835633835
|
38616437373132626235326566346535623334353239626637333363623561663337376436663633
|
||||||
33353833646164383030356435326339616235333964316265326336393838333030313765303436
|
33656464353563366531373335303139326466666131396263666366663861346539613264306235
|
||||||
34363061393933633138633536656162666134653437656162386566376266666333636635336535
|
32383165616536306661306131613832333064373634323230653233653961383963613836383630
|
||||||
30663762373030643663376230653530656539623432323332636165633465653537336365626163
|
66363733356364663464346463306563613239353964333737373037373364386435386534326430
|
||||||
33656661626663383834323832343966333261386436363233316538316335386533653466366639
|
36666337643439333736343161376636653061383534306233343634306564636531316334306461
|
||||||
62373763396334346161613366393237386665636465343135613037353261313166633339636539
|
37356131303032383038353239313966643463333066653466626438313730306463616138653562
|
||||||
63616637356665393731386537616631303961623865353134376537396539613065646462396339
|
61626362613032643531643936353036326363373039396432383964386634363565353136663835
|
||||||
38386163363332656463393837623233643366393162373030636138306238616362333638313066
|
38656531386461313535313733386261343863343933653465396531303035646166353732353064
|
||||||
66663238376133656339376163363130623138353638343735363433316366363035326139333961
|
33303762396535336431363037353062336633343238343539623634393261613037646630366632
|
||||||
33313730616463303162396366303139303532353034313433396162363164313030626136346532
|
62633234303537316433346637613739373834613935623137626238333462366563356535343962
|
||||||
33616430336364396564623731323535633164393436316166323536613061643365626635373361
|
31356630626162326139383563346230346362336663383838633565363966633461346130343338
|
||||||
66666365633863333933313430666430303762356435386637336162623832393738323162316238
|
37653264333432363535306564643833383565363466383839383534636165396331363233646333
|
||||||
34323531363336653236386339383630653366616462353130663036643532393235613263646139
|
31383936346331326632306666653733633534313237313132333866373435653730303531366136
|
||||||
64393961383762343063623665643433393433663631306133393765376535303736333035633365
|
32623737613566383338613362306639623537363566633830303631663765623633666562636231
|
||||||
32363638373530626134663333643062336636636433656138373130346164633435333530363666
|
37356131353633323132353436353535633566313366346532623731343331653932303564356661
|
||||||
36653264376361653533343133343262346162383238313665653437333032613737326461343039
|
37616537333036613864383330336235633664656631306430346131633732646637303966323964
|
||||||
32643037653563653030303133326466656237396635666566646164663938613261326439316461
|
38303536613363313231626261363463623331306439613033633961373664383330363961626537
|
||||||
37333034613838303134356237666361303939343335623839303039633535313633323235356439
|
66396231393636333739303364363136306565636233313631343833316161306238643834353430
|
||||||
62613266386630383064613839393033666337303065376637376634346333646139653665386535
|
36323265303765323036656333363337323433313234313066643535663931346330616238633466
|
||||||
64363335343134646633653764623337346539346533623164363731613436626233323461316564
|
62326637613135373530366364343863313532393065653364366638636230666533336266643535
|
||||||
64306666336232656665373735356637363134303564396263306632626530636162613233666565
|
37393331356436343033303034393730653461396433343032316137386539386133336632353038
|
||||||
64666332396331386561666330663433323161613234343039313134323465636664636562323563
|
66383233643231306436333733613166666332626232373334633566366334613034353364333439
|
||||||
64386664383431633665653431333038633930656136353034646335346633376264613137623366
|
35666366636634336632313131613762313634336462336632646539316261373030343038643631
|
||||||
64373938356530333434333134623733363030396336396535366337653733643930346539643837
|
64393336323764373563613061343966623565313738326466396363633334363431376435383236
|
||||||
64653634333131316539356432346561623438646562653037373763653562353464636332623564
|
61333233643038646264636562383332643665653130316336306630346464386530666535393634
|
||||||
37393565376335626362303035323730643038336332333239313933393465336132303632623561
|
35386538633637383931323036363232616561356261633564396361383634613131313761616130
|
||||||
30303536376438323331653930636166363966623634383134336162633031633662636461636666
|
61323235636166323430613133353665656462633931316231636330326635353463373862353566
|
||||||
33326331313865363166623532313765373466306636663138313835633834336237316132376639
|
62666633356430653033326338376530633037623934336366373763663837396434393439346266
|
||||||
32663737653266393131373831663330626333386132306461653833616561383538373930303962
|
66383563663334373164373331346336373464636136343361363930343637663030303962353063
|
||||||
30323964613533663435613262376439383365346139636464306232353337626463393239626462
|
39346262356461306334353364306635356639653134663931383733366132303433373364396465
|
||||||
36616233303363393532373330626335343638303062333239323134646631333236623136343962
|
62303064373134313431373434303031383138313733363466626136343565656461646636653738
|
||||||
39623062303131333766663938663334373561333933336338623239393065303332623331343639
|
62393134393938353139653539383964313963383266623931363061623866323262366435666162
|
||||||
38383339633932323636333333306137636265373433666439656631653830376237663063373333
|
37376633336461323232353334636333626334333036323038353730383638363336303038313064
|
||||||
32663063323134323033623831383961666139303533346232343833366665623266656630663761
|
61366163643561663331366235386361386532343532383266663335643965366663386661376362
|
||||||
30393232393966323436373266633432643435303434643461646538643732336261663331623130
|
39663435393835666433656137366262663837653234633963646561356238626131646163346264
|
||||||
36376233376430613131613537613161376463323134663561666536366365363466333765326433
|
37336439316536656138313239333966356462313131323266656234633063623938643533306135
|
||||||
64356435323331303062643734306439306537626466383935366331313030393837393563393166
|
64653932393739616665633935626431333531343464316236386336633965333937626665373035
|
||||||
35373966373461323330303465396266666237663432313066316131633266636336643561356330
|
31333535623839333431643337376336303763653264633035316639363338353938316336643561
|
||||||
30333236306361323162363031336436373866316466653331393532346265376136396561663563
|
61623737633061356164343436613230333138366630303861386261323939323665303462306439
|
||||||
65346135383963306632316664376536343437333630623134326162353862356132313836636364
|
32313962343739343835333663396238373462303939303963633134363531306339356531633563
|
||||||
61656466343836313866666233656565343131356630646665613535323337643837306337343863
|
30333765323062663032613061663934346230333136376564396530313861393931393830383336
|
||||||
31643365663562653738663534656462326532666135306466656533326236373030643330316663
|
33333138323930323232663632653339313936633335303130373663396330333766633534316236
|
||||||
35353533616436313233656237303365343236633737366131633939613061316666633035636262
|
66633634326365653531323661316536343261346463626237333064663764313131346335656231
|
||||||
33323230363362353232376437323865623038633062626531303337303636376166643835353532
|
39303734643162393333353064333763333339666631653831306632633861366161356166303231
|
||||||
32343464633763323433646562373336363265636132373863616133393862333466646161636132
|
61393636306338303936633065353339303166313530653761363964396161336365363632633434
|
||||||
62363439383864313964656430306164303130663238323031313538663934373065306263633064
|
66366339363565343034383264653232616463643332646566656333333562373266376561363731
|
||||||
38353437383631363430663630343539363030623136336631303063323262333832373664643437
|
37666662343234653765373435663563616336343937313062316462336266386130666663373233
|
||||||
39313338313362323037373532653333656539353935353635356265326431383565383361306665
|
62646162646335386635343538363930393736653462393831306230376336333430636164323233
|
||||||
39373164303662616163303662383139316431313563653563626163633933363464353839346634
|
65656630656261386632613531323937303030303732326665653661313739356131393637363365
|
||||||
643064313237313166366334396432613461
|
376636383532326164363136616536626363
|
||||||
|
Loading…
x
Reference in New Issue
Block a user