Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 48690c04a4 |
@@ -0,0 +1,26 @@
|
||||
name: Deploy All Containers
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: Prepare
|
||||
runs-on: runner
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Deploy
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
|
||||
chmod 644 ~/.ssh/known_hosts
|
||||
eval $(ssh-agent -s)
|
||||
ssh-add <(echo "${{ secrets.SSH_KEY }}")
|
||||
echo "HOST *" > ~/.ssh/config
|
||||
echo "${{ secrets.VAULT_PASS }}" > ~/.vault_pass.txt
|
||||
chmod 600 ansible.cfg
|
||||
/usr/bin/ansible-playbook main.yml --vault-password-file ~/.vault_pass.txt
|
||||
@@ -4,21 +4,11 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- "tasks/**"
|
||||
- "roles/**"
|
||||
- "templates/**"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
task:
|
||||
description: Task to deploy
|
||||
required: false
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: Prepare
|
||||
runs-on: ansible
|
||||
runs-on: runner
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
@@ -26,9 +16,6 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Deploy
|
||||
env:
|
||||
TASK: ${{ inputs.task }}
|
||||
shell: sh
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
|
||||
|
||||
@@ -2,32 +2,16 @@ name: Update Images
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: 0 0 * * *
|
||||
|
||||
jobs:
|
||||
run-update:
|
||||
name: Run update script
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: runner
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Configure credentials
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
|
||||
chmod 644 ~/.ssh/known_hosts
|
||||
eval $(ssh-agent -s)
|
||||
ssh-add <(echo "${{ secrets.SSH_KEY }}")
|
||||
echo "${{ secrets.VAULT_PASS }}" > ~/.vault_pass.txt
|
||||
|
||||
- name: Install required dependencies
|
||||
run: |
|
||||
python3 -m pip install requests pyyaml ansible-core --break-system-packages
|
||||
ansible-galaxy collection install community.docker
|
||||
|
||||
- name: Run update script
|
||||
run: python3 scripts/run_updates.py
|
||||
env:
|
||||
UPDATES_DISCORD_WEBHOOK: ${{vars.UPDATES_DISCORD_WEBHOOK}}
|
||||
run: |
|
||||
echo "${{ secrets.VAULT_PASS }}" > ~/.vault_pass.txt
|
||||
python3 scripts/run_updates.py
|
||||
|
||||
@@ -6,7 +6,7 @@ on:
|
||||
jobs:
|
||||
create-pr:
|
||||
name: Extract updated template
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: runner
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -4,8 +4,6 @@ docker_network_name:
|
||||
TZ:
|
||||
PUID:
|
||||
PGID:
|
||||
ansible_become_pass:
|
||||
media_path:
|
||||
|
||||
# api
|
||||
API_CONTACT_WEBHOOK:
|
||||
@@ -54,6 +52,14 @@ MASTODON_ARE_PRIMARY:
|
||||
# wings
|
||||
WINGS_URL:
|
||||
WINGS_CONTAINER_DIR:
|
||||
media_path:
|
||||
|
||||
# frigate
|
||||
FRIGATE_RECORDINGS_PATH:
|
||||
|
||||
# plex
|
||||
PLEX_CLAIM_TOKEN:
|
||||
ansible_become_pass:
|
||||
|
||||
# glance
|
||||
GLANCE_PIHOLE_TOKEN:
|
||||
@@ -168,9 +174,3 @@ HELIUM_EXT_HMAC_SECRET:
|
||||
PTERODACTYL_APP_URL:
|
||||
PTERODACTYL_MYSQL_PASSWORD:
|
||||
PTERODACTYL_MYSQL_ROOT_PASSWORD:
|
||||
|
||||
# frigate
|
||||
FRIGATE_RECORDINGS_PATH:
|
||||
|
||||
# plex
|
||||
PLEX_CLAIM_TOKEN:
|
||||
|
||||
@@ -1,294 +0,0 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
32616130623462313238343730326564363332383032343538373363313536393737336133646234
|
||||
3834333265623937336465363462306632336239323963300a633362313135396131653664343461
|
||||
37383134306566653531646537376334326261396335316533666265343333376264313266333430
|
||||
3461626161316263300a636530353437623536613737653531393936383262636262333337326661
|
||||
35613336643031306437353531666638386563316166653437643062353038393866376337666266
|
||||
62383731663131383466313733363133373931613731373435336132666665633266396634633334
|
||||
30356633343565353265386135636166653063313730356462663762383565386630326463346632
|
||||
65633734346562396466376331636432653236333539613633616661333531363833346339373162
|
||||
30666465633638363637313862633438623264663436656236626136376436376239653165616133
|
||||
64343135613531303736646430366235666666353661643066666564316231663130343661633936
|
||||
61386631623139363764616539306265333134663761363238373632323334636336313333383536
|
||||
63336161626261376262346466396136656634663635363338633436646639373864633565326338
|
||||
30343039323865643261333735616235623361323063313035316535623534353536376164383064
|
||||
61666235393535346331306434323634386437396334336430313962623564333936306232666564
|
||||
33343831343734643038383565316638613935643065313032333336366637376165303232623533
|
||||
33626663373461343937303733363063626632656665636666393265353532333161633233376634
|
||||
63343033616563383831383730616333373264383133643036643061653436343838366534313764
|
||||
30323366306235323335306231383264613563633832643435306534343534333636363062323838
|
||||
35306365396332663165643837366133383932633534323039306363386262333564393635353030
|
||||
35376665393062333162393632633666636436316137353534373665653036646631383066363239
|
||||
65656164366661303230633463393830366265623065646335363630363537656133323231616465
|
||||
63333030613932366337316437366266616335333632656630653137643734393332316336383766
|
||||
33303932386361653334336136336264643438323962613166646431306635346261313836643437
|
||||
33396364626132373131383361633431386437366331373235343065363733626532643466343631
|
||||
66393063633136356637613930386463313130663262373031316332626465383733393234643165
|
||||
36393534316538623661313638383834633235393964313363616236373966653134346666336338
|
||||
62356436326463316263393061653863653934643831333366363936353038376632663738636333
|
||||
34336632323635636437356531333863633366313934343664336536666461333661663164343366
|
||||
64363764303731636139666633653439313933346630363731326137653431323939376236663535
|
||||
39386566633166383639303739393436373765366536373130613662643237646464393539393363
|
||||
61633031303539643465663930613965343931393462373739303334303437356662323034353061
|
||||
62373530393639366532646337633337613564633534346139643931373332316231653366396161
|
||||
65616330646334366330353862353134633933343733313263303364343131353033343038643761
|
||||
34313033393534646363376166303637613061363932346139366362623036393133623630323133
|
||||
36313334653764333661613435343838306363393830633538653936636664316238303735313637
|
||||
36336366643333366136386533343866316161303532613361643533626332326364323838333663
|
||||
36303464653330626135616634336632373230653165653530326261343937633634356435666433
|
||||
37393261373263666366333439303666613136336462333933343239356337373336666635336539
|
||||
62633566666462346663343730393464393433373466373564343132643634646637656437313263
|
||||
64346363653634343331316437383238353564306434336532663137363664313035633965636331
|
||||
66356639333330363163613937313234393965653836336130623834393831313333306465383735
|
||||
62366432636337303264383034336635373730613264393864656231633066616436636132343264
|
||||
39373666356266633765663932376262393835313365646538656462366236383930336162326434
|
||||
63336630623834343831613233613833366236373538363864383133376131643765346637333135
|
||||
33333636326332643135633832616236353339326166393462633539343936626466373137316139
|
||||
35386638653461646665373566626237363733623962336130643662396662613238353564633463
|
||||
31613764303863306666383232353932623835666465323264653135336166633239333733386531
|
||||
37633737653738386230323062613465646333323435326438616530613435653338356563303161
|
||||
66643838633163663663363232366430393466393361666363356639643463353134313236623530
|
||||
37343230653636333965353437306438386165336239663934306365333866363837373132343335
|
||||
36353631373561366136623837306336333335343262386463383434303232323162383264386433
|
||||
65396530333031333031636165313434396430636436656536383830333465383736333564343566
|
||||
61623361323961326330366437383362323663356337396439343937393631653063663232333765
|
||||
61336530333065373364373331376466356235636535316136623335383361346563333737653661
|
||||
66616563373963336632623662626230626430653865303335393565363033323533626539353536
|
||||
39383832346462366138626336396233643632633438666536323336363738373366613733373663
|
||||
35323235653363663632663266353234373139303862653032343833366265306635353335636232
|
||||
39386536353864303435386434343063646232383634333837323834346332343961663933626537
|
||||
65626261343763643564616136616263663737636334623536316430616665333361343761356534
|
||||
36633039613231353632323438323664306165646134336361383337333634636162366530363938
|
||||
65656636323337343539636365343761386535666438393864623764336634653034393466363464
|
||||
65383237326433343634663037353762636635386466336231393262303233316134633465636332
|
||||
61363630353861656631653665323735616139346333383039336466356439376330656430303665
|
||||
30336332316262616166636238316531396537383266323266303666363530373930636165653135
|
||||
35323536326434363339613837653637306637656439336230666331623338633731333063636238
|
||||
65633937636362333231626132376264663362353039616533303233363666643835376366613236
|
||||
34643332303734656664656563353035653435346535643339643264366232616665343030336462
|
||||
39386538383135326461343531646263613265626562366238613863343762376235356333326236
|
||||
65363261336436663966623462363461383937663536353233323261313961626638633332613439
|
||||
61343832663561633238633935626137393630386534613963313936626166666261646165396163
|
||||
63376634623535623061346532323536303931393131643737336239363563326433663962386639
|
||||
34363137306338313465626664653437393437316465343166376535646264663834646161346664
|
||||
31613236636330323133363834353938376335313366666431376633356338313338393665613562
|
||||
61323963643531666138656461393636626462313361343936313835363932346330393865323161
|
||||
38633266303737316362613362633433346164356165386237653430396465346232376339326637
|
||||
33323132613637313537623766383239633439613462323835353063393765333365366633656539
|
||||
32303265616361643732656463326332663239383964323166643064653564626363666637393438
|
||||
36663666386336643265633030386633633465373665366164386339346334633062306431303238
|
||||
36306637656638383361663761363138373962616363303265636535663461383338366237396637
|
||||
37303763633265386234303465303638306535653635626365376365323436396632323262336434
|
||||
33393964663931633533613538393932376231323166643437333839366234666633346238646563
|
||||
31343038666136636335613563353764383631366464363164363162666434346266353932356236
|
||||
65363131303661623537653432383563383766333934326638373433356532346265633665383534
|
||||
37656666303066306536646335373963303234393763666166663638656134363439616663323638
|
||||
33626366386630346361353533373733633435633430656130336632393534356231656366633334
|
||||
63623734653663376662646635313930323566613062353631643530323764366330343834353164
|
||||
64363661313161356138643834393064353365613766633032363337393335303066663836666136
|
||||
63376461303432336232393233643737363836613666336565636365363164653630386361616332
|
||||
64383161313865393862346332373037326662613433663661333838323434633735323235636231
|
||||
34323164383436383963313963383262356266636266653636643037326330656334623362666561
|
||||
61386535393761313666663137386464343736393439663936326335353766386335386332373066
|
||||
65353434306363303165336237303236323736626139656132623632393438313134313461353139
|
||||
35323739366463633939323335303465393032333832386439346632636663316431323833356436
|
||||
35306362623635376630313938376461373733383632333661373935373239656164396638306236
|
||||
39666435356531316664363737666639633038653235333734616366363062376131353030643335
|
||||
64303433663535643135323463626663376161656231383936653766623861613134343465616539
|
||||
31383061666665366633363661396131383433383236373439373033343338356364373662653739
|
||||
35666333653863393430626266363461383434316231663030383033333739333532303561653438
|
||||
36333630656261653535613039346538626561383961343464373764343435653662643931613864
|
||||
34666361613361353163336430373134336439313863376164366536653135333465376230656564
|
||||
36373963636162353963346263366533376266643732336365353738643139366464633561386165
|
||||
36623665353130656532656535393763666263623862343938316237316466386430623834633065
|
||||
63616637393864646162386137333664376230613030366166343462353338353934353863653262
|
||||
62653539646532623138366135653734643565313566653832393164386666353462356535336539
|
||||
66623833373666666139333934306138656466336632343432333433353266313431353766653930
|
||||
63633066376562333835646437383935616533363837383662393230363536323564383831313665
|
||||
31353536303863636236356638613934393562356461643636626563376332336461643636353235
|
||||
34316661353233323433323262343362636366313831383461353930336238356563653164336465
|
||||
33623666393738623539656430623537616336663830333838393262316339336330643265313233
|
||||
38363062306238356231643736383538333463303366343032663330373930616338636538313138
|
||||
64366164313266303131366632313538313065373834386363663136383064333662366234613835
|
||||
34363461363035633733306335376331393030366135626135616238393662353738353633393363
|
||||
32386166623534623765303137396135666466336537376134613936613166393331636532303436
|
||||
34343364383066353334643836626238613239383835396435623563643233386462333836613339
|
||||
63336562346364393264613534633135633633663666656339393034376339306337623531393463
|
||||
61383931383739613030626433373563353231313535633465653735313835373965393434636661
|
||||
32303636336364316430303633373961643163633930396332353138613936373937653239313861
|
||||
32623233313461633662303639353236623166613435356364336435383938353663363130343434
|
||||
63323464653934313866313930666462636539613937393337363038643433346330333530353837
|
||||
35643437386636613534353562666334333664303365343130653762303135303964383936643662
|
||||
62376339326335393763326463663061656165326364333536343732323366373265636563316538
|
||||
63653664366666623763343465666637633239623261663762346538313765656335643961373864
|
||||
39366233613035393563313138363539306565643831333962636434353133343366343564396235
|
||||
33663332663937383137663761643332336165333636363933616365323039633130653565373834
|
||||
64376164343738313238326565333336353161363534393463373438343837383162633138373937
|
||||
39393639343639623930346238663565396337396433626134363963383465616530366534303138
|
||||
61343163383630326133313162666430323466336565353766383361383938646561653865323831
|
||||
66613231303866306339373637613432323430663261323736386266666137373664643866303133
|
||||
33376261613438643832386262333133343239363231303866313236613737363635346439396233
|
||||
64333137303237626662343764623464366533363532303438333333363465376335336238636633
|
||||
35326263383461643031656639373262353739636163643536353736653966623765303932323334
|
||||
39386164343436633766323838383331633238343563393132313731316661663463363336363037
|
||||
38663832333064336164333632633138393762623731363364633639353337323663393930333136
|
||||
35393862613439306631303635663538613861323035663939623030303263656133613131623239
|
||||
64343733636266396136396364373835353264353932643861636264666438646562386235313964
|
||||
30613335393137323839376130373465343232363435393534333738653266306530346665613438
|
||||
35653863666437316435326530353966323237306536336534653239376137616263323564343939
|
||||
38313737376135386265323463646538343233366434306339313666666161363037383330303332
|
||||
37336233643136623861323135633031366135363232663635333337373734613536303937343562
|
||||
62326636643036636638643638643436383733613639323132353362376362333333306634333236
|
||||
38613435663666303066633061626562313136316135643265393964346665616564353832393832
|
||||
62636130396632353063303261356435376531336231353539323439653231633034663163653837
|
||||
36663862396165326165616664333333663837386639663233386262393663373266306566326531
|
||||
63666333313436316664623335363061316237626538643033353063353862373438633162383635
|
||||
38653936646233346131316430333264356331316535346437666664623937656236393233313664
|
||||
65623363663235333764303736633433343366666666336434653565373661356334666363353665
|
||||
32373633633963666236383436646165343563353930633561323238316131653034383364316432
|
||||
32333531313364666661653439373866623137626232666165613866343461353235633133376437
|
||||
37363462323230383730613832653333393833666663336430396164636430336363363264313966
|
||||
39343431316136366439363563356637396237316135623735306163393635393864613361373733
|
||||
64636237656236396134616535663064363466356461323737313535616562383962663333333035
|
||||
39316336346166343435663335643635366234373237653666333438356233626232653264346530
|
||||
30643937653861663135383866666437663134393832616635653434666636396363366238613930
|
||||
32653532346562663734383231653962643531636665623166333465633165663065316333346566
|
||||
31363137333861386134353530613034616234363634373766356361343862383630336366373339
|
||||
34343034343934353263356433613238333531373434643266306162373161316361363336366661
|
||||
32666639613962626565356333363032396162353331396530336536663134396236646331666135
|
||||
61383932363464316132393061313834376634306137303939633532366134306433363338613031
|
||||
62646462396431613438653133393866653766343034303335383033323531316261633931323632
|
||||
62356438396162616235666133646336666165343662306535653662393166376530656337386533
|
||||
30626134356164336161663261616130643865336135333439353832386133313931616666663233
|
||||
63383666366532313333356662616436333035353036386434306163343939353935306266623162
|
||||
61653935613433306362346637303036326130353765356432363835373237303239616665353438
|
||||
62313366353662373535353361343034626136383232303432316264653466336133363161353038
|
||||
65653833616236633132656231646232346130666133383130353536343132373935616539336239
|
||||
66653735333163363363646238393632343835333366643833363036373634363236326464613836
|
||||
66303964303565386235626430386131656432333464336634313337383565353830343430353136
|
||||
31623561616239333037346565376532346263623538343233383930336136613461363035663466
|
||||
65633630353566323861323763383438333465306561613530316434333732326534343539663931
|
||||
32666332393835373761303335353237613263346339386438643765316138623731626539306135
|
||||
35316663333732613730306536363562656431393564336131393862326466393230633631616334
|
||||
63636636626536366161383635313238366465363162373262633638653231646137303761356334
|
||||
30333562636336313938393737613135383531646364333662393239323733353134616366343831
|
||||
62373064666664646666396137373834323738396330303664303733343363303165363832653764
|
||||
34373733306231393331353433643733356262636565306334363737643763333732353735393939
|
||||
66346264653664326261666236626137636366336335323362633364313338303535653761643634
|
||||
35333537393637366532373838363265303136383535616636376265313131633530396335613135
|
||||
32393333303935663832396136383631373631386463356664636137383734343766376237626238
|
||||
31383164366263353832303866333765623265306437633361386537643232313064336531356563
|
||||
31663666373737623232616634343732623765646463653532383733616266323732383334303231
|
||||
38653766383739393236323734343965636163306162376336343066336436633437353530643237
|
||||
33373336356365373263616164303233363835633137613936306636643563653462313232613563
|
||||
62313232373938616665663339363330366634656366333962383130336632316434393861613734
|
||||
61333039663062656139626539336337343166373165363761616634356164333433396338666664
|
||||
39643333396165663364386535303734643336613262313031346662643735363738663633633932
|
||||
31623862366531366534666665646434623636353131643266666166666665653634326262656631
|
||||
31343662346233313532383433626335613532663032646461666364363337626566323664313233
|
||||
39623962323731656435666137653965396366323234373261376632393266323663643831353631
|
||||
31656633356565363966623863636639393939356237343835373839616239633131616534356134
|
||||
35663635626432303162353338303663316663336163323838653964316662333530346132396431
|
||||
31316336646166363430613936323964643663376661663666373435343866346165646634383462
|
||||
31323232313034353839303034333238636265333266653661326631363664643566373564363561
|
||||
63623836663737303836336237306634633032376465646666326139383764343065333130333532
|
||||
36663763626564313336353764636166646531643535303231383836633136626135303765366232
|
||||
34333132383034323366653165333738653064613433373535353136396635643564666263633230
|
||||
62613838653036393637346133333732666637393639633765396531323037666437383839323233
|
||||
61616235386232303461346330326666646166326332323162653566616238333766323562383861
|
||||
63383838353135383936366564616132636164323964623235306562353866316235646535353438
|
||||
64343838626239643431653232396566346133363633616134323433616335663063343334616435
|
||||
66623938306266643365313732303133373864633165316262313764316436346463623366643162
|
||||
35333566396539373236363934343130376561353039383436353637373837626461383964353630
|
||||
64653138316366306436323338656534646130623863646333623832646162326262386430653735
|
||||
62616438393237306634643737303262636436666532613663653735346232663137386366653464
|
||||
64633933383330623465373362356432363463656635633163313133626637666436636432633539
|
||||
31346265396236313566663463393664303730663339323835616134626363303234336561663835
|
||||
31313437313231663764653963313039626139313133303361626466623038636136393730333665
|
||||
33663231623561366665363037633331633839326139376536653861323739353230663764393333
|
||||
62353038646533366265643536376635313332303039643665396436393233336532653632303136
|
||||
35396538393337396636346134376438646461363265346430616534353936643063316136363632
|
||||
30313738396133313333623966323331316462613163616663383236626162656532333335326237
|
||||
62633165353764306330643864383061363835646630353535363137303135343135613661363363
|
||||
37383265313663663238343537623265383030346465666262653862633665633562366334623465
|
||||
36396230643339366430666536326431643161633338356332373438636531373438656234343964
|
||||
35323333383039646165616132643562663662366131303039386563663463303030376133666132
|
||||
66356264306431333733626639626634313261383465636666306431633866333761656465333137
|
||||
65623264616565323136383831366161653735323163303062363365393239623261643733376463
|
||||
61656464373962363635643839346438613331616632313036366662333135346632373061313936
|
||||
38373236623666306539666330363266356166646632633765313733613137303765666233373834
|
||||
63313135376231353134346133323238623835663263376663303235386532316437646263343235
|
||||
61383065623962366234636666623861653337306431623537356261663037326362303136343435
|
||||
64663364636463626461393566623065396462343865383634623063343833346436646537383238
|
||||
63663439323463663031366665383162313764646361343365643565643832663737613166396532
|
||||
32666462386338386434323139386239623062663335303535396166303536623466656631633261
|
||||
38666262393333646437306162396232326630636139663335363061323466356130396332303739
|
||||
32303731333466393937613639653331376164373130636239653335643365343264316664356535
|
||||
31383661316436633332666463343734653639333434653838613836656433386461633734343262
|
||||
32323633393962376561643130623161306565336235386266333434396435383264353539613331
|
||||
64316565663634623639653137373436653437346365613131623932643264666538313137386231
|
||||
37326330383033323335363764356338616139306362636432366263663434326537343032383730
|
||||
34346661333930666138626662653262363035656533396232373963333066326430643237633831
|
||||
63313634346361363137656638366537373034373362353133643761303762396563613730643531
|
||||
31306630323063323262346231303332393933623936616632376534343966346262313034303163
|
||||
37336138306433353532306365646430386633623530383932303164636163613065376131613830
|
||||
33643230626463393766636638376666323531646635386435356537636264616363363031336537
|
||||
64626266303335343763313630346166626565393737353461633061616631616537386534343663
|
||||
61646234326633633666363934356630643836323934393638653435376131353136656237633434
|
||||
66636536393230396262383764643964623633643637666666633037343437313565326136663333
|
||||
34623163326531376536626566313839643164313062653639656236656537663034643364613334
|
||||
63323132326130313963633664333631393637326265323966303137383036353931633264343862
|
||||
64326330353738353831633231366431653135313536343538326639623032366230333236393730
|
||||
36353336373063326564346331643431326264613366353532653139613466383161636232666235
|
||||
63636364366130623335303536313664366434343330393136383239393236646632393138333131
|
||||
61383463633365353362613537613565623036663431356536366538626137653961336130336334
|
||||
33363138643465346436373836383934303062613239656664373339343634363833326565643136
|
||||
38393961303131366531643430633361663061636238316633666562383338356539343335383162
|
||||
65313037636132303630393037383366326162663338383434663039653562656630356662623430
|
||||
61303965656136623038656539613063343639306339383734323862366633376532613035343132
|
||||
65616338666339653735616163613565613834336330633662313236366132366536333130343631
|
||||
65356161393334336636316439626237616230363965373331346662323661323964306334386430
|
||||
37396464306231353832353032346237333166396233303936323139326163353030386334656632
|
||||
32653035333766633864316639313135343761656232333361666331643631396564363265633931
|
||||
39643463383834643664636133666637373463326266633331303732623361623037636163626632
|
||||
39306230616439356665316534623961613338643365646564353833353339323531376234343736
|
||||
39303563333761393536626432373436633036613132373332386466623061653839353565653738
|
||||
36393063316436363963323338306239633133343035306562393066663762316233636439313966
|
||||
37363834623239393230323636343937613964613030366435363035323565366166643830313933
|
||||
39313730633836633638366265623530633131343266646232613364323637316238626366373337
|
||||
37366533353438613830336463306232383266306434663735306264393136616163393538383633
|
||||
35653730346330643366666661386364313265633030386162383033613637663663313433646365
|
||||
38303932316263346162623138323563393164653134353666626665613962303632343562633065
|
||||
61356535613264306139313831626262363238653032666139653037383565383964626133343831
|
||||
38386431643765663964643162363934343832343830666432316637366339623135343931333835
|
||||
63333430653061313031633162613935653131363965303162363834303564613736636261623034
|
||||
38366137333037333634613631663464636430396131386336303238646230346265656339653936
|
||||
62383138613532343462303431636439303431636332373831373437333565396334623264313036
|
||||
30353633373062356461393633353761376233363830366433323436386537373539623838333132
|
||||
64366163643634316366383532646432653630306535376135346534353566303734303938326331
|
||||
33663030323335376665623463616266636663343831366162633938633232326638336565613830
|
||||
66303332366233663632396439666337613438616439666532366531393934303361313863623461
|
||||
33323930353065653535386665306436366430346435653362636261666336396135363661343663
|
||||
63663535363264363932376239353166363362376663663465626132386335666631666331663464
|
||||
30326231393864353231393830366631633135336363346538306264346631323931663033323562
|
||||
65333031643835646566303836623934356235323130646130383838326537646534346537333339
|
||||
38626235383736393863643733663430366462623539353364643736383038366366366165366666
|
||||
32663838346637306161643764303336383039313933343963383533613430363831663333663034
|
||||
32306461303963666635366461313163353033383262303862616464373261663334633262633863
|
||||
32316465616535393566613035363536316462343930663462626430383564323331306431356237
|
||||
35336364633433386134643838363765363161646337656633366433623664353935666365636233
|
||||
34663165653730313331623631613665313464623433363162336433336662353063346339343839
|
||||
39343366316139616236333439383762333937326166613232306464663962613163313339373566
|
||||
34373031366530646238646565306363633830653061616134653261326237626463626337653839
|
||||
34343765326536623236336464333736646465326661373431336664373939616636653161313232
|
||||
30623537313664303633316362313765663131316237363633633065353930363065313761386339
|
||||
63653532313834323331393664643436313864326535326135336364396438613734393964363563
|
||||
64363834386563366338636634396332393438653934646338336363396434393238313031326338
|
||||
35633234663863663861336632343066663365386533613232366363623033313338373336376230
|
||||
31373937313033383363396638373130313066653437663934363166363936356432353563353930
|
||||
36366335303735376136666239393938653432363037333738303135643461313130326335666135
|
||||
37346431333235376335626662626165656666343237626333613330663737306433343565653938
|
||||
39613832626339373937326134316331633163323664343965366439396530633237336637393063
|
||||
39333664653032316134663233666634613239646137653863376133333664653133353135636339
|
||||
36616634333738333130316330313035303238356536303564393538326262646366623535376335
|
||||
37626162343433613735373832616238626533353638626562613763633739613132
|
||||
+112
-233
@@ -1,234 +1,113 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
39613566663330643836623464616164353837626431666162383536613932626666303666363437
|
||||
3261633533363032656536646463666134613063346137660a613636633361376236363133626563
|
||||
37383537623539636131383830393962376332343936353861613762663733623563633638626463
|
||||
3436613666333865390a663564343966393464346532646537613831323236373436303762306661
|
||||
31653135646664623530623766353633383431393935376231306136616337643634333139373766
|
||||
39663536393064663833613131356633636138623161383162643364663664333066393634363634
|
||||
33653966643566323564643833633864613836623334656434303532386338663037303035376539
|
||||
31383538363235653935323162626366303766623635353461646363396439333861366631323862
|
||||
35356334663839343334396339633734323035643039623132326364336631646632613236633436
|
||||
61613562316366303733333530653966336139313237653034366237366133326436383532613866
|
||||
32396666306236636438356138623631623734656535373932373731663839376132386237323338
|
||||
63653632336539303839623965326565663136646466306136613661336262653863393235636635
|
||||
65313837306539336531626231336338356133643939656232626538316531313638356134363433
|
||||
66326461666636633764303638383331666638373665353465326138363937356362663031333038
|
||||
38623238323638653362313362393230373735633334326365303763333363353636653838366535
|
||||
61666363313533383434356262316164616430663337366337316636373936306138613963613439
|
||||
39323430343761643834343233643138323038326364666335343632356637376363316263386661
|
||||
39393466626630363532333134316665366539326436353566353762646564333437333030633865
|
||||
64353562316335613863316130303730393339623738396666303330393466613264316532353230
|
||||
34333939663363656233313766616639323033653032373564396631643439353664653234633035
|
||||
39633832303062663230646530306664386162663231363931663865363835326561616635616363
|
||||
35383162353930623232323161636135306661663266386630643666363830343530363439373138
|
||||
30616537353633363438333664356132346639336433626430373462303139333136626333363466
|
||||
31383033313335653934626137626432316531383834666266623336363263386333353935313933
|
||||
65666661306234636461326332306633653234323339333764613765613930346162343165313735
|
||||
66313731613034363734616465313632363033366133653463303832333161316363336666643535
|
||||
34346538633039346331343135666564336237323762383034396331393131306639663163306565
|
||||
61306164353237303130643465616564306539356331373662663637613830303835613835386432
|
||||
64376364393330623737346333393264656235376666396664633335366638376639383062636464
|
||||
37623437633937333264633135336536653164303833393439353430373563643334363263613566
|
||||
61393430653463313464396334386534373966363663633833333661303138656137373931323838
|
||||
61643661316266333264623435373532383761313433383865633334306237656130326161346530
|
||||
39373764376330396433613636623461666262313233326234656664376661613864333132363765
|
||||
36366462613961616135396137396364343633663834373435613365393035323036653137336332
|
||||
63613936393338633464636464313037653635666664643436326637343331643464346363393235
|
||||
31626139306532326264353366336634323737353764383235393461636562636431313561663663
|
||||
34393334333732613231396539663064313835643466613236363430363836613530336138306438
|
||||
65386361396639623938333332383730363533663136363539396135343431646230383331643964
|
||||
66633566386363386431383464363338623037333432633037353731313933376162663466343735
|
||||
38306530333834636531643762366639613030346234306534356663646634313530613331313063
|
||||
38383535343730646332353966326561656231336461396166386164616232343866313738656633
|
||||
32343538373337663566613664623238613132643930393133636662353435333634646637373165
|
||||
36613663643732656163336237373866363732393136663738666362333833636439633335363438
|
||||
65343430373837346334623563376365663832366239336461663330663365626137303862356232
|
||||
36386335316566366632343565616634623563393130343766316336396639373131306333383732
|
||||
63363462626139303363323432343639333833623166636439336263336238326262306138396465
|
||||
62396632323335633738653461393030303462386138303436333566643035663338386466653861
|
||||
32366138316634376635396166656238326432376136336431666164386465393131353661366166
|
||||
30366434646365653563353035613561386530333033343661613537393337303938373532336161
|
||||
62616436376134353635613765396136333262323531666138336464363962666638633632323531
|
||||
64313836333838326637663039383536363962393032383862383835333131653361633138666238
|
||||
64633935316333613264366663303963373564633739363464616263333530336135306565333532
|
||||
36333062336133306265366262393338663261313166663464663031623563353364626162613936
|
||||
30643930383865613435626431656565383931626466626438353933613931323134616566383464
|
||||
64323336363738323163643661326165313138303139643131316632303535656465653332653436
|
||||
36326666633738336266636134326662363863326437353631623830353533626637396263303834
|
||||
31616230346262323566346330363431386433383438353334313631366632663235383862643335
|
||||
39373564636130396265353435643465623666663430383561376539393263656633383639373366
|
||||
64353466373231656237396666636330346463303935316136633236633164616435306537346265
|
||||
31356164353032366235643036616334313537613630636365633835343739396164356364353734
|
||||
64393231393034343333666538353530623763316163643338666266396262333731373138316138
|
||||
63666432366534383135303764383231623034383063363338386238336232643433313831353461
|
||||
35326463663230323836616463653534663963653238376130623865353230386434626235353961
|
||||
38373230626563373330343366376466306366393435383131613638356366353636316434326439
|
||||
39366332643231663234353135633231333737366566336532326566366133333030396266636337
|
||||
61306666366439346262613261363766366365376563626234383537323438346164343938666437
|
||||
37313061646131353363663130626430383730643739376666353038343038633261313961623439
|
||||
31326536613632393533623532663433386562346366343534613631373466616633303430323465
|
||||
65313365616136386238333666376162613334646266363062333166346532313039396236316563
|
||||
66363838623865306339356164373363366639626535643832656330633935656165353762316362
|
||||
36313166653264333662393762336165333636323865356665386666633564333235646161326264
|
||||
37303137666539613333666537336464633366396534366435633639633633623232316230396230
|
||||
30613766383464663964653632383136386165313935643431313164343638663366336232363139
|
||||
64396236303662313866656561333230616130366436313963653039366238666463316538333930
|
||||
36366638393439303833643139313832663463373630363663633436396536373062353332313463
|
||||
34663362653734633365313438656432633931366562313739383962323633353466383534626366
|
||||
62623830626261663337363361323736653536396635336439353363366364653564356464616638
|
||||
63666163323237623066343433653965333334396263326365303839666336336236353764316632
|
||||
31343733636662623938336335353137386162363365313539643262613834346534663038383364
|
||||
39353663303639316466636565616632663839303766633638356464653837306662366433316537
|
||||
38313838323835376335626234393137643361373033636532653466303661363038336562336232
|
||||
33346230626366306164316132623565663037643534343233396336396238353431393261373036
|
||||
66366463303135356530323634653062336631656261343135363261303962643965303661396264
|
||||
33396165316663383064613231313634653966366633363062383333383331383935333134336632
|
||||
64333263366634326234656234393964346533313037373030656339653463623032353237636132
|
||||
63333438393131633535633633343532646261386533636530646635356530343961623932663161
|
||||
38633631303764383265653733663130643663373536333537626334643262373461383738396535
|
||||
64356562393663626334346534313765306234353062376665616265306566303235383530386538
|
||||
32636165326531643362326164373962383765306263636161326163313535303462636539323562
|
||||
39346331313335623131353539383161646463353963383933616238623131613731303734396633
|
||||
62373731323661633432303038613739316461363962666534333966366262393033363437363030
|
||||
63656231306633386364643864636262393262303333353932343635633631323535636263343966
|
||||
36616337393631383235373831643331316534386663663961383263323133306131663465666230
|
||||
30623864353063363862633561396437353764656236663664626635393439313362613433633964
|
||||
34386437653639396664396661386361613434343539356334616566323232386264303237633365
|
||||
35313265383836346661613966333762356532663034633534313762636631636564303539323735
|
||||
35666366356531636337386162346339343564613331363139366237373531663132323337306234
|
||||
66663063313363633832383435313963386436383536323635353938303265343533653136623835
|
||||
38343261376132323163333330643963633165393434356365663932623064613833626137373734
|
||||
37643334343062663433326430323337373738383735346530323632346633656161306365366334
|
||||
66613531353462653761363231656433653464666163333134326265366633336232323937313866
|
||||
36366265313334363539656566366632363736306435396334383239356434333435643631363864
|
||||
65366530623963636261376166316433383739353434396334666465623734643863656339373964
|
||||
39316335303335636566663262363937373964326333653638646539663262663634616534373931
|
||||
38373035343365623635363766336639353835343231383462363061313337383738653937323339
|
||||
64663964383833313736363634373762323564386437373564323266663065623832363837343838
|
||||
33656363383766326337383966326163653162313638663163356135663963396461393732626566
|
||||
36353666326662396264363061356535326463376234613561353762313564613164636232376261
|
||||
31303437326239663932646565366463383035353736336530303961326635623266343363363765
|
||||
62386538613036396662313539623939356237343031616539363665373732356335626538376663
|
||||
62613165363266303935313161303734656137363062376230366136376333633931626465313933
|
||||
62363732353230623731666263363739356430336431633133303631343563616632346561393437
|
||||
62393064326463346534313464626638636161376561316439336461663632616265633936383037
|
||||
39373365326631643062383162623564393339393332376238356162376366653531663536646433
|
||||
31323933336131623564623534396233303437613864316435666639633930636538346434356339
|
||||
34393435323565313966643465626635383438323637356136376665666236623432633635303833
|
||||
39323464393435393834396237343633663431616333666363396138613863356231373065316233
|
||||
62313538316663326136313236343938373838346265373761623533373063396136313635643330
|
||||
64323736366261383638393136643862666537636530653436373834316439343536623930356636
|
||||
66333565356630663231356461613733323035643738363930633237373539653961376265353834
|
||||
63653061366162373339666532353935373835346232623131376439393063326530333064323966
|
||||
30376466396563323937653336633234616137323562386131633163353065643231623838343263
|
||||
35323766336464653530653030316335373939636361356434653235653064373835623262653262
|
||||
38353939333062303261393633373162653234333938623939666630666432643162616439346237
|
||||
61623832613032336134323963366531666530663736376531343134616235383964643738386632
|
||||
38396435383964363335653330333632626136343365366233373837633365396661663465306466
|
||||
31626463373339333065303365663261386638303031663234393366366237306366653631303164
|
||||
33613830343663613236653662316532343334336435376439626135303965383830366131636266
|
||||
36343564333766383363653462633166353362313161336431616632623936666238666630333033
|
||||
35366137363064356439343831393265396664356532653761633164306463366536396332386362
|
||||
65633732633865316361393662343039613336386337633839343735383363306566613330323631
|
||||
31623231356565636362343133303935386662626265663337343831613637316331633931383635
|
||||
61313862646264363638313663376162326163636165646661353665333130383438303965663030
|
||||
34623433613032383732366263333335663633356235393639663362373861313932633230663366
|
||||
66373934666561326634633062353765663563623265353637613063313730343562626230323330
|
||||
33376263376137396435303761383234646666636662636130616566643832643465363132373732
|
||||
31303233383566353038396633643430623435313239343561353766646161323766353166386630
|
||||
35386139656235613635653536616666373338366162376430663964333262383633313635616634
|
||||
62356439656364356333303434666366633235666663343835653535333233303232666138383537
|
||||
64613532626265343161623938323864393566383035393035636230643637393765643537373037
|
||||
39343566666234323035313061336661373437313933333961396563353163343366313432663764
|
||||
35383435336339323861343166333433356561626138303037613335363334366232313839653938
|
||||
39343032613539666431633766343332653730396632313335356130383866393237306665353231
|
||||
37646438373435383439306361333532353933656633343337646234663163316331373936326666
|
||||
63316263373761303362623761666133666565376563636338343737366130303932356263336266
|
||||
33313262386363613163666138616337313761333562326535393061386463396234373962353136
|
||||
30616562326533643232366235613430323737633435656336363733396261303865306334356233
|
||||
62323037363061633666393538346539303266643234646237663965643766633265373261643562
|
||||
35316436636637313361646630666539623631663137653766386366386236663363343939316336
|
||||
30336233363336633537373933313066616466653135633236356331313934373030393833356265
|
||||
34373737346635316234663938366235663936623130643939333564373361633761616162383734
|
||||
33663637613565643739386433303732373262333861303035643861613138333936376137346664
|
||||
38356563303731393334336637633233326532343661323763666130346431616435373165383865
|
||||
37656664306437303065656430313036316565313934313439353061343264386564306439383264
|
||||
62303539363531326164623635363630303933623763613366653465643537326637636161363536
|
||||
39653063383036616534383135333936643363316539306436383963313635376233373634366565
|
||||
64336537346561626338623434363832303261383338613635663331396437613036323933653834
|
||||
32343836633139323634616631633365626163356561386637653734366566343261656162613365
|
||||
39653665613862386139616638393536393633656134303537303333303266616461616231656561
|
||||
38333065616266616535656462313530353331313632356366303735373463616631666538336665
|
||||
32393363336537636638343739336337343932363866383934666266656536633132373038633030
|
||||
62363835646335616537373165386430656261623634343266643135393666333931393264663432
|
||||
61376666303562333463623632306438626364323864616130633533666561623463376364646562
|
||||
32626634373530343235343266373038623338343735653534613663653338666135333933633537
|
||||
31303830656436343331326635326234333433613637666637396464326634326133643330613763
|
||||
39653364343164633734313937313164643034336134383431623231363232653633626330353939
|
||||
31383361303932366639313935343439393539656632386633633139636435323863333364333336
|
||||
32616666396239343066336233343132616231663437633663343934323530326235363830316362
|
||||
39383064316230393563393333363365373865373532623432393564333036643861366332626630
|
||||
31363434363865303066363235623235326134363735646364366634313262376261396561353535
|
||||
66646435623461653139653166303764383839656531363633343261306631363763646664386563
|
||||
32656638323932656533333132666439363135396130373662373539383663376562366538656439
|
||||
32636235653234636665393932633933346532363666323330343239303466366138396535623564
|
||||
65393237323530323461623638346363353363666235656137383863303538653430626633326632
|
||||
34336239356164323935623336613237623036393766323136636531383137646634383233623139
|
||||
65653739366164373766326130393630336564306666356432313633623466666638396131643064
|
||||
35663464326331383337396638626536336262383061356265323662323862643739376562616365
|
||||
33646136393839346335653466653061323765316532356533396635663132336465646437376464
|
||||
38656362313361663561376630656134313438306635303033666239663462663337303331633964
|
||||
63356638633666666632653331313562636566333930336263666661363831323434623662373839
|
||||
36303535366232376664656366653865656430373261656635346365316466643361343966313432
|
||||
38663935666464373861643561323065623062366364326634666537623835346565313135353537
|
||||
38373561306635396535643064646637323031613939313862336163613332623438623366616164
|
||||
33303136653930323731316330626639363161643137346661356439323863393263613737336266
|
||||
31373234343164656137623265363261646437633566303533623230633666663737656165326635
|
||||
65653231366166343832656436393463633561613564343030633762643438303834326232636639
|
||||
39393836393930336239653531376433633638613865626138303430363433653466376466336232
|
||||
64666535663738306665643533653831333234613465333836623932393030323336393931663564
|
||||
39313736363536386437613930386632653331633261343866396332393961623635393662303262
|
||||
62393462616562383437383930623730353733396566623239313931653437643737306432646464
|
||||
34663164373532623433396537396633323836666131343163333338346163643035346130633464
|
||||
64303831343636666564313138643739373864613136373834393034376662303238613863316536
|
||||
31393238343632313431383364336534323736363234643331386233346531383035666137393935
|
||||
30336438336666396633393034613232653235306261643235333063353065393963396662373839
|
||||
33343332633634613464363835386535373361393238323731333132356236393231303861393065
|
||||
34333134353132663938373764316336336363393731323231323663626232323566353733613535
|
||||
65333733396665316534336630356163623839373964343462343538613136343938396462626537
|
||||
31363663653736646534323438393437373337636164643563383231326535303962366462613538
|
||||
31613463653165643762363630323431356363636338623036633331653033626438363932626338
|
||||
33636261646133323863633634646432353063626136343763396133646364353736313834653364
|
||||
35383262643965303637396565333966393532613233363430376465623734313736346639613766
|
||||
33646365303735616132313232313261613263636632313730653336376139323231346538313736
|
||||
63363431326338323138623730343764323362386332643261303333313537623936316464333262
|
||||
66363935663134646563376561663237373333303862613636353537613564633961653139616162
|
||||
33643166653963626433633638363731396634396335343132623437333963623361306466626166
|
||||
30383439396130386330366266343861376234386362353134656633616333386238626436623938
|
||||
66646239333134363964303339356263373931613131633464313138633338313739323439646264
|
||||
31386539613732663338356363623562366636643031366235653934626638366239383638663863
|
||||
63396366623965336537393035653665363036333531616136656535313661386162616337336264
|
||||
31663138653833323939333637353961626562373931613937333735353563323235323466613830
|
||||
62636661653733653735373564333034663935383861646438636135653762626331653538623736
|
||||
66383535316635613135656666636536313963393665656133316464353936616530303236643533
|
||||
62373564666530376165373436623738336561633038623234383263393031616263356364646137
|
||||
33643032393931656161316433383330636430386235343136643063326137653564393637356438
|
||||
65626165353464646463616335303864636566386431666535656337393465386231393034363263
|
||||
33613932326364313434616539636465616137316638376263393333336565393261663133623663
|
||||
62356236346538666666613532623738346233636139643636346665326262353534643231623231
|
||||
63376132636434333037333931343633373431656461663061316262386435313064353164306161
|
||||
65363530396330343331626136386561376562393763633565306631373861616662623039633733
|
||||
38386432336165383863356331636136613739643534323962373232383235636333306462383065
|
||||
30646436323966323138376664353262356430666162306532386466623561353532386534313732
|
||||
62363665393134386634396164643930626266633537303864313930653736623637396434343765
|
||||
61386638346130343366313664396434363830613164636435626562643130383464346635633532
|
||||
34633330646533376138323434666365373035616236353530333731386339353033343337646562
|
||||
66666234633539626231353763626363303438616631393666336230393332636565613061333731
|
||||
30323734336464613963643937663133366334633164663437376539313635363032393434373438
|
||||
34353262653532323662663137633031323833373664646230386266356430373336613161333764
|
||||
34613230323066623831326630666664333365386639613966633534303234323035366339303535
|
||||
62343333396431653130326166643933333663346363343263626236313462616637633333653432
|
||||
31363064376238653133376634386431333436333738366634373036346238626263643530613563
|
||||
30386132383131626536383737613733613062373461353735633563366336366135386230653136
|
||||
62366466613061633038333635333262386564343863373066636533306237613933306532336461
|
||||
33646362303130326564633535656238316131383833643565363032323962613839
|
||||
38663262326664303464653331306266333862363635643761346638366633666563303035346662
|
||||
6230313164666332623438636464313435323532393636650a333039326661383864373838333634
|
||||
34653135643737393966353932343066653166653339313939666161363735636634643466363036
|
||||
3630633764646438650a393562343335316363616564383733363233343463356633353837353138
|
||||
65376435343730626466393062656233326330303565376639386332306265306266356634383830
|
||||
32613432386561346634633334666365323061313833396364313465326664353064653237623136
|
||||
31343762383838316161306565323432643630343537346166616666353738343034346233313266
|
||||
62353933323432343564303633636532396439643937306366313333626430313639653162333364
|
||||
36646463353964323139613339326462666334376132633834313537653761333832333436663738
|
||||
35393939326530353064633333323139356234643031653130633665303434313365663238643434
|
||||
31663630313036343939646631326239343361653238646636363234353062346534363039373637
|
||||
31313562666133343732626438353062663863336638323037373361616665613831616165393835
|
||||
32336334393739666366623933626265643964663831336337343632643732383264623534383964
|
||||
34313030336339613934303637363964653064653231666139353836653734626338333331383961
|
||||
39646331623636613332393663663135363139653663383764333433316430313136356433326235
|
||||
35303962646463323534623263623730313166643232303566343135323537386635396165383539
|
||||
64393165623466633936393232363730313233656139383935343561343236343763623232343736
|
||||
39383765633662653434383965646461663730373864326561343265663838643339616539396364
|
||||
38313566343836363530613336326262373736643566323866386565346363363333636262613331
|
||||
38613065333465363931623462653732626633316638626632353338373636383835653165336666
|
||||
62646133383639663934656332613666663031623530336362633234633534363738363664623236
|
||||
62316332363432346534353336343561303066633965373130626664343935393833663363393062
|
||||
30333739626636323839623663393666393239663562653333383066303130363638366566666532
|
||||
65346361636537393335393330313635336665636638366530346335313761323035623666623734
|
||||
30396531383064376661363363323161353132356164636132343531336337613837613931656136
|
||||
64303034626261643635356165636463326565653035316335353730396431663261363333656265
|
||||
38626664636637623866343138303131643462366639336237363566386235656438343138666237
|
||||
61653164376663326663646631393666386630666531666465373433393734653737343765363964
|
||||
64313337336539336664303262343333623161646135633039376637653932626432333533356532
|
||||
35306561323464623762336432366530343661363037383939383035653237353466336531653434
|
||||
36383530633661616564333230363633383665376139353836643334646262323938643139663138
|
||||
33653766666233393332333134386631316535643163323362356539633932323738353636393164
|
||||
66646466613864633631656565303038613639633534306438303731356232663332316633623361
|
||||
39303262353565383636616131333032306531646566313066373231313730386331633435336133
|
||||
30626564643965303131666234663630653237373566653633343662623864393138353265646333
|
||||
34336338356163323139616234323137366365656662633931666534303439326636333562366530
|
||||
35363266633334616463623635666632386338653432653832326636336337626437643061623638
|
||||
61646561666162616330623333346230613965316461383034333734383763383635396433373335
|
||||
37653362636132313139316336356264373763333361333630366535336339623166306663623433
|
||||
63333338613261633163613865303962383238383963353530633136623362313561316533343737
|
||||
66336231323763353964376339613531613939336238656364353536346436663464636637303337
|
||||
39313066613164656431383162326562353036613165613635346639656233626439623939393663
|
||||
66306136656236663766643738303738616230626534333132666331316439363136326264386635
|
||||
64616337613639306536373366366235633766613033313464353538376363663239333930363139
|
||||
37666231626334373132363863346232623866353032626138353838333764633738386166666265
|
||||
38393461633832306465633130343634323763346464643262653330356337353534636566353935
|
||||
36333936343130653861303432626135383438653134326162613833336261613839376161616136
|
||||
31666436353361303438303735623139613063333162303566623431373031646434643766363335
|
||||
32363835376438613163666330333732353432396661666632663633393965396531653830333737
|
||||
63356238613537643033643765616561666163386364376236353031656465333661333830626230
|
||||
32346431633464636663366364643239386135396235336663626335383663373761383165646262
|
||||
37313330376336373462623266343632393637663066313531646333666531653132633164353266
|
||||
37636238623637363166323731653739373764343965626530333834366233323435646339636233
|
||||
39626164653331643036386130663539663532643232333338656661333130376537333261346135
|
||||
34373565643535616333326333383231346162383032636132333166376163373761306337643235
|
||||
61636363323761366236326139373763306561383331303563333461386130353039333862336363
|
||||
65323532623538346638333036316430303130316366376632623133643933393466353162643335
|
||||
37383836323631393664636262333839323336353835663138653061623037636262333432613131
|
||||
62303162646133376263306361663161636131323030396164313435356164386239393032633061
|
||||
33346438373036306365363935626539653930386638383265373733386366663036393637656264
|
||||
61303235326462626630366335373561313730613163623339333630313561663636353366393564
|
||||
33303861623038623135346164376636323661373431653962363332653766663438323664376561
|
||||
65313835386464616361306438316434656331653632346330333131626536323064386664633430
|
||||
63353062336630663935353838316366316138323037383566613166336138306262313766383630
|
||||
66336163666262636435326231326437336333666265663434316635313430623437306230646534
|
||||
33643039376230643163303562376261316163626436626363316234396263633864376331353230
|
||||
66656531646366633163336636343665393838666166643966306636363462666361303839656433
|
||||
37353061656162653336363333343631633865636566646534306231353064643336383365376335
|
||||
66396339376666623561393731633462643330363331623934643935303563393463346563373964
|
||||
63623063376365646663386431653533373739343962656236356461383930373366383163666432
|
||||
65353664363565646235393134316562643230383962636136633866376534326165343864383736
|
||||
62306333386636306330373562336137386338303836303365353834303239336464613966313638
|
||||
38333437313635653866396435656239313535376461623663343663333466393136313936353831
|
||||
66646465663632323866376330316266343033646466316564613261656666313634663735616535
|
||||
37393664613033346234633163373965393763356661636437626263326666643934653931393931
|
||||
66373338636463393536633231663564386561313231323463343638383630396362336239333437
|
||||
39343635663830313234316538636131653765616636613631353432646163376338346565383038
|
||||
39306631646563636130643530353865393337373066336666353732633161383933626635623735
|
||||
63623736613538396635306633393030613434373433663563643065613935376230363935343563
|
||||
31316639333664303361626661353034396138623864373164383362356666633763323333363936
|
||||
32366635633162376436393738663535313338363665383566656634323932303834656639363566
|
||||
33663637643866333535646662643339383339353934383738343138323466313130666563633433
|
||||
61383033616338646665323166623461366635636666326365326666393739303963353365636662
|
||||
64653132376239636630396430346462626136323734353631356238303838663563643433643833
|
||||
34656635373431623639653062386562623539303938336334303238666565363137613638626339
|
||||
61666439303339323061326337623435383662613761336165336361343762373935626131383135
|
||||
39633562353339363936646263313763326366623833333530373032393537373539386636616532
|
||||
34663963646234356136653261386138356638393335626365333263396232613361306239323439
|
||||
61663937646561336637313831373730316635383564346536663533656130323863393566386261
|
||||
37343563333035333233666362653765333037353636646265366235316163646430616635336534
|
||||
63663330303535663237373466666162356236613137623663343262626431316363356439643734
|
||||
33646537383963316336353132366639306136353566313038363366666261313730303837643434
|
||||
35663638616333346365313939303636656361363634373837383965373932663565666434383636
|
||||
65333138666466356334353837303838303831353063333336393335343033373539383662363832
|
||||
31303834366531393436303834316139663533333836376136326364383333393164656164353630
|
||||
64646535363231303137303732643863616237666562363763363265326131356361333961356133
|
||||
63396638636330393938613839383061616166373865316536323835363565613937363161323631
|
||||
39343865393861373136383763646438616537373866663466303165616461373365656130613661
|
||||
38663734376639623966633239376134386239383638653730643439656333326532303535373735
|
||||
63663233663963333661643734316337323263666531373665343561396631396563306161373964
|
||||
62653236366136353463363735376434343061643732636533636634653363386336303034393266
|
||||
34616263376537383230653263323962366164643939646366653635663735373939633532323138
|
||||
64393637326131666262316639353337666632646662663935393037303335353762326163353931
|
||||
34663535363232383232356635633963626637333132366337356537313964616434323261653936
|
||||
35316462373631626438343538363533393964333463666566323135643165633863633331653765
|
||||
36373861386232303739636438653735396538623336366236353238643065353732643136333561
|
||||
37663336636138306335356630313231373732333936656231626537376564313064653433313337
|
||||
62343763343036636432613534346461386532626139346164633738346361653634353636623831
|
||||
31626566336234656661303466623364626261356331623235306265333937316539333539373133
|
||||
38373532353734653337313834323037656431666362333333666237386334373063653530623831
|
||||
66343065303761303035346664653761376335363334373166393861373236666565373131303539
|
||||
32373431613532643236
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
62383466373737653035333232303338326366323539316363336337393862373265666333356433
|
||||
3261393563633166343066346436363532336261376134350a353937653561346237666134343561
|
||||
32623332613731343631666563663731663739323633636239353035366335386366626366343934
|
||||
3333313835326639340a333463326635643561393464643063613530396430333838666234353538
|
||||
32643366326165383435366266303463626330343533346561646232383337323332623663353131
|
||||
66306538353864356466663233353237356132616161373166393736336438353066303963663764
|
||||
65643465626461393232396461356132383939353035643736633437316132386461313131623961
|
||||
35366464356133373333663530613066613233303161623534653331393864376333303937333037
|
||||
61663239633030626339653062663939633662316633376135626466623637656239616234373461
|
||||
64353633386638363132643530366237396335333263306136373939343565323765313565643666
|
||||
30366162373337366331313232373333393939653561626238373236393430363464633333313562
|
||||
63626463313336363961663431366364303065623933303261303963326266386131346566323638
|
||||
36316161343738386436383731383961656336363137303566366335653538663432323765663062
|
||||
34626232383533643363383039643762626337316636626438633438383037353432323132663464
|
||||
38616532316534356632643630326534643962353634383162313338396538643862313061613838
|
||||
35636165366337623532623737393738343230626530623330303465383263393763623664343466
|
||||
63666135353663363961306366626162373836653461316537373961333364373236373361383238
|
||||
66656636646665623739326638623061663765363030316263613666666364663261343830393330
|
||||
65366366306333323837343666633935613635396663623962386430613937626366313232363962
|
||||
65613064303731613865366432353866326135386464386637363335653135343665623632663066
|
||||
66663165633163396264303236613734383464633966663663333731616665333037663538636530
|
||||
32323830303864616565363862316132303131636635326431303261313131646234346164653862
|
||||
62396666303961633165333931653061613132396433393436623665383033396130336231323337
|
||||
39333563313137623035376139396261343432666130306566326662376636663938326439663235
|
||||
66636561663464336637323663363363333338393665616339643864633839656463626665666664
|
||||
30373463363135326134613730366430326666623766613131326562366265663662323438333563
|
||||
62363037356231656664623332626562346266363035393562336262373363333366383739616636
|
||||
63333763303038353234643564303132353834353439656239396463313862363464366634646439
|
||||
32643638623035366632396234626134393461633163616664303934623861383462623438323831
|
||||
33316361363830353062353832336366363161653630323735356239663037616364636665636330
|
||||
65313531396530323064353862353939393565376662356138653736386637623265326632306561
|
||||
61343764393034633461353432343830326661353663373965373961663330313035396437663738
|
||||
66333539626565313635663531323366323636336237306561346234323962613636653864383532
|
||||
36326138383566666434393932343439653263393332663766626261653336333432623337343439
|
||||
30316336346466383333313332303238383761303033336164613462366532353761383333666665
|
||||
36306661303832646432626461616236333730353538663765653539303561343534643862356463
|
||||
61646361653464653462346334313232316633376539643836326462336236366330323061373538
|
||||
63363638643862343539643639383935326439356534653339393835383139626539373834653238
|
||||
62396464373766316132376136343631316132396661336233623637396166376466353936666263
|
||||
31613261356366356130306437613364333866333830643665333866646263333034326336373563
|
||||
66343764633164666666353161636236376163626262373536353464363032333561363963376266
|
||||
37646539316163336637313863373064393466613863653834636639626566383535363663393866
|
||||
31633737376532316165333531656166646533386439323130396430323431376662626661383564
|
||||
63323265383933626631326133636163363630666538316331623733663535326261323438383263
|
||||
66623035343132646466613063396561323164323336636639636535393832383234623062626630
|
||||
66383739336565643563653438376430353961383062386539353965323462356462353266306163
|
||||
35383964616562653563666262366264343735333461646564646264306365373933656565363136
|
||||
64313530356536336665393333323464336238333637306562396635383835306135326165373763
|
||||
63336665366461663137383834643136383034646238643463656539386330363761363064613434
|
||||
65623836323732633262643062396366633264396334353938633463623462383563343631303239
|
||||
37363263383935333665336334366334323166306165333466326232656637646132613339323239
|
||||
66303830356330396432613163616166323261643861646264336436313733363362343835646464
|
||||
66383762613665306465643938363631343630633733376137383133346465653662313938623237
|
||||
63313333383933393131373039323065333635353030396163623130303462343764656533643936
|
||||
65333239333236393537373863386435623231376163323261326331306263326662653132623032
|
||||
61663532383865636566623761356533656363343863633161343230633433306533633130323131
|
||||
37366234376565666633353962353939343634653662336139353662356337393438363261353636
|
||||
35643563316165376233383134653363343262633035326261666633383437626237373637663932
|
||||
66326636643662636539346138663530623365376330343833363263616666623938623736303030
|
||||
62393135626565303464666138613365623632666638653265666139333930333737663965323631
|
||||
39613330363561363366333765313837343462316633613835313865656363333132326336626539
|
||||
39623364343131306263363863323730323939353261646335366133393962623137653864373131
|
||||
62383935313265363937313664336432393965653463643466646137373630373631363736636431
|
||||
35323432636633663138376339383131383461656465643766636636306565663639623163636234
|
||||
33626237353334396432656530663833633235666239326336316139323439633337663433643331
|
||||
35643766323361393064336137666664396465373765393034303462653737663063373065316465
|
||||
61336363353831316338663536653063613061333034613237306531663037653835663538666337
|
||||
37613834343164396133343736393165663263653161663537313234613366653532646630373766
|
||||
37636331326338383039663030346666323234393632363233323037383863313564363563346338
|
||||
63656261653464663663643231653833346130386433373562623662633963346630336533316435
|
||||
66333439396638343563633138326431346131373439396566633232356535393565656231663737
|
||||
36376163393133643337613639303039623832666438666661383436636661393233366663333838
|
||||
64653564623562363339656162353836306437303738373439303933313637393464306265323336
|
||||
63326436393364373931653563356363313139343734633663316362323738653738343732363138
|
||||
61393761326138653036643332383235626236356564633232323462333135326264353937336463
|
||||
31313965366132623737353232373134323433306564333862326634663362356238353465653364
|
||||
31623933316465666331653831393461316538393537386636376461653236336434626134616662
|
||||
62623634366336333739373332376239386336336631396263303535373564303862663666663562
|
||||
61313830386438616262633533336334353735333331346436373230613363356166353430386430
|
||||
62343735373231656139343035396562386661356538376661643435353237353962333930363939
|
||||
61613733653064343833396530343432663238363537373631306132666235613330343866353031
|
||||
64396531363337373236656235633261623239663439303834356139623833623339353862663230
|
||||
31363039663033323663353766616465393063356263323239353461616239346332396532633066
|
||||
64346563613934633937333433383764363731366132626365323661313962636464396539386236
|
||||
63316563353661376330346139663737306162366661656461353862326666373030336136366632
|
||||
63616439616630366435623065386430646537363333393965663534383531323462373833363965
|
||||
64323931383534643730303466373366393435313663306631666364376665626434623430326164
|
||||
64366437626634643362396565306665313231326336366630326163356630373663653633376434
|
||||
64393033336463326631303862653337656163343932363661303862346133373562663537663930
|
||||
34373761373537633130366661653539343931383663653234333663323738356535306664656664
|
||||
61383337323238636634373830626138393466336666386262393039393963633835366531643831
|
||||
35313531613832663637386566313436363566346432346536313263633038393438666431663737
|
||||
62633631656534353961306663613634616336393833616166613836373539333131633066666365
|
||||
63656264353831353630343834356239653331376539376331386663386334366463363935656431
|
||||
64386439656135383139626136653066613166353738613262623231323132626330366561643030
|
||||
36613765336339383863666535303930626534643934383731336461383432376461636230343030
|
||||
36383330376231336661653735373961643936303064373365616333663836323663333361376462
|
||||
34616538343235366332633430613130633237303363353932346366636631366466306533373063
|
||||
66363832623237636266643861363238396534666164393735303165393933623766313262323333
|
||||
37623830613733333162303061383166363838303965666664633861376238343165633234633232
|
||||
63636633353937376131306435383061343030666361323061616262353935643030333966626433
|
||||
35356562316336343932313539623239363036336361326234666339366335343033643435346536
|
||||
65346261663338326465316237353934633334353033646433353035653530396232666638636262
|
||||
37393532656561643839373333363331316235636566316531393865633131373936316236663839
|
||||
63663835633437346336626432326235356432616364316465376239363864323561383636623338
|
||||
39646266396162313938613062623430663237633465633261626562626636396637373137366465
|
||||
65643134666236386538643062663135643266303861396337353638306532306236636136623039
|
||||
34336130666633313661653761393536346661343063653562326462363434366531656430353232
|
||||
32643164303364613362616631356364643835346561383962316265336637353837383462653037
|
||||
34633031346261633835373131656166386439306361356636663338613731393434323039353665
|
||||
35636365303365353833623463626463326632383737373235353464323939616539636531383665
|
||||
32333761313439626339613834316464363835636331373331363730373861313739363164313330
|
||||
33326136326566336633316437316132613430393166333130623335393232653065376131666465
|
||||
31303132353465313761633265313266373132633231353766346633386639336464613134353832
|
||||
34613035396165633864616664636563353265316432336636326632386234633263393261323136
|
||||
66356338613666303863393937626365376631643666363830613836333236383466353835306535
|
||||
63313939386335313936376233626231343062323662313565653439306534386133396336623265
|
||||
30326334373433386639626362396138346234346630383930373636616239353734356432356237
|
||||
33636135353736313961303730386433346433663332363465343732353132356162383936343238
|
||||
35633866303031663238666662366137316366333564336134393465383438616465656666653664
|
||||
37383231623136363163663562343938653631316131613864663936363336343465343931613830
|
||||
61633166663534643765306337316635633163326238353561376631353661386437363935353636
|
||||
35623831366532393061343764633735396363623161373661316238303639396166643430323432
|
||||
36363137303834643233616331623764343161623264653531373431646364376662376238353233
|
||||
62626464393336653530383434353066353865333139323363396635393530616332383463373032
|
||||
36363665653234313263333334393535333961393063303366393034333734626235313835313665
|
||||
39376330346132343035653531396430656231646631653131633064643530363561393665663661
|
||||
64636133623231396663393662333738653631356436646166356531303066636139376166353830
|
||||
36626461646635323730326463323065393061356633653931663334633532663834323332363534
|
||||
34306539386532386365313766343462656264653332346363366231663764633436343334343235
|
||||
61653465303635353062333232396261336139633561373034396533383933373933356462666134
|
||||
32323631353536663761663439353162633539346561396166303738376432383533643766366465
|
||||
61373536663836613237366666646133343532376461323139643565396135366533356439306438
|
||||
62643235316231663564326238386238353536356330363236313064333862366336636363323834
|
||||
33336236313939316162393964346363363236383263363638336531623463643338323461326338
|
||||
33626430343834623466666461396534326466393934643631306637633562623531643636343031
|
||||
35626637363265306563643463666337316633613263353363306330613064306664343735353265
|
||||
38623033623364626437353434653732636161303732326239633837346336343666386138383935
|
||||
63626238663630366630366635356531303564663866616563393164346564643338666561396432
|
||||
37396439393866666661353463623865333863613765353264306633636239656530303230373537
|
||||
61336634383861633165366265313136343464396464663136393864623436626537313935663831
|
||||
64386162356665616331383839373533363161623630663431663136643732353065376161336564
|
||||
36663931383033313130643831306364663365313265313831373636643861303261626130326234
|
||||
36613038356132343936346463636463356332303261663830373333346435316364383161643065
|
||||
35323262373736626636343562313731646234373464633664663562366364656466323737356435
|
||||
63653266356265633163386337333731316266663032656131346134353264306436366466393464
|
||||
66653662333464646437636439313565333465366339383365666538376464653563313835343561
|
||||
35373661353832643363363266343561613066343138636339633033343932643633633035616232
|
||||
39336635636135666461643134636435326433613331353035656232313662343735663833353234
|
||||
39653337386430353364373237313533373933383333346536356337356535653531303532663235
|
||||
36323531643735666538323838323932623438646236613330383863393836393365363636626232
|
||||
34393239383236626537303666393532626335396434363763356466326633363464646565323431
|
||||
35383934613964663839343332353539653136306566653763396564343538643663366636306331
|
||||
63386531326635373134353564316532353333383834376332306237336366616532363034383866
|
||||
32326133333932323861373433376662343537343935663864346537633063316561316538666431
|
||||
32623863373432363264373637373864396363353933303762373662626364653434363738393234
|
||||
64616464633433376336356236376635623232306264316464616465636139363861666435316563
|
||||
66396630346437616433613665303462653662376563623763633466653166643536376466323133
|
||||
64626630376338666164353839323062303132663633343937643761356535633238356634626165
|
||||
62363237336264623932613835303236623333316564393338633861313333666466346435323766
|
||||
35626432373737653138653931616562396161363037613339323961633534623537666637626133
|
||||
61653637306531646239383639333366643937393932623131383335616436663863393064323833
|
||||
35306635386336613037383761653638643930303334386139623135313434346232316233373632
|
||||
38393737636132333138636534383565666230323831303964333132656663383838386538656537
|
||||
36316166653239323162326333383035346636366163636233393936613563333032653339623264
|
||||
35303766623730653939383439643265343365363064336430356431666163656661666330323563
|
||||
33383761326562333937396535303366373136653163643138393931323838313531383264386463
|
||||
63316230333735396538613561313132613861336166663238613730323438383830643963356230
|
||||
66343933656536356136633065663037663233623662393133353739343065333438333235333836
|
||||
39613962376238643933653131363261313164333333383032613235653136326262623461663032
|
||||
36326164323036386562313638623331663166633039373264323333386635363437373839393432
|
||||
31363564643536613530383066383530643537353263366565346533343761353530313739346137
|
||||
38616335386539363861306232326330386563663433663132383938323866646564383864333864
|
||||
64663733333961373730366137656563376562366366646135383662333831636462623762356563
|
||||
65313433363633343662316337306638383132613131393765653135366631633561356138353730
|
||||
61313135326366373837303130663466353563313465613932633863383664306262653833346462
|
||||
32393566666566656339326531343265316631623230383130343633333535643939343733343161
|
||||
64336639666233383865386533326437613630613536303063656631346463353564613030366662
|
||||
35313331303564663835393439623730633031363435366363376230346432333834663933313834
|
||||
37653561626430363962646136633865353138323835633062666631626436653461303966386164
|
||||
31616235623932356136663763623263626331343131323933356439316430336564653630653836
|
||||
38326538666265306230396461376635386464656637363461623639356531313939613363373461
|
||||
34366136616238373731333962613437383563653161323337336135356462346431343064386463
|
||||
36613235353263623430333035376133353966373130316134303639303865323534386239386632
|
||||
31313935343336303535653861363036363461373537336561363532626137623066663932343037
|
||||
37333164356232343763613464326234343230616362326333643665643261656266336638303330
|
||||
36626133333166386661393833356661383337336136336537656233326666383133623637396264
|
||||
64316264616439313565306666616238336661363365633833623263333363623132383830346130
|
||||
35366234323837646531366330333632616133333364343766393233333237373836323837666161
|
||||
63643138376538363639353330373136376564643261623731313931333666353239333561663432
|
||||
65396663373436666236376434666632376335353566353530393533633132366130663038643264
|
||||
37313832613732353230306135363466616162313137343436653064343231356433366563303738
|
||||
35623531636631613061653963656664313038633434316336333633316661306563643262646334
|
||||
33613563386330376333663133653138336234386366316538383362383665643361386366386538
|
||||
65396534643064303332366532663834366537626261316139326236356136343136383638333339
|
||||
36346530356565666332613037373364353366386130313464626565323730316132336262323264
|
||||
36633532326534343362656465306535653539613265323634393865646235653363626637383339
|
||||
32346264306561383332366462613236316364393931316132323937623763393935313830346430
|
||||
64383236333664353431363934303132313434326534646239363366626530643536646230663139
|
||||
65316466313562316266653665636361363734393461396630643637623462343866646265633838
|
||||
39633137643937656438643433663765363430313337343166366161323434663439353562666132
|
||||
38623464623962343534393064376237373231333939323666306465306134336234383932353635
|
||||
62656337636465326532613139626462323162303730663837313935633437313265353930663463
|
||||
38626231323462363461373131306261326463313763623737303466353835643931653334653132
|
||||
65626639396365646333653064396662626566646666306362366334363934646237663830393962
|
||||
31343561613162396632396336653834616663643130363131383463613265393337613866353365
|
||||
62653737373132616335643731646236363263366433653965393736333766393262613836333365
|
||||
34306635666366636430393365626364633061356165353661326563636366346562643733353334
|
||||
63316437376330656661633661393362323133666434366565633436363034363039373761633032
|
||||
37393163613131383537616434373730303664663562656333653232313937633164363236303663
|
||||
32363065366634363731313534343566623830663361663430333061383765363137366662623139
|
||||
66346334333061303437396532343330346366396362366362323535306639333962636232363730
|
||||
33343236636163666136373264666236386361306337653564623637626135613562303636613535
|
||||
38633130396532313362616666636238343035313233323661373032646432626262643662616262
|
||||
61353166363330323665616561643736326236363438353636373063373738383361653539303131
|
||||
30366364653464373662653066363865626338613433316362393564653739636635333562333036
|
||||
30376530323462626264373235313231313163393838633437326265646638373439336638636166
|
||||
64323762373835316138636137363166616161616633613632333063323632626637653630346562
|
||||
33376334616439376161643038666438373833343632643934303164353866613231346262346261
|
||||
61663265366461613634
|
||||
@@ -0,0 +1,31 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
62303937306432656235663330303934363930356632333966343535366438343261323139386135
|
||||
6238653639363962373032656433623835313834366431380a653866666266313861643035653638
|
||||
62343639336336353130363537356635653661333463386637333331353162636438393462353161
|
||||
3531386264373537340a653431633436353030303733343738616431663831316238613930633038
|
||||
62353466313762366561396366376363633132383438646362386239616362306563316461626438
|
||||
37316232373664656165396237306333336433656464306664653566383761393636396537653331
|
||||
30666631383234353064313061306164613364326638356636633636343133666638653261366339
|
||||
37376632336133333736626130336165313735313033373138343662396265636563663234376138
|
||||
32303137646437626435376463323539636264666663636533363733616637653934333936633139
|
||||
36363162306237303931343133363238346231633732656535343963636262316363613434336363
|
||||
36373339336332633332626534643762643264653365353062646663623837626463376363363161
|
||||
31383865383166396663366230333334373037376333383938363738383862313736313261336234
|
||||
65326434383165363861343131363139666238646562383837653233656365313932653163626564
|
||||
38633761343338666662393333393165316563346636636135663133613062333836313561333963
|
||||
39663733393738336336626438323365366566333331373433326539653565616230643936383737
|
||||
38356434323433326432316265396661323964653039393164663533653731626162376134616261
|
||||
39613666393764636331353764306531396339373032636531353165316437616464653237356536
|
||||
66396661306235333732326136306439316362363063313837383663316361313731303634383331
|
||||
30626239633235623164396666396533613734613962653030343334343832323664353431393636
|
||||
38623838306239326537383765643036643830303066616232313935376635346237366434396162
|
||||
66303932656265316463363432623037383462333638376430616562313238393762616263663138
|
||||
63326239623666326636396361353764386363613364643935666339336565393830613435373231
|
||||
64383265666661633664383031646530653539323037613837356638643335653235323135323361
|
||||
37333731316234646135303566393439363338323264386635336432623862353661313962663965
|
||||
35333631336233366364633537396234656430373832326334653030363635626439646532643032
|
||||
30636666383865313737353962326665383936613434353830636561323439373537613538393836
|
||||
31353164613631386665353762343938383766323739363363633634363433623039376564346333
|
||||
64323939356238323462346562616335383437326233363838383930396238343261633863393232
|
||||
39346165656662626631376362623663343164376634363532376363623737613962323434313339
|
||||
3133306237396463313938383035643034616133336662636234
|
||||
@@ -1,3 +1,4 @@
|
||||
[ungrouped]
|
||||
jackson ansible_host=citadel.fntz.net ansible_user=iac
|
||||
bear ansible_host=fntz.net ansible_user=iac
|
||||
jade ansible_host=fntz.net ansible_user=alex
|
||||
jackson ansible_host=direct.jackson.alexav.gg ansible_user=root
|
||||
nas ansible_host=172.16.0.29 ansible_user=alex
|
||||
@@ -1,105 +1,87 @@
|
||||
- hosts: bear
|
||||
- hosts: jade
|
||||
|
||||
roles:
|
||||
- role: traefik
|
||||
tags: traefik_deploy
|
||||
vars:
|
||||
server: "bear"
|
||||
use_cloudflared: true
|
||||
server: "jade"
|
||||
|
||||
tasks:
|
||||
- name: Deploy Tinyauth
|
||||
import_tasks: tasks/auth/tinyauth.yml
|
||||
tags: tinyauth_deploy
|
||||
- name: Deploy Postgres
|
||||
import_tasks: tasks/infra/postgres.yml
|
||||
tags: postgres_deploy
|
||||
- name: Deploy MariaDB
|
||||
import_tasks: tasks/infra/mariadb.yml
|
||||
tags: mariadb_deploy
|
||||
- name: Deploy AdGuard Home
|
||||
import_tasks: tasks/utility/adguard.yml
|
||||
tags: adguard_deploy
|
||||
- name: Deploy Glance
|
||||
import_tasks: tasks/utility/glance.yml
|
||||
import_tasks: tasks/glance.yml
|
||||
tags: glance_deploy
|
||||
- name: Deploy Servarr
|
||||
import_tasks: tasks/servarr.yml
|
||||
tags: servarr_deploy
|
||||
- name: Deploy Dozzle
|
||||
import_tasks: tasks/utility/dozzle.yml
|
||||
import_tasks: tasks/dozzle.yml
|
||||
tags: dozzle_deploy
|
||||
- name: Deploy Cup
|
||||
import_tasks: tasks/utility/cup.yml
|
||||
import_tasks: tasks/cup.yml
|
||||
tags: cup_deploy
|
||||
- name: Deploy Homebridge
|
||||
import_tasks: tasks/utility/homebridge.yml
|
||||
import_tasks: tasks/homebridge.yml
|
||||
tags: homebridge_deploy
|
||||
- name: Deploy Code Server
|
||||
import_tasks: tasks/utility/codeserver.yml
|
||||
tags: codeserver_deploy
|
||||
- name: Deploy PiHole
|
||||
import_tasks: tasks/pihole.yml
|
||||
tags: pihole_deploy
|
||||
- name: Deploy PocketID
|
||||
import_tasks: tasks/auth/pocketid.yml
|
||||
import_tasks: tasks/pocketid.yml
|
||||
tags: pocketid_deploy
|
||||
- name: Deploy Scrobbling Setup
|
||||
import_tasks: tasks/media/scrobbling.yml
|
||||
tags: scrobbling_deploy
|
||||
- name: Deploy NZBGet
|
||||
import_tasks: tasks/nzbget.yml
|
||||
tags: nzbget_deploy
|
||||
- name: Deploy Tautulli
|
||||
import_tasks: tasks/tautulli.yml
|
||||
tags: tautulli_deploy
|
||||
- name: Deploy Tinyauth
|
||||
import_tasks: tasks/tinyauth.yml
|
||||
tags: tinyauth_deploy
|
||||
- name: Deploy Code Server
|
||||
import_tasks: tasks/codeserver.yml
|
||||
tags: codeserver_deploy
|
||||
- name: Deploy Dashdot
|
||||
import_tasks: tasks/dashdot.yml
|
||||
tags: dashdot_deploy
|
||||
- name: Deploy Romm
|
||||
import_tasks: tasks/romm.yml
|
||||
tags: romm_deploy
|
||||
- name: Deploy Owncloud
|
||||
import_tasks: tasks/owncloud.yml
|
||||
tags: owncloud_deploy
|
||||
- name: Deploy Excalidraw
|
||||
import_tasks: tasks/excalidraw.yml
|
||||
tags: excalidraw_deploy
|
||||
- name: Deploy Vaultwarden
|
||||
import_tasks: tasks/utility/vaultwarden.yml
|
||||
import_tasks: tasks/vaultwarden.yml
|
||||
tags: vaultwarden_deploy
|
||||
- name: Deploy Immich
|
||||
import_tasks: tasks/media/immich.yml
|
||||
import_tasks: tasks/immich.yml
|
||||
tags: immich_deploy
|
||||
- name: Deploy Plex
|
||||
import_tasks: tasks/media/plex.yml
|
||||
tags: plex_deploy
|
||||
- name: Deploy ErsatzTV
|
||||
import_tasks: tasks/media/ersatztv.yml
|
||||
tags: ersatztv_deploy
|
||||
- name: Deploy Frigate
|
||||
import_tasks: tasks/media/frigate.yml
|
||||
tags: frigate_deploy
|
||||
- name: Deploy Servarr
|
||||
import_tasks: tasks/media/servarr.yml
|
||||
tags: servarr_deploy
|
||||
- name: Deploy NZBGet
|
||||
import_tasks: tasks/media/nzbget.yml
|
||||
tags: nzbget_deploy
|
||||
- name: Deploy Drop
|
||||
import_tasks: tasks/drop.yml
|
||||
tags: drop_deploy
|
||||
- name: Deploy Gluetun
|
||||
import_tasks: tasks/gluetun.yml
|
||||
tags: gluetun_deploy
|
||||
- name: Deploy QBittorrent
|
||||
import_tasks: tasks/qbittorrent.yml
|
||||
tags: qbittorrent_deploy
|
||||
- name: Deploy Jackett
|
||||
import_tasks: tasks/jackett.yml
|
||||
tags: jackett_deploy
|
||||
- name: Deploy Uptime Kuma
|
||||
import_tasks: tasks/utility/uptime-kuma.yml
|
||||
import_tasks: tasks/uptime-kuma.yml
|
||||
tags: uptime-kuma_deploy
|
||||
- name: Deploy Romm
|
||||
import_tasks: tasks/gaming/romm.yml
|
||||
tags: romm_deploy
|
||||
- name: Deploy Pelican
|
||||
import_tasks: tasks/gaming/pelican.yml
|
||||
tags: pelican_deploy
|
||||
- name: Deploy Docs
|
||||
import_tasks: tasks/utility/docs.yml
|
||||
tags: docs_deploy
|
||||
- name: Deploy Audiobookshelf
|
||||
import_tasks: tasks/media/audiobookshelf.yml
|
||||
tags: audiobookshelf_deploy
|
||||
- name: Deploy Cloudflared
|
||||
import_tasks: tasks/utility/cloudflared.yml
|
||||
tags: cloudflared_deploy
|
||||
- name: Deploy Gitea Runner
|
||||
import_tasks: tasks/infra/runner.yml
|
||||
tags: runner_deploy
|
||||
- name: Deploy Weatherstar
|
||||
import_tasks: tasks/media/weatherstar.yml
|
||||
tags: weatherstar_deploy
|
||||
- name: Deploy Duplicati
|
||||
import_tasks: tasks/utility/duplicati.yml
|
||||
tags: duplicati_deploy
|
||||
- name: Deploy CAdvisor
|
||||
import_tasks: tasks/utility/cadvisor.yml
|
||||
tags: cadvisor_deploy
|
||||
- name: Deploy Subber
|
||||
import_tasks: tasks/utility/subber.yml
|
||||
tags: subber_deploy
|
||||
- name: Deploy OWUI
|
||||
import_tasks: tasks/utility/owui.yml
|
||||
tags: owui_deploy
|
||||
- name: Deploy Ollama
|
||||
import_tasks: tasks/utility/ollama.yml
|
||||
tags: ollama_deploy
|
||||
- name: Deploy CouchDB for obsidian
|
||||
import_tasks: tasks/obsidian.yml
|
||||
tags: obsidian_deploy
|
||||
- name: Deploy Pterodactyl
|
||||
import_tasks: tasks/pterodactyl.yml
|
||||
tags: pterodactyl_deploy
|
||||
- name: Deploy Termix
|
||||
import_tasks: tasks/termix.yml
|
||||
tags: termix_deploy
|
||||
|
||||
- hosts: jackson
|
||||
|
||||
@@ -107,51 +89,48 @@
|
||||
- role: traefik
|
||||
tags: traefik_deploy
|
||||
vars:
|
||||
server: "citadel"
|
||||
server: "jackson"
|
||||
- role: fivem
|
||||
tags: fivem_deploy
|
||||
|
||||
tasks:
|
||||
- name: Deploy Gitea
|
||||
import_tasks: tasks/infra/gitea.yml
|
||||
import_tasks: tasks/gitea.yml
|
||||
tags: gitea_deploy
|
||||
- name: Deploy API
|
||||
import_tasks: tasks/utility/api.yml
|
||||
import_tasks: tasks/api.yml
|
||||
tags: api_deploy
|
||||
- name: Deploy Storage API
|
||||
import_tasks: tasks/utility/storage-api.yml
|
||||
import_tasks: tasks/storage-api.yml
|
||||
tags: storage-api_deploy
|
||||
- name: Deploy Plausible
|
||||
import_tasks: tasks/utility/plausible.yml
|
||||
import_tasks: tasks/plausible.yml
|
||||
tags: plausible_deploy
|
||||
- name: Deploy Database
|
||||
import_tasks: tasks/infra/mariadb.yml
|
||||
tags: mariadb_deploy
|
||||
- name: Deploy Floof
|
||||
import_tasks: tasks/gaming/floof.yml
|
||||
tags: floof_deploy
|
||||
- name: Deploy Tinyauth
|
||||
import_tasks: tasks/auth/tinyauth.yml
|
||||
tags: tinyauth_deploy
|
||||
- name: Deploy Postgres
|
||||
import_tasks: tasks/infra/postgres.yml
|
||||
tags: postgres_deploy
|
||||
- name: Deploy Dozzle
|
||||
import_tasks: tasks/utility/dozzle.yml
|
||||
tags: dozzle_deploy
|
||||
- name: Deploy Redis
|
||||
import_tasks: tasks/infra/redis.yml
|
||||
tags: redis_deploy
|
||||
- name: Deploy Garage
|
||||
import_tasks: tasks/infra/garage.yml
|
||||
tags: garage_deploy
|
||||
- name: Deploy Pelican
|
||||
import_tasks: tasks/gaming/pelican.yml
|
||||
tags: pelican_deploy
|
||||
- name: Deploy Tools
|
||||
import_tasks: tasks/utility/tools.yml
|
||||
tags: tools_deploy
|
||||
- name: Deploy Website
|
||||
import_tasks: tasks/utility/website.yml
|
||||
tags: website_deploy
|
||||
- name: Deploy Blog
|
||||
import_tasks: tasks/utility/blog.yml
|
||||
tags: blog_deploy
|
||||
- name: Deploy Owncloud
|
||||
import_tasks: tasks/owncloud.yml
|
||||
tags: owncloud_deploy
|
||||
- name: Deploy Wings
|
||||
import_tasks: tasks/wings.yml
|
||||
tags: wings_deploy
|
||||
|
||||
- hosts: nas
|
||||
|
||||
roles:
|
||||
- role: traefik
|
||||
tags: traefik_deploy
|
||||
vars:
|
||||
server: "nas"
|
||||
|
||||
tasks:
|
||||
- name: Deploy Plex
|
||||
import_tasks: tasks/plex.yml
|
||||
tags: plex_deploy
|
||||
- name: Deploy Frigate
|
||||
import_tasks: tasks/frigate.yml
|
||||
tags: frigate_deploy
|
||||
- name: Deploy Ersatz
|
||||
import_tasks: tasks/ersatztv.yml
|
||||
tags: ersatztv_deploy
|
||||
- name: Deploy Wings
|
||||
import_tasks: tasks/wings.yml
|
||||
tags: wings_deploy
|
||||
|
||||
@@ -12,11 +12,6 @@
|
||||
dest: "{{ build.git.dest }}"
|
||||
when: build is defined
|
||||
|
||||
- name: Create Docker volume
|
||||
docker_volume:
|
||||
name: "{{ volume_name }}"
|
||||
when: volume_name is defined
|
||||
|
||||
- name: Build Docker Image
|
||||
docker_image:
|
||||
name: "{{ image.name }}"
|
||||
@@ -30,6 +25,12 @@
|
||||
state: present
|
||||
when: build is defined
|
||||
|
||||
- name: Pull latest Docker image
|
||||
docker_image:
|
||||
name: "{{ image.name }}"
|
||||
tag: "{{ image.tag }}"
|
||||
source: pull
|
||||
|
||||
- name: Create Docker Network
|
||||
docker_network:
|
||||
name: "{{ network_name }}"
|
||||
@@ -38,22 +39,11 @@
|
||||
- name: Create Docker Container
|
||||
docker_container:
|
||||
name: "{{ name }}"
|
||||
recreate: true
|
||||
restart_policy: always
|
||||
entrypoint: "{{ entrypoint | default(omit) }}"
|
||||
shm_size: "{{ shmSize | default(omit) }}"
|
||||
pull: "{{ build is not defined }}"
|
||||
published_ports: "{{ published_ports | default(omit) }}"
|
||||
network_mode: "{{ network_mode | default(omit) }}"
|
||||
image: "{{ image.name }}:{{ image.tag }}"
|
||||
etc_hosts: "{{ extra_hosts | default(omit) }}"
|
||||
command: "{{ command | default(omit) }}"
|
||||
networks: "{{ networks | default(omit) }}"
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
networks: "{{ networks }}"
|
||||
volumes: "{{ volumes | default(omit) }}"
|
||||
env: "{{ env | default(omit) }}"
|
||||
labels: "{{ labels | default(omit) }}"
|
||||
healthcheck: "{{ healthcheck | default(omit) }}"
|
||||
devices: "{{ devices | default(omit) }}"
|
||||
mounts: "{{ mounts | default(omit) }}"
|
||||
pid_mode: "{{ pid_mode | default(omit) }}"
|
||||
privileged: "{{ privileged | default(omit) }}"
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/gitea"
|
||||
- "{{ data_dir }}/job"
|
||||
|
||||
- name: Check if Act Runner has been downloaded
|
||||
stat:
|
||||
path: "{{ data_dir }}/gitea/act_runner"
|
||||
register: act_runner
|
||||
|
||||
- name: Download Gitea Act Runner
|
||||
get_url:
|
||||
url: https://dl.gitea.com/act_runner/nightly/act_runner-nightly-linux-amd64
|
||||
dest: "{{ data_dir }}/gitea"
|
||||
mode: 0755
|
||||
when: not act_runner.stat.exists
|
||||
|
||||
- name: Copy Gitea Act Runner Config
|
||||
template:
|
||||
src: config.yml.j2
|
||||
dest: "{{ data_dir }}/gitea/config.yml"
|
||||
|
||||
- name: Check if Act Runner is a Systemd Service
|
||||
stat:
|
||||
path: "/etc/systemd/system/act_runner.service"
|
||||
register: act_runner_service
|
||||
|
||||
- name: Stop & remove systemd service
|
||||
become: yes
|
||||
shell: |
|
||||
systemctl stop act_runner.service &&
|
||||
rm /etc/systemd/system/act_runner.service
|
||||
- name: Create Systemd Service
|
||||
become: yes
|
||||
template:
|
||||
src: act_runner.service.j2
|
||||
dest: "/etc/systemd/system/act_runner.service"
|
||||
|
||||
- name: Enable Systemd Service
|
||||
become: yes
|
||||
command: systemctl enable act_runner.service
|
||||
- name: Start Systemd Service
|
||||
become: yes
|
||||
command: systemctl start act_runner.service
|
||||
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=Gitea Actions runner
|
||||
Documentation=https://gitea.com/gitea/act_runner
|
||||
After=docker.service
|
||||
|
||||
[Service]
|
||||
ExecStart={{ data_dir }}/gitea/act_runner daemon --config={{ data_dir }}/gitea/config.yml
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
WorkingDirectory={{ data_dir }}/gitea
|
||||
TimeoutSec=0
|
||||
RestartSec=10
|
||||
Restart=always
|
||||
User=alex
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,16 @@
|
||||
log:
|
||||
level: info
|
||||
|
||||
runner:
|
||||
file: .runner
|
||||
capacity: 1
|
||||
timeout: 3h
|
||||
shutdown_timeout: 0s
|
||||
insecure: false
|
||||
fetch_timeout: 5s
|
||||
fetch_interval: 2s
|
||||
labels:
|
||||
- "runner:host"
|
||||
|
||||
host:
|
||||
workdir_parent: "{{ data_dir }}/gitea/job"
|
||||
@@ -25,12 +25,12 @@
|
||||
template:
|
||||
src: local-dynamic.yml.j2
|
||||
dest: "{{ data_dir }}/traefik/dynamic.yml"
|
||||
when: server == "bear"
|
||||
- name: Create Traefik Dynamic File (Citadel)
|
||||
when: server == "jade" or server == "nas"
|
||||
- name: Create Traefik Dynamic File (Remote)
|
||||
template:
|
||||
src: remote-dynamic.yml.j2
|
||||
dest: "{{ data_dir }}/traefik/dynamic.yml"
|
||||
when: server == "citadel"
|
||||
when: server == "jackson"
|
||||
|
||||
- name: Deploy Traefik Docker Container
|
||||
docker_container:
|
||||
@@ -38,7 +38,6 @@
|
||||
image: traefik
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
pull: true
|
||||
command:
|
||||
- --providers.file.directory=/config
|
||||
published_ports:
|
||||
@@ -53,14 +52,5 @@
|
||||
- "{{ data_dir }}/traefik/data:/data"
|
||||
- "{{ data_dir }}/traefik/traefik.yml:/traefik.yml"
|
||||
- "{{ data_dir }}/traefik/dynamic.yml:/dynamic.yml"
|
||||
networks: >-
|
||||
{{
|
||||
[{'name': docker_network_name}] +
|
||||
([{'name': 'tunnel'}] if use_cloudflared | default(false) else [])
|
||||
}}
|
||||
labels:
|
||||
traefik.http.routers.wildcard.rule: "HostRegexp(`{subdomain:.+}.fntz.net`)"
|
||||
traefik.http.routers.wildcard.tls: "true"
|
||||
traefik.http.routers.wildcard.tls.certresolver: letsencrypt
|
||||
traefik.http.routers.wildcard.tls.domains[0].main: fntz.net
|
||||
traefik.http.routers.wildcard.tls.domains[0].sans: "*.fntz.net,*.citadel.fntz.net"
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
|
||||
@@ -12,11 +12,6 @@ entryPoints:
|
||||
scheme: https
|
||||
webSecure:
|
||||
address: ":443"
|
||||
transport:
|
||||
respondingTimeouts:
|
||||
readTimeout: 600s
|
||||
writeTimeout: 600s
|
||||
idleTimeout: 180s
|
||||
serversTransport:
|
||||
insecureSkipVerify: true
|
||||
providers:
|
||||
@@ -35,9 +30,3 @@ certificatesResolvers:
|
||||
dnsChallenge:
|
||||
provider: cloudflare
|
||||
delayBeforeCheck: 10
|
||||
accessLog:
|
||||
filters:
|
||||
statusCodes:
|
||||
- "200"
|
||||
- "400-404"
|
||||
- "500-503"
|
||||
|
||||
@@ -5,16 +5,16 @@ http:
|
||||
address: http://tinyauth:3000/api/auth/traefik
|
||||
|
||||
routers:
|
||||
jtraefik:
|
||||
rule: "Host(`traefik.citadel.fntz.net`)"
|
||||
service: jtraefik
|
||||
plex:
|
||||
rule: "Host(`tv.fntz.net`)"
|
||||
service: plex
|
||||
entryPoints:
|
||||
- webSecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
coolify:
|
||||
rule: "Host(`coolify.citadel.fntz.net`)"
|
||||
service: coolify
|
||||
jtraefik:
|
||||
rule: "Host(`traefik-jackson.fntz.net`)"
|
||||
service: jtraefik
|
||||
entryPoints:
|
||||
- webSecure
|
||||
tls:
|
||||
@@ -26,40 +26,52 @@ http:
|
||||
- webSecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
homebridge:
|
||||
rule: "Host(`bridge.fntz.net`)"
|
||||
service: homebridge
|
||||
nflproxy:
|
||||
rule: "Host(`nfl.fntz.net`)"
|
||||
service: nflproxy
|
||||
entryPoints:
|
||||
- webSecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
wings:
|
||||
rule: "Host(`wings.fntz.net`)"
|
||||
service: wings
|
||||
nvr:
|
||||
rule: "Host(`nvr.fntz.net`)"
|
||||
service: nvr
|
||||
middlewares: tinyauth
|
||||
entryPoints:
|
||||
- webSecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
iptv:
|
||||
rule: "Host(`iptv.fntz.net`)"
|
||||
service: iptv
|
||||
entryPoints:
|
||||
- webSecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
|
||||
services:
|
||||
plex:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://172.16.0.29:32400"
|
||||
jtraefik:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://100.105.157.6:8080/"
|
||||
coolify:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://100.105.157.6:8000/"
|
||||
- url: "http://jackson:8080/"
|
||||
traefik:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://172.16.0.44:8080/"
|
||||
homebridge:
|
||||
- url: "http://jade:8080/"
|
||||
nflproxy:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://172.16.0.44:8581/"
|
||||
wings:
|
||||
- url: "http://jade:5000/"
|
||||
nvr:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://172.16.0.44:4000/"
|
||||
passHostHeader: true
|
||||
- url: "http://172.16.0.29:5000/"
|
||||
iptv:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://nas:8409/"
|
||||
@@ -1,31 +1,18 @@
|
||||
http:
|
||||
middlewares:
|
||||
tinyauth:
|
||||
forwardauth:
|
||||
address: http://tinyauth:3000/api/auth/traefik
|
||||
landiteRedirect:
|
||||
redirectRegex:
|
||||
regex: ".*"
|
||||
replacement: "https://alexav.gg/?ref=landite"
|
||||
permanent: true
|
||||
|
||||
routers:
|
||||
coolify:
|
||||
rule: "Host(`coolify.citadel.fntz.net`)"
|
||||
service: coolify
|
||||
landite:
|
||||
rule: "Host(`landite.games`)"
|
||||
middlewares:
|
||||
- landiteRedirect
|
||||
service: noop@internal
|
||||
entryPoints:
|
||||
- webSecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
wings:
|
||||
rule: "Host(`wings.landite.games`)"
|
||||
service: wings
|
||||
entryPoints:
|
||||
- webSecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
services:
|
||||
coolify:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://100.105.157.6:8000/"
|
||||
wings:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://5.161.64.174:8090/"
|
||||
@@ -2,98 +2,119 @@ import sys
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
# c08dc6b088e90512fb8a2dafe9f1ae5de3f486d1
|
||||
# 894be8a440ba41aa228e53d7d523bcb1ae34da41
|
||||
|
||||
ignore_deploys_for = [ # don't auto-deploy these
|
||||
"tasks/infra/runner",
|
||||
"templates/runner",
|
||||
"roles/docker"
|
||||
]
|
||||
|
||||
def git_diff():
|
||||
args = sys.argv
|
||||
res = subprocess.run(f"git diff --name-only {args[1]} {args[2]}", capture_output=True, shell=True, text=True)
|
||||
return [x for x in res.stdout.strip().split("\n") if "tasks/" in x or "roles/" in x or "templates/" in x]
|
||||
return [x for x in res.stdout.strip().split("\n") if "tasks/" in x or "roles/" in x]
|
||||
|
||||
def construct_command(tag = None, host = None):
|
||||
command = f"ANSIBLE_CONFIG=ansible.cfg /usr/bin/ansible-playbook main.yml --vault-password-file ~/.vault_pass.txt"
|
||||
|
||||
if host:
|
||||
command += f" -l {host}"
|
||||
if tag:
|
||||
command += f" --tags {tag}_deploy"
|
||||
|
||||
def construct_command(tags):
|
||||
command = f"ANSIBLE_CONFIG=ansible.cfg /usr/bin/ansible-playbook main.yml --tags={",".join(tags)} --vault-password-file ~/.vault_pass.txt"
|
||||
return command
|
||||
|
||||
def deploy(tags):
|
||||
print(f"[MAIN] Deploying...")
|
||||
command = construct_command(tags)
|
||||
res = subprocess.run(command, shell=True)
|
||||
def deploy(tag = None, host = None):
|
||||
command = construct_command(tag, host)
|
||||
|
||||
if tag:
|
||||
print(f"Deploying {tag}...\n")
|
||||
else:
|
||||
print(f"Deploying {host}...\n")
|
||||
res = subprocess.run(command, shell=True, stdout=subprocess.DEVNULL)
|
||||
|
||||
return res.returncode == 0
|
||||
|
||||
def get_normalized_task_name(container):
|
||||
if "tasks/" in container:
|
||||
split_path = container.split("/")
|
||||
if len(split_path) > 2:
|
||||
task_name = split_path[2].split(".")[0]
|
||||
else:
|
||||
task_name = split_path[1].split(".")[0]
|
||||
elif "roles/" or "templates/" in container:
|
||||
task_name = container.split("/")[1]
|
||||
else:
|
||||
task_name = False
|
||||
|
||||
return task_name
|
||||
|
||||
def main():
|
||||
dir_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), '../')
|
||||
|
||||
print("Task environment variable: " + os.environ.get("TASK"))
|
||||
if os.environ.get("TASK"):
|
||||
diff = [os.environ.get("TASK")]
|
||||
deployable_containers = [os.environ.get("TASK")]
|
||||
else:
|
||||
diff = git_diff()
|
||||
deployable_containers = []
|
||||
|
||||
removable_containers = []
|
||||
# containers that need special treatment
|
||||
removed_containers = []
|
||||
vpn_containers = [
|
||||
"tasks/qbittorrent.yml",
|
||||
"tasks/jackett.yml"
|
||||
]
|
||||
managed_roles = [
|
||||
"roles/fivem",
|
||||
"roles/gitea-runner",
|
||||
"roles/traefik"
|
||||
]
|
||||
|
||||
if not os.environ.get("TASK"):
|
||||
# special actions
|
||||
if "tasks/gluetun.yml" in diff:
|
||||
print("[MAIN] Detected Gluetun in diff, recreating dependent containers..")
|
||||
for container in vpn_containers:
|
||||
if container not in diff:
|
||||
diff.append(container)
|
||||
|
||||
# clean up the diff
|
||||
new_diff = []
|
||||
for file in diff:
|
||||
if os.path.exists(os.path.join(dir_path, file)):
|
||||
deployable_containers.append(file)
|
||||
task_name = f"{file.split("/")[0]}/{file.split("/")[1]}"
|
||||
|
||||
# i'm not proud of this either
|
||||
if not os.path.exists(os.path.join(dir_path, file)):
|
||||
if "roles" in file and not os.path.exists(os.path.join(dir_path, task_name)) and task_name in managed_roles:
|
||||
print(f"[MAIN] '{task_name}' role removed, marking for cleanup..")
|
||||
removed_containers.append(task_name)
|
||||
elif "tasks" in task_name:
|
||||
print(f"[MAIN] '{task_name}' non-existent, marking for cleanup..")
|
||||
removed_containers.append(task_name)
|
||||
elif "roles" in file:
|
||||
if task_name in managed_roles:
|
||||
if task_name not in new_diff:
|
||||
new_diff.append(task_name)
|
||||
elif "tasks" in file:
|
||||
new_diff.append(file.split(".")[0])
|
||||
else:
|
||||
removable_containers.append(file)
|
||||
new_diff.append(file)
|
||||
|
||||
print(f"[MAIN] Deployable: {len(deployable_containers)}")
|
||||
print(f"[MAIN] Removable: {len(removable_containers)}")
|
||||
deployed = []
|
||||
failed = []
|
||||
for task in new_diff:
|
||||
deployment = deploy(tag=task)
|
||||
|
||||
if len(deployable_containers) > 0:
|
||||
to_deploy = []
|
||||
if not os.environ.get("TASK"):
|
||||
for container in deployable_containers:
|
||||
task_name = get_normalized_task_name(container)
|
||||
if task_name:
|
||||
to_deploy.append(task_name + "_deploy")
|
||||
if not deployment:
|
||||
failed.append(task)
|
||||
else:
|
||||
to_deploy.append(os.environ.get("TASK"))
|
||||
deployed.append(task)
|
||||
|
||||
if len(to_deploy) > 0:
|
||||
result = deploy(to_deploy)
|
||||
for task in removed_containers:
|
||||
print(f"[MAIN] Attempting to remove containers related to '{task}'...")
|
||||
task_name = task.split("/")[1].split(".")[0]
|
||||
|
||||
if len(removable_containers) > 0:
|
||||
for container in removable_containers:
|
||||
task_name = get_normalized_task_name(container)
|
||||
result = subprocess.run(
|
||||
f'/usr/bin/docker ps --filter "name={task_name}" -q',
|
||||
shell=True,
|
||||
capture_output=True
|
||||
)
|
||||
result.check_returncode() # fail the action if this doesn't succeed
|
||||
for line in result.stdout.splitlines():
|
||||
container_id = line.strip().decode("utf8")
|
||||
if not container_id:
|
||||
continue
|
||||
print(f"[MAIN] Found Docker container {container_id} related to {task_name}, removing..")
|
||||
subprocess.run(f"/usr/bin/docker container stop {container_id}", shell=True)
|
||||
subprocess.run(f"/usr/bin/docker container rm {container_id}", shell=True)
|
||||
subprocess.run("/usr/bin/docker image prune -af", shell=True)
|
||||
subprocess.run("/usr/bin/docker container prune -f", shell=True)
|
||||
containers = subprocess.Popen(f"docker container list | grep {task_name}_", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
for line in containers.stdout:
|
||||
docker_container_id = line.rstrip().decode('utf8').split(" ")[0]
|
||||
if docker_container_id and docker_container_id.strip() != "":
|
||||
print(f"[MAIN] Found Docker container {docker_container_id} related to {task}, removing..")
|
||||
|
||||
# clean up containers & dangling images
|
||||
subprocess.run(f"/usr/bin/docker container stop {docker_container_id}", shell=True, stdout=subprocess.DEVNULL)
|
||||
subprocess.run(f"/usr/bin/docker container rm {docker_container_id}", shell=True, stdout=subprocess.DEVNULL)
|
||||
subprocess.run("/usr/bin/docker image prune -f", shell=True, stdout=subprocess.DEVNULL)
|
||||
subprocess.run("/usr/bin/docker container prune -f", shell=True, stdout=subprocess.DEVNULL)
|
||||
|
||||
if len(failed) <= 0 and len(deployed) > 0:
|
||||
print("\n---------------------")
|
||||
print(" Deployment succeeded!")
|
||||
print(f" All tasks: {", ".join(deployed)}")
|
||||
print("---------------------\n")
|
||||
sys.exit(0)
|
||||
elif len(failed) > 0:
|
||||
print("\n---------------------")
|
||||
print(" Deployment failed!")
|
||||
print(f" Failed tasks: {", ".join(failed)}")
|
||||
print(f" All tasks: {", ".join(deployed)}")
|
||||
print("---------------------\n")
|
||||
sys.exit(1)
|
||||
elif len(deployed) <= 0:
|
||||
print("[MAIN] Successfully executed, no tasks required execution")
|
||||
sys.exit(0)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -10,30 +10,12 @@ if os.path.exists(host_vars_path):
|
||||
|
||||
vaults = os.listdir(host_vars_path)
|
||||
|
||||
# 1st run - extract ungrouped, global variables
|
||||
for vault in vaults:
|
||||
vault_path = os.path.join(host_vars_path, vault)
|
||||
vault_contents = subprocess.run(f'ansible-vault decrypt "{vault_path}" --vault-password-file ~/.vault_pass.txt --output -', shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
||||
stdout = vault_contents.stdout.strip().splitlines()
|
||||
|
||||
for line in stdout:
|
||||
if line.startswith("#"):
|
||||
break
|
||||
elif line.split(":")[0] not in file_contents:
|
||||
file_contents += f"{line.split(":")[0]}:\n"
|
||||
|
||||
# 2nd run - extract service-specific variables
|
||||
for vault in vaults:
|
||||
vault_path = os.path.join(host_vars_path, vault)
|
||||
vault_contents = subprocess.run(f'ansible-vault decrypt "{vault_path}" --vault-password-file ~/.vault_pass.txt --output -', shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
||||
stdout = vault_contents.stdout.strip().splitlines()
|
||||
|
||||
has_found_start = False
|
||||
for line in stdout:
|
||||
if has_found_start or line.startswith("#"):
|
||||
if not has_found_start:
|
||||
has_found_start = True
|
||||
|
||||
if line.startswith("#") and line not in file_contents:
|
||||
file_contents += f"\n{line}\n"
|
||||
|
||||
|
||||
+24
-55
@@ -3,81 +3,50 @@ import subprocess
|
||||
import os
|
||||
import yaml
|
||||
|
||||
DISCORD_WEBHOOK_URL = os.environ.get("UPDATES_DISCORD_WEBHOOK")
|
||||
|
||||
def search_for_image(image_name):
|
||||
tasks_folder = os.path.realpath(os.path.join('./', 'tasks'))
|
||||
if "library/" in image_name:
|
||||
image_name = image_name.replace("library/", "")
|
||||
image_name = image_name.split(":")[0]
|
||||
|
||||
for category in os.listdir(tasks_folder):
|
||||
tasks = os.listdir(os.path.join(tasks_folder, category))
|
||||
for task in tasks:
|
||||
with open(os.path.join(tasks_folder, category, task), 'r') as file:
|
||||
for task in os.listdir(tasks_folder):
|
||||
with open(os.path.join(tasks_folder, task), 'r') as file:
|
||||
data = yaml.safe_load(file)
|
||||
|
||||
for key in data:
|
||||
if "vars" in key:
|
||||
if image_name in key["vars"]["image"]["name"] or image_name == key["vars"]["image"]["name"]:
|
||||
if "docker_image" in key:
|
||||
if image_name in key["docker_image"]["name"]:
|
||||
return f"{task.split(".")[0]}_deploy"
|
||||
|
||||
def main():
|
||||
update_list = requests.get("https://cup.fntz.net/api/v3/json")
|
||||
update_list.raise_for_status()
|
||||
update_list = update_list.json()
|
||||
refs = []
|
||||
|
||||
deployable_tags = []
|
||||
with open("main.yml", 'r') as file:
|
||||
data = yaml.safe_load(file)
|
||||
for host in data:
|
||||
for task in host['tasks']:
|
||||
deployable_tags.append(task['tags'])
|
||||
|
||||
if len(update_list["images"]) <= 0:
|
||||
print("No images to update!")
|
||||
else:
|
||||
print(f"Updating {update_list["metrics"]["updates_available"]} image(s)..\n")
|
||||
|
||||
for image in update_list["images"]:
|
||||
reference = image["reference"]
|
||||
if image['result']['has_update']:
|
||||
if "remote_digest" in image["result"]["info"]:
|
||||
image_name = image["parts"]["repository"]
|
||||
ansible_tag = search_for_image(image_name)
|
||||
|
||||
# don't attempt to update if unable
|
||||
if not image["in_use"]:
|
||||
continue
|
||||
if ":latest" not in reference:
|
||||
continue
|
||||
if image["result"] and not image["result"]["has_update"]:
|
||||
continue
|
||||
if ansible_tag and ansible_tag in deployable_tags:
|
||||
print(f"Updating '{image_name}' ({ansible_tag})..")
|
||||
subprocess.run(f'docker image pull {image_name}', shell=True)
|
||||
subprocess.run(f'ANSIBLE_CONFIG=ansible.cfg ansible-playbook main.yml --tags {ansible_tag} --vault-password-file=~/.vault_pass.txt', shell=True)
|
||||
|
||||
refs.append(reference)
|
||||
|
||||
print("attempting to match images to references: " + ", ".join(refs))
|
||||
for reference in refs:
|
||||
tag = search_for_image(reference)
|
||||
if tag:
|
||||
deployable_tags.append(tag)
|
||||
else:
|
||||
print("Could not find suitable container for " + reference)
|
||||
|
||||
if len(deployable_tags) > 0:
|
||||
print(f"Found {len(deployable_tags)}, deploying..")
|
||||
tag_string = ",".join(deployable_tags)
|
||||
subprocess.run(f'ANSIBLE_CONFIG=ansible.cfg ansible-playbook main.yml --tags {tag_string} -l bear --vault-password-file=~/.vault_pass.txt', shell=True)
|
||||
|
||||
print("Attempting to clean up dangling/unassumed images")
|
||||
subprocess.run(f"docker image prune -af", shell=True)
|
||||
|
||||
print("Redeployed all images, refreshing Cup")
|
||||
print("\nAll images updated, refreshing Cup")
|
||||
requests.get("https://cup.fntz.net/api/v3/refresh")
|
||||
|
||||
if DISCORD_WEBHOOK_URL:
|
||||
print("sending discord notification..")
|
||||
body = {
|
||||
"username": "Homelab Updates",
|
||||
"embeds": [
|
||||
{
|
||||
"title": "Updated containers automatically!",
|
||||
"description": f"Automatically redeployed containers recognized to need updates via Cup\n```{", ".join(deployable_tags)}```"
|
||||
}
|
||||
]
|
||||
}
|
||||
headers = {
|
||||
"content-type": "application/json"
|
||||
}
|
||||
requests.post(DISCORD_WEBHOOK_URL, json=body, headers=headers)
|
||||
else:
|
||||
print("All up to date! :)")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
- "{{ data_dir }}/api/db"
|
||||
image:
|
||||
name: postgres
|
||||
tag: "17"
|
||||
tag: latest
|
||||
networks:
|
||||
- name: api
|
||||
volumes:
|
||||
@@ -19,6 +19,18 @@
|
||||
POSTGRES_PASSWORD: "{{ API_POSTGRES_PASSWORD }}"
|
||||
PGDATA: "/var/lib/postgresql/data/pgdata"
|
||||
|
||||
- name: Deploy API Redis
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: api_redis
|
||||
network_name: api
|
||||
image:
|
||||
name: redis
|
||||
tag: latest
|
||||
networks:
|
||||
- name: api
|
||||
|
||||
- name: Deploy API
|
||||
include_role:
|
||||
name: docker
|
||||
@@ -28,23 +40,24 @@
|
||||
networks:
|
||||
- name: api
|
||||
- name: "{{ docker_network_name }}"
|
||||
build:
|
||||
git:
|
||||
repo: git@git.alexav.gg:alex/api.git
|
||||
dest: "{{ data_dir }}/api/app"
|
||||
image:
|
||||
name: git.alexav.gg/alex/api
|
||||
name: api
|
||||
tag: latest
|
||||
env:
|
||||
NODE_ENV: "production"
|
||||
VERSION: "v4"
|
||||
REDIS_URL: "redis://redis:6379"
|
||||
REDIS_URL: "redis://api_redis:6379"
|
||||
ADMIN_KEY: "{{ API_ADMIN_KEY }}"
|
||||
ADMIN_BYPASS_KEY: "{{ API_ADMIN_KEY }}"
|
||||
DATABASE_URL: "{{ API_DATABASE_URL }}"
|
||||
LASTFM_API_KEY: "{{ API_LASTFM_API_KEY }}"
|
||||
STEAM_API_KEY: "{{ API_STEAM_API_KEY }}"
|
||||
CONTACT_WEBHOOK: "{{ API_CONTACT_WEBHOOK }}"
|
||||
JWT_KEY: "{{ API_JWT_KEY }}"
|
||||
DISCORD_PUBLIC_KEY: "{{ API_DISCORD_PUBLIC_KEY }}"
|
||||
DISCORD_APP_ID: "{{ API_DISCORD_APP_ID }}"
|
||||
DISCORD_BOT_TOKEN: "{{ API_DISCORD_BOT_TOKEN }}"
|
||||
TMDB_API_KEY: "{{ API_TMDB_TOKEN }}"
|
||||
STORAGE_KEY: "{{ API_STORAGE_KEY }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.aapi.rule: Host(`api.alexav.gg`)
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
- name: Deploy Tinyauth
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: tinyauth
|
||||
image:
|
||||
name: ghcr.io/steveiliop56/tinyauth
|
||||
tag: v5
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
env:
|
||||
TINYAUTH_AUTH_USERS: "{{ TINYAUTH_USERS }}"
|
||||
TINYAUTH_APPURL: "{{ TINYAUTH_APP_URL }}"
|
||||
TINYAUTH_OAUTH_PROVIDERS_POCKETID_CLIENTID: "{{ TINYAUTH_GENERIC_CLIENT_ID }}"
|
||||
TINYAUTH_OAUTH_PROVIDERS_POCKETID_CLIENTSECRET: "{{ TINYAUTH_GENERIC_CLIENT_SECRET }}"
|
||||
TINYAUTH_OAUTH_PROVIDERS_POCKETID_AUTHURL: "{{ TINYAUTH_GENERIC_AUTH_URL }}"
|
||||
TINYAUTH_OAUTH_PROVIDERS_POCKETID_TOKENURL: "{{ TINYAUTH_GENERIC_TOKEN_URL }}"
|
||||
TINYAUTH_OAUTH_PROVIDERS_POCKETID_USERINFOURL: "{{ TINYAUTH_GENERIC_USER_URL }}"
|
||||
TINYAUTH_OAUTH_PROVIDERS_POCKETID_SCOPES: "{{ TINYAUTH_GENERIC_SCOPES }}"
|
||||
TINYAUTH_OAUTH_PROVIDERS_POCKETID_NAME: "{{ TINYAUTH_GENERIC_NAME }}"
|
||||
TINYAUTH_OAUTH_PROVIDERS_POCKETID_REDIRECTURL: "{{ TINYAUTH_REDIRECT_URL }}"
|
||||
TINYAUTH_OAUTH_WHITELIST: "{{ TINYAUTH_OAUTH_WHITELIST }}"
|
||||
TINYAUTH_UI_TITLE: "{{ TINYAUTH_APP_TITLE }}"
|
||||
TINYAUTH_UI_BACKGROUNDIMAGE: "{{ TINYAUTH_BACKGROUND_IMAGE }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.tinyauth.rule: Host(`{{ TINYAUTH_HOSTNAME }}`)
|
||||
traefik.http.routers.tinyauth.entrypoints: webSecure
|
||||
traefik.http.routers.tinyauth.tls.certresolver: letsencrypt
|
||||
traefik.http.middlewares.tinyauth.forwardauth.address: http://tinyauth:3000/api/auth/traefik
|
||||
@@ -1,27 +1,14 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/cup"
|
||||
|
||||
- name: Create Cup Config
|
||||
template:
|
||||
src: templates/cup/cup.json.j2
|
||||
dest: "{{ data_dir }}/cup/cup.json"
|
||||
|
||||
- name: Deploy Cup
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: cup
|
||||
command: -c /config/cup.json serve
|
||||
command: serve
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
- "{{ data_dir }}/cup/cup.json:/config/cup.json"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.cup.rule: Host(`cup.fntz.net`)
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
- name: Deploy Dashdot
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: dashdot
|
||||
image:
|
||||
name: mauricenino/dashdot
|
||||
tag: latest
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "/:/mnt/host:ro"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.dash.rule: Host(`stats.fntz.net`)
|
||||
traefik.http.routers.dash.entrypoints: webSecure
|
||||
traefik.http.routers.dash.tls.certresolver: letsencrypt
|
||||
traefik.http.services.dash.loadbalancer.server.port: "3001"
|
||||
@@ -5,7 +5,7 @@
|
||||
vars:
|
||||
name: dozzle
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
- name: homelab
|
||||
image:
|
||||
name: amir20/dozzle
|
||||
tag: latest
|
||||
@@ -16,7 +16,7 @@
|
||||
DOZZLE_ENABLE_SHELL: "{{ DOZZLE_SHELL }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.dz.rule: Host(`{{ DOZZLE_URL }}`)
|
||||
traefik.http.routers.dz.rule: Host(`logs.fntz.net`)
|
||||
traefik.http.routers.dz.entrypoints: webSecure
|
||||
traefik.http.routers.dz.tls.certresolver: letsencrypt
|
||||
traefik.http.services.dz.loadbalancer.server.port: "8080"
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/drop"
|
||||
- "{{ data_dir }}/drop/db"
|
||||
- "{{ data_dir }}/drop/app"
|
||||
|
||||
- name: Create Drop Network
|
||||
docker_network:
|
||||
name: drop
|
||||
|
||||
- name: Pull latest Drop Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/drop-oss/drop
|
||||
tag: v0.3.3
|
||||
source: pull
|
||||
|
||||
- name: Create Drop DB Container
|
||||
docker_container:
|
||||
name: drop_postgres
|
||||
image: postgres:14-alpine
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
networks:
|
||||
- name: drop
|
||||
healthcheck:
|
||||
test: pg_isready -d drop -U drop
|
||||
retries: 5
|
||||
start_period: 10s
|
||||
interval: 30s
|
||||
timeout: 60s
|
||||
volumes:
|
||||
- "{{ data_dir }}/drop/db:/var/lib/postgresql/data"
|
||||
env:
|
||||
POSTGRES_PASSWORD: "drop"
|
||||
POSTGRES_USER: "drop"
|
||||
POSTGRES_DB: "drop"
|
||||
|
||||
- name: Create Drop Container
|
||||
docker_container:
|
||||
name: drop
|
||||
image: ghcr.io/drop-oss/drop:latest
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
networks:
|
||||
- name: homelab
|
||||
- name: drop
|
||||
volumes:
|
||||
- "{{ media_path }}/Games/Desktop:/library"
|
||||
- "{{ data_dir }}/drop/app:/data"
|
||||
env:
|
||||
DATABASE_URL: "postgres://drop:drop@drop_postgres:5432/drop"
|
||||
GIANT_BOMB_API_KEY: "{{ DROP_GIANT_BOMB_API_KEY }}"
|
||||
EXTERNAL_URL: "https://games.fntz.net"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.drop.rule: Host(`games.fntz.net`)
|
||||
traefik.http.routers.drop.entrypoints: webSecure
|
||||
traefik.http.routers.drop.tls.certresolver: letsencrypt
|
||||
traefik.http.services.drop.loadbalancer.server.port: "3000"
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/ersatz"
|
||||
|
||||
- name: Pull latest Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/ersatztv/ersatztv
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Docker Container
|
||||
docker_container:
|
||||
name: ersatztv
|
||||
image: ghcr.io/ersatztv/ersatztv:latest
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
devices:
|
||||
- /dev/dri/renderD128:/dev/dri/renderD128
|
||||
mounts:
|
||||
- type: tmpfs
|
||||
target: /transcode
|
||||
tmpfs_size: 5G
|
||||
volumes:
|
||||
- "{{ data_dir }}/ersatz:/config"
|
||||
- "{{ media_path }}:{{ media_path }}:ro"
|
||||
published_ports:
|
||||
- "8409:8409"
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
- name: Deploy Excalidraw
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: excalidraw
|
||||
image:
|
||||
name: excalidraw/excalidraw
|
||||
tag: latest
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.draw.rule: Host(`draw.fntz.net`)
|
||||
traefik.http.routers.draw.entrypoints: webSecure
|
||||
traefik.http.routers.draw.tls.certresolver: letsencrypt
|
||||
traefik.http.services.draw.loadbalancer.server.port: "80"
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/frigate"
|
||||
|
||||
- name: Pull latest Frigate Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/blakeblackshear/frigate
|
||||
tag: stable
|
||||
source: pull
|
||||
|
||||
- name: Deploy Frigate Docker Container
|
||||
docker_container:
|
||||
name: frigate
|
||||
image: ghcr.io/blakeblackshear/frigate:stable
|
||||
recreate: true
|
||||
privileged: true
|
||||
restart_policy: unless-stopped
|
||||
published_ports:
|
||||
- "5000:5000"
|
||||
- "8555:8555/tcp"
|
||||
- "8555:8555/udp"
|
||||
- "8554:8554"
|
||||
devices:
|
||||
- /dev/dri/renderD128:/dev/dri/renderD128
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- "{{ data_dir }}/frigate:/config"
|
||||
- "{{ FRIGATE_RECORDINGS_PATH }}:/media/frigate"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.frigate.rule: Host(`nvr.fntz.net`)
|
||||
traefik.http.routers.frigate.entrypoints: webSecure
|
||||
traefik.http.routers.frigate.tls.certresolver: letsencrypt
|
||||
traefik.http.services.frigate.loadbalancer.server.port: "5000"
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
- name: Deploy Floof
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: floofs_adventure
|
||||
directories:
|
||||
- "{{ data_dir }}/floof"
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
build:
|
||||
git:
|
||||
repo: git@git.alexav.gg:alex/floofs-adventure.git
|
||||
dest: "{{ data_dir }}/floof"
|
||||
image:
|
||||
name: floofs-adventure
|
||||
tag: latest
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.floof.rule: Host(`floof.alexav.gg`)
|
||||
traefik.http.routers.floof.entrypoints: webSecure
|
||||
traefik.http.routers.floof.tls.certresolver: letsencrypt
|
||||
traefik.http.services.floof.loadbalancer.server.port: "3001"
|
||||
@@ -1,41 +0,0 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/pelican"
|
||||
|
||||
- name: Create Pelican Caddyfile
|
||||
template:
|
||||
src: templates/pelican/Caddyfile
|
||||
dest: "{{ data_dir }}/pelican/Caddyfile"
|
||||
|
||||
- name: Deploy Pelican Panel
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: Pelican
|
||||
image:
|
||||
name: ghcr.io/pelican-dev/panel
|
||||
tag: latest
|
||||
volumes:
|
||||
- "pelican-data:/pelican-data"
|
||||
- "pelican-logs:/var/www/html/storage/logs"
|
||||
- "{{ data_dir }}/pelican/Caddyfile:/etc/caddy/Caddyfile"
|
||||
etc_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
env:
|
||||
XDG_DATA_HOME: /pelican-data
|
||||
TRUSTED_PROXIES: "172.18.0.0/16"
|
||||
APP_URL: "https://{{ PELICAN_APP_URL }}"
|
||||
ADMIN_EMAIL: "{{ PELICAN_EMAIL }}"
|
||||
BEHIND_PROXY: "true"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.pelican.rule: Host(`{{ PELICAN_APP_URL }}`)
|
||||
traefik.http.routers.pelican.entrypoints: webSecure
|
||||
traefik.http.routers.pelican.tls.certresolver: letsencrypt
|
||||
traefik.http.services.pelican.loadbalancer.server.port: "80"
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
- name: Deploy Romm
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: romm
|
||||
directories:
|
||||
- "{{ data_dir }}/romm"
|
||||
- "{{ data_dir }}/romm/igdb"
|
||||
- "{{ data_dir }}/romm/assets"
|
||||
- "{{ data_dir }}/romm/config"
|
||||
networks:
|
||||
- name: homelab
|
||||
image:
|
||||
name: rommapp/romm
|
||||
tag: latest
|
||||
volumes:
|
||||
- "{{ data_dir }}/romm/igdb:/romm/resources"
|
||||
- "{{ data_dir }}/romm/redis:/redis-data"
|
||||
- "{{ data_dir }}/romm/assets:/romm/assets"
|
||||
- "{{ data_dir }}/romm/config:/romm/config"
|
||||
- "{{ ROMM_LIBRARY_PATH }}:/romm/library"
|
||||
env:
|
||||
DB_HOST: mariadb
|
||||
DB_NAME: romm
|
||||
DB_USER: rommuser
|
||||
DB_PASSWD: romm
|
||||
ROMM_AUTH_SECRET_KEY: "{{ ROMM_AUTH_SECRET_KEY }}"
|
||||
IGDB_CLIENT_ID: "{{ ROMM_IGDB_CLIENT_ID }}"
|
||||
IGDB_CLIENT_SECRET: "{{ ROMM_IGDB_CLIENT_SECRET }}"
|
||||
OIDC_ENABLED: "{{ ROMM_OIDC_ENABLED }}"
|
||||
OIDC_PROVIDER: "{{ ROMM_OIDC_PROVIDER }}"
|
||||
OIDC_CLIENT_ID: "{{ ROMM_OIDC_CLIENT_ID }}"
|
||||
OIDC_CLIENT_SECRET: "{{ ROMM_OIDC_CLIENT_SECRET }}"
|
||||
OIDC_REDIRECT_URI: "{{ ROMM_OIDC_REDIRECT_URL }}"
|
||||
OIDC_CLAIM_ROLES: "{{ ROMM_OIDC_CLAIM_ROLES }}"
|
||||
OIDC_SERVER_APPLICATION_URL: "{{ ROMM_SERVER_APPLICATION_URL }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.emu.rule: Host(`emu.fntz.net`)
|
||||
traefik.http.routers.emu.entrypoints: webSecure
|
||||
traefik.http.routers.emu.tls.certresolver: letsencrypt
|
||||
traefik.http.services.emu.loadbalancer.server.port: "8080"
|
||||
@@ -1,14 +1,23 @@
|
||||
---
|
||||
- name: Deploy Gitea
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: gitea
|
||||
directories:
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/gitea"
|
||||
image:
|
||||
|
||||
- name: Pull latest Gitea Docker Image
|
||||
docker_image:
|
||||
name: docker.gitea.com/gitea
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Gitea Docker Container
|
||||
docker_container:
|
||||
name: gitea
|
||||
image: docker.gitea.com/gitea:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
@@ -17,7 +26,6 @@
|
||||
published_ports:
|
||||
- "2222:22"
|
||||
env:
|
||||
TZ: "{{ TZ }}"
|
||||
USER_UID: "1000"
|
||||
USER_GID: "1000"
|
||||
labels:
|
||||
@@ -14,13 +14,10 @@
|
||||
networks:
|
||||
- name: homelab
|
||||
env:
|
||||
ADGUARD_USERNAME: "{{ GLANCE_ADGUARD_USERNAME }}"
|
||||
ADGUARD_PASSWORD: "{{ GLANCE_ADGUARD_PASSWORD }}"
|
||||
PIHOLE_TOKEN: "{{ GLANCE_PIHOLE_TOKEN }}"
|
||||
VIDEO_MACHINE: "{{ GLANCE_VIDEO_MACHINE }}"
|
||||
STEAM_API_KEY: "{{ GLANCE_STEAM_API_KEY }}"
|
||||
NOW_PLAYING_VAL: "{{ GLANCE_NOW_PLAYING_VAL }}"
|
||||
IMMICH_KEY: "{{ GLANCE_IMMICH_API_KEY }}"
|
||||
AUDIOBOOKSHELF_KEY: "{{ GLANCE_AUDIOBOOKSHELF_KEY }}"
|
||||
JELLYFIN_URL: "{{ GLANCE_JELLYFIN_URL }}"
|
||||
JELLYFIN_TOKEN: "{{ GLANCE_JELLYFIN_TOKEN }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/glance/config:/app/config"
|
||||
- "{{ data_dir }}/glance/assets:/app/assets"
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/gluetun"
|
||||
|
||||
- name: Pull latest Gluetun Docker Image
|
||||
docker_image:
|
||||
name: qmcgaw/gluetun
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Deploy Gluetun Docker Container
|
||||
docker_container:
|
||||
name: gluetun
|
||||
image: qmcgaw/gluetun
|
||||
recreate: true
|
||||
capabilities:
|
||||
- NET_ADMIN
|
||||
devices:
|
||||
- /dev/net/tun:/dev/net/tun
|
||||
volumes:
|
||||
- "{{ data_dir }}/gluetun:/gluetun"
|
||||
networks:
|
||||
- name: homelab
|
||||
published_ports:
|
||||
- 8888:8888/tcp
|
||||
- 8388:8388/tcp
|
||||
- 8388:8388/udp
|
||||
env:
|
||||
VPN_SERVICE_PROVIDER: "{{ GLUETUN_VPN_SERVICE_PROVIDER }}"
|
||||
VPN_TYPE: "wireguard"
|
||||
WIREGUARD_PRIVATE_KEY: "{{ GLUETUN_WIREGUARD_PRIVATE_KEY }}"
|
||||
WIREGUARD_ADDRESSES: "{{ GLUETUN_WIREGUARD_ADDRESSES }}"
|
||||
SERVER_COUNTRIES: "{{ GLUETUN_SERVER_COUNTRIES }}"
|
||||
SERVER_CITIES: "{{ GLUETUN_SERVER_CITIES }}"
|
||||
SERVER_HOSTNAMES: "{{ GLUETUN_SERVER_HOSTNAMES }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
|
||||
traefik.http.routers.qbit.rule: Host(`qbit.fntz.net`)
|
||||
traefik.http.routers.qbit.service: qbit
|
||||
traefik.http.routers.qbit.entrypoints: webSecure
|
||||
traefik.http.routers.qbit.tls.certresolver: letsencrypt
|
||||
traefik.http.services.qbit.loadbalancer.server.port: "8090"
|
||||
|
||||
traefik.http.routers.jackett.rule: Host(`jackett.fntz.net`)
|
||||
traefik.http.routers.jackett.service: jackett
|
||||
traefik.http.routers.jackett.entrypoints: webSecure
|
||||
traefik.http.routers.jackett.tls.certresolver: letsencrypt
|
||||
traefik.http.services.jackett.loadbalancer.server.port: "9117"
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/homeassistant"
|
||||
|
||||
- name: Pull HA Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/home-assistant/home-assistant:stable
|
||||
source: pull
|
||||
|
||||
- name: Deploy Home Assistant Container
|
||||
docker_container:
|
||||
name: home_assistant
|
||||
image: ghcr.io/home-assistant/home-assistant:stable
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
network_mode: host
|
||||
privileged: true
|
||||
volumes:
|
||||
- "{{ data_dir }}/homeassistant:/config"
|
||||
- "/etc/localtime:/etc/localtime"
|
||||
- "/run/dbus:/run/dbus:ro"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.ha.rule: Host(`ha.fntz.net`)
|
||||
traefik.http.routers.ha.entrypoints: webSecure
|
||||
traefik.http.routers.ha.tls.certresolver: letsencrypt
|
||||
traefik.http.services.ha.loadbalancer.server.url: "http://{{ TRAEFIK_HOST_IP }}:8123"
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
- name: Create Folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/homebridge"
|
||||
|
||||
- name: Pull latest Homebridge Docker Image
|
||||
docker_image:
|
||||
name: homebridge/homebridge
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Homebridge Docker Container
|
||||
docker_container:
|
||||
name: homebridge
|
||||
image: homebridge/homebridge:latest
|
||||
restart_policy: unless-stopped
|
||||
network_mode: host
|
||||
recreate: true
|
||||
volumes:
|
||||
- "{{ data_dir }}/homebridge:/homebridge"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.bridge.rule: Host(`bridge.fntz.net`)
|
||||
traefik.http.routers.bridge.entrypoints: webSecure
|
||||
traefik.http.routers.bridge.tls.certresolver: letsencrypt
|
||||
traefik.http.services.bridge.loadbalancer.server.url: "http://{{ TRAEFIK_HOST_IP }}:8581"
|
||||
traefik.http.routers.bridge.middlewares: tinyauth
|
||||
@@ -1,16 +1,34 @@
|
||||
---
|
||||
- name: Deploy Immich DB
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: immich_postgres
|
||||
directories:
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/immich"
|
||||
- "{{ data_dir }}/immich/model-cache"
|
||||
- "{{ data_dir }}/immich/db"
|
||||
image:
|
||||
name: ghcr.io/immich-app/postgres
|
||||
tag: 14-vectorchord0.4.3-pgvectors0.2.0
|
||||
|
||||
- name: Pull latest Immich Server Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/immich-app/immich-server
|
||||
tag: v2.1.0
|
||||
source: pull
|
||||
|
||||
- name: Create Immich Redis Docker Container
|
||||
docker_container:
|
||||
name: immich_redis
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: immich
|
||||
|
||||
- name: Create Immich DB Docker Container
|
||||
docker_container:
|
||||
name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
volumes:
|
||||
- "{{ data_dir }}/immich/db:/var/lib/postgresql/data"
|
||||
env:
|
||||
@@ -20,25 +38,13 @@
|
||||
POSTGRES_INITDB_ARGS: "--data-checksums"
|
||||
networks:
|
||||
- name: immich
|
||||
network_name: immich
|
||||
- name: Deploy Immich Redis
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: immich_redis
|
||||
image:
|
||||
name: docker.io/valkey/valkey
|
||||
tag: 8-bookworm
|
||||
networks:
|
||||
- name: immich
|
||||
- name: Deploy Immich Server
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: immich
|
||||
image:
|
||||
name: ghcr.io/immich-app/immich-server
|
||||
tag: v2.7.5
|
||||
|
||||
- name: Create Immich Server Docker Container
|
||||
docker_container:
|
||||
name: immich_server
|
||||
image: ghcr.io/immich-app/immich-server:v2.1.0
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
- name: immich
|
||||
@@ -46,8 +52,6 @@
|
||||
- "{{ IMMICH_UPLOAD_LOCATION }}:/usr/src/app/upload"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
DB_HOSTNAME: "immich_postgres"
|
||||
REDIS_HOSTNAME: "immich_redis"
|
||||
DB_PASSWORD: "{{ IMMICH_DB_PASSWORD }}"
|
||||
@@ -1,52 +0,0 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/garage"
|
||||
- "{{ data_dir }}/garage/meta"
|
||||
- "{{ data_dir }}/garage/data"
|
||||
|
||||
- name: Create Garage Configuration
|
||||
template:
|
||||
src: templates/garage/garage.toml.j2
|
||||
dest: "{{ data_dir }}/garage/garage.toml"
|
||||
|
||||
- name: Deploy Garage S3
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: garage
|
||||
image:
|
||||
name: dxflrs/garage
|
||||
tag: v2.3.0
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/garage/garage.toml:/etc/garage.toml"
|
||||
- "{{ data_dir }}/garage/meta:/var/lib/garage/meta"
|
||||
- "{{ data_dir }}/garage/data:/var/lib/garage/data"
|
||||
env:
|
||||
GARAGE_DEFAULT_ACCESS_KEY: "{{ GARAGE_DEFAULT_ACCESS_KEY }}"
|
||||
GARAGE_DEFAULT_SECRET_KEY: "{{ GARAGE_DEFAULT_SECRET_KEY }}"
|
||||
GARAGE_DEFAULT_BUCKET: "{{ GARAGE_DEFAULT_BUCKET }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.s3.rule: Host(`s3.citadel.fntz.net`)
|
||||
traefik.http.routers.s3.entrypoints: webSecure
|
||||
traefik.http.routers.s3.tls.certresolver: letsencrypt
|
||||
traefik.http.routers.s3.service: s3
|
||||
traefik.http.services.s3.loadbalancer.server.port: "3900"
|
||||
|
||||
traefik.http.routers.s3-web.rule: Host(`s3-web.citadel.fntz.net`)
|
||||
traefik.http.routers.s3-web.entrypoints: webSecure
|
||||
traefik.http.routers.s3-web.tls.certresolver: letsencrypt
|
||||
traefik.http.routers.s3-web.service: s3-web
|
||||
traefik.http.services.s3-web.loadbalancer.server.port: "3902"
|
||||
|
||||
traefik.http.routers.s3-admin.rule: Host(`s3-admin.citadel.fntz.net`)
|
||||
traefik.http.routers.s3-admin.entrypoints: webSecure
|
||||
traefik.http.routers.s3-admin.tls.certresolver: letsencrypt
|
||||
traefik.http.routers.s3-admin.service: s3-admin
|
||||
traefik.http.services.s3-admin.loadbalancer.server.port: "3903"
|
||||
@@ -1,41 +0,0 @@
|
||||
---
|
||||
- name: Deploy MariaDB Database
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: mariadb
|
||||
directories:
|
||||
- "{{ data_dir }}/db"
|
||||
- "{{ data_dir }}/db/import"
|
||||
image:
|
||||
name: mariadb
|
||||
tag: latest
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/db:/var/lib/mysql"
|
||||
- "{{ data_dir }}/db/etc:/etc/mysql"
|
||||
- "{{ data_dir }}/db/import:/mnt/import"
|
||||
env:
|
||||
MARIADB_USER: "{{ MARIADB_DB_USER }}"
|
||||
MARIADB_ROOT_PASSWORD: "{{ MARIADB_DB_PASSWORD }}"
|
||||
|
||||
- name: Deploy PHPMyAdmin
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: phpmyadmin
|
||||
image:
|
||||
name: phpmyadmin
|
||||
tag: latest
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
env:
|
||||
PMA_HOST: "{{ MARIADB_PMA_HOST }}"
|
||||
PMA_PORT: "{{ MARIADB_PMA_PORT }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.pma.rule: Host(`{{ MARIADB_PMA_URL }}`)
|
||||
traefik.http.routers.pma.entrypoints: webSecure
|
||||
traefik.http.routers.pma.tls.certresolver: letsencrypt
|
||||
traefik.http.services.pma.loadbalancer.server.port: "80"
|
||||
@@ -1,21 +0,0 @@
|
||||
---
|
||||
- name: Deploy Postgres
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: postgres
|
||||
image:
|
||||
name: postgres
|
||||
tag: 18-alpine
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
directories:
|
||||
- "{{ data_dir }}/postgres"
|
||||
- "{{ data_dir }}/postgres/data"
|
||||
- "{{ data_dir }}/postgres/import"
|
||||
volumes:
|
||||
- "{{ data_dir }}/postgres/data:/var/lib/postgresql/18/docker"
|
||||
- "{{ data_dir }}/postgres/import:/mnt/import"
|
||||
env:
|
||||
POSTGRES_USER: "{{ POSTGRES_USER }}"
|
||||
POSTGRES_PASSWORD: "{{ POSTGRES_PASSWORD }}"
|
||||
@@ -1,11 +0,0 @@
|
||||
---
|
||||
- name: Deploy Redis
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: redis
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
image:
|
||||
name: redis
|
||||
tag: latest
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
- name: Create Gitea Runner Configuration
|
||||
template:
|
||||
src: templates/runner/gitea-runner.yaml.j2
|
||||
dest: "{{ data_dir }}/gitea/config.yaml"
|
||||
|
||||
- name: Deploy Gitea Runner
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: gitea-runner
|
||||
directories:
|
||||
- "{{ data_dir }}/gitea"
|
||||
image:
|
||||
name: docker.io/gitea/act_runner
|
||||
tag: nightly
|
||||
network_mode: host
|
||||
volumes:
|
||||
- "{{ data_dir }}/gitea/config.yaml:/config.yaml"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
env:
|
||||
CONFIG_FILE: "/config.yaml"
|
||||
GITEA_INSTANCE_URL: "{{ GITEA_INSTANCE_URL }}"
|
||||
GITEA_RUNNER_REGISTRATION_TOKEN: "{{ GITEA_RUNNER_REGISTRATION_TOKEN }}"
|
||||
GITEA_RUNNER_NAME: "runner"
|
||||
GITEA_RUNNER_LABELS: "runner:host"
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/jackett"
|
||||
|
||||
- name: Pull latest Jackett Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/jackett
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Deploy Jackett Docker Container
|
||||
docker_container:
|
||||
name: jackett
|
||||
image: lscr.io/linuxserver/jackett
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
network_mode: "container:gluetun"
|
||||
volumes:
|
||||
- "{{ data_dir }}/jackett:/config"
|
||||
- "{{ media_path}}/Downloads:/downloads"
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/jellyfin"
|
||||
|
||||
- name: Pull latest Jellyfin Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/jellyfin
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Jellyfin Docker Container
|
||||
docker_container:
|
||||
name: jellyfin
|
||||
image: lscr.io/linuxserver/jellyfin:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
published_ports:
|
||||
- 8096:8096
|
||||
volumes:
|
||||
- "{{ data_dir }}/jellyfin:/config"
|
||||
- "{{ JELLYFIN_TV_PATH }}:/data/tvshows"
|
||||
- "{{ JELLYFIN_MOVIE_PATH }}:/data/movies"
|
||||
- "{{ JELLYFIN_MUSIC_PATH }}:/data/music"
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.jf.rule: Host(`jf.fntz.net`)
|
||||
traefik.http.routers.jf.entrypoints: webSecure
|
||||
traefik.http.routers.jf.tls.certresolver: letsencrypt
|
||||
traefik.http.services.jf.loadbalancer.server.port: "8096"
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/kavita"
|
||||
|
||||
- name: Pull latest Kavita Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/kavita
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Deploy Kavita Docker Container
|
||||
docker_container:
|
||||
name: kavita
|
||||
image: lscr.io/linuxserver/kavita
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
volumes:
|
||||
- "{{ data_dir }}/kavita:/config"
|
||||
- "{{ media_path }}/Books:/books"
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.read.rule: Host(`read.fntz.net`)
|
||||
traefik.http.routers.read.entrypoints: webSecure
|
||||
traefik.http.routers.read.tls.certresolver: letsencrypt
|
||||
traefik.http.services.read.loadbalancer.server.port: "5000"
|
||||
@@ -1,40 +0,0 @@
|
||||
---
|
||||
- name: Deploy AudioBookshelf
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: audiobookshelf_abs
|
||||
network_name: "abs"
|
||||
directories:
|
||||
- "{{ data_dir }}/audiobookshelf"
|
||||
- "{{ data_dir }}/audiobookshelf/config"
|
||||
- "{{ data_dir }}/audiobookshelf/metadata"
|
||||
image:
|
||||
name: ghcr.io/advplyr/audiobookshelf
|
||||
tag: latest
|
||||
networks:
|
||||
- name: homelab
|
||||
- name: abs
|
||||
volumes:
|
||||
- "{{ media_path }}/Books/Audiobooks:/audiobooks"
|
||||
- "{{ data_dir }}/audiobookshelf/config:/config"
|
||||
- "{{ data_dir }}/audiobookshelf/metadata:/metadata"
|
||||
env:
|
||||
TZ: "{{ TZ }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.audiobookshelf.rule: Host(`abooks.fntz.net`)
|
||||
traefik.http.routers.audiobookshelf.entrypoints: webSecure
|
||||
traefik.http.routers.audiobookshelf.tls.certresolver: letsencrypt
|
||||
traefik.http.services.audiobookshelf.loadbalancer.server.port: "80"
|
||||
|
||||
- name: Deploy abs-tract
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: audiobookshelf_abs-tract
|
||||
image:
|
||||
name: arranhs/abs-tract
|
||||
tag: latest
|
||||
networks:
|
||||
- name: "abs"
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
- name: Deploy Ersatz
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: ersatztv
|
||||
directories:
|
||||
- "{{ data_dir }}/ersatz"
|
||||
image:
|
||||
name: ghcr.io/ersatztv/ersatztv
|
||||
tag: latest
|
||||
networks:
|
||||
- name: homelab
|
||||
published_ports:
|
||||
- "8409:8409"
|
||||
volumes:
|
||||
- "{{ data_dir }}/ersatz:/config"
|
||||
- "{{ media_path }}:/media"
|
||||
devices:
|
||||
- /dev/dri:/dev/dri
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.iptv.rule: Host(`iptv.fntz.net`)
|
||||
traefik.http.routers.iptv.entrypoints: webSecure
|
||||
traefik.http.routers.iptv.tls.certresolver: letsencrypt
|
||||
traefik.http.services.iptv.loadbalancer.server.port: "8409"
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
- name: Deploy Frigate
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: frigate
|
||||
directories:
|
||||
- "{{ data_dir }}/frigate"
|
||||
image:
|
||||
name: ghcr.io/blakeblackshear/frigate
|
||||
tag: stable
|
||||
privileged: true
|
||||
devices:
|
||||
- /dev/dri
|
||||
- /dev/kfd
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- "{{ data_dir }}/frigate:/config"
|
||||
- "{{ media_path }}/Cameras:/media/frigate"
|
||||
env:
|
||||
LIBVA_DRIVER_NAME: radeonsi
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.frigate.rule: Host(`nvr.fntz.net`)
|
||||
traefik.http.routers.frigate.entrypoints: webSecure
|
||||
traefik.http.routers.frigate.tls.certresolver: letsencrypt
|
||||
traefik.http.services.frigate.loadbalancer.server.port: "5000"
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
- name: Deploy Plex
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: plex
|
||||
image:
|
||||
name: lscr.io/linuxserver/plex
|
||||
tag: latest
|
||||
networks:
|
||||
- name: homelab
|
||||
devices:
|
||||
- /dev/dri:/dev/dri
|
||||
env:
|
||||
PUID: "1000"
|
||||
PGID: "1000"
|
||||
TZ: "{{ TZ }}"
|
||||
VERSION: "docker"
|
||||
PLEX_CLAIM: "{{ PLEX_CLAIM_TOKEN }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/plex:/config"
|
||||
- "{{ media_path }}:/media"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.plex.rule: Host(`tv.fntz.net`)
|
||||
traefik.http.routers.plex.entrypoints: webSecure
|
||||
traefik.http.routers.plex.tls.certresolver: letsencrypt
|
||||
traefik.http.services.plex.loadbalancer.server.port: "32400"
|
||||
@@ -1,61 +0,0 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/scrobbling"
|
||||
- "{{ data_dir }}/scrobbling/koito"
|
||||
- "{{ data_dir }}/scrobbling/multi-scrobbler"
|
||||
|
||||
- name: Create Scrobbler Configuration
|
||||
template:
|
||||
src: templates/scrobbling/lastfm.json.j2
|
||||
dest: "{{ data_dir }}/scrobbling/multi-scrobbler/lastfm.json"
|
||||
|
||||
- name: Deploy Kotio
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: scrobbling_koito
|
||||
network_name: scrobbling
|
||||
networks:
|
||||
- name: scrobbling
|
||||
- name: homelab
|
||||
image:
|
||||
name: gabehf/koito
|
||||
tag: latest
|
||||
env:
|
||||
KOITO_ALLOWED_HOSTS: koito.fntz.net
|
||||
volumes:
|
||||
- "{{ data_dir }}/scrobbling/koito:/etc/koito"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.kotio.rule: Host(`koito.fntz.net`)
|
||||
traefik.http.routers.kotio.entrypoints: webSecure
|
||||
traefik.http.routers.kotio.tls.certresolver: letsencrypt
|
||||
traefik.http.services.kotio.loadbalancer.server.port: "4110"
|
||||
|
||||
- name: Deploy Multi-Scrobbler
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: scrobbling_multi-scrobbler
|
||||
image:
|
||||
name: ghcr.io/foxxmd/multi-scrobbler
|
||||
tag: latest
|
||||
networks:
|
||||
- name: scrobbling
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "{{ data_dir }}/scrobbling/multi-scrobbler:/config"
|
||||
env:
|
||||
KOITO_TOKEN: "{{ SCROBBLER_KOITO_TOKEN }}"
|
||||
KOITO_USER: "{{ SCROBBLER_KOITO_USER }}"
|
||||
KOITO_URL: "{{ SCROBBLER_KOITO_URL }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.scrobbler.rule: Host(`scrobbler.fntz.net`)
|
||||
traefik.http.routers.scrobbler.entrypoints: webSecure
|
||||
traefik.http.routers.scrobbler.tls.certresolver: letsencrypt
|
||||
traefik.http.services.scrobbler.loadbalancer.server.port: "9078"
|
||||
@@ -1,56 +0,0 @@
|
||||
# need to redeploy
|
||||
---
|
||||
- name: Deploy Radarr
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: servarr_radarr
|
||||
directories:
|
||||
- "{{ data_dir }}/servarr"
|
||||
- "{{ data_dir }}/servarr/sonarr_config"
|
||||
- "{{ data_dir }}/servarr/radarr_config"
|
||||
- "{{ data_dir }}/servarr/lidarr_config"
|
||||
image:
|
||||
name: lscr.io/linuxserver/radarr
|
||||
tag: latest
|
||||
volumes:
|
||||
- "{{ data_dir }}/servarr/radarr_config:/config"
|
||||
- "{{ media_path }}:/media"
|
||||
- "{{ media_path }}/Downloads:/downloads"
|
||||
networks:
|
||||
- name: homelab
|
||||
env:
|
||||
PUID: "1000"
|
||||
PGID: "1000"
|
||||
TZ: "{{ TZ }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.radarr.rule: Host(`radarr.fntz.net`)
|
||||
traefik.http.routers.radarr.entrypoints: webSecure
|
||||
traefik.http.routers.radarr.tls.certresolver: letsencrypt
|
||||
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
||||
|
||||
- name: Deploy Sonarr
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: servarr_sonarr
|
||||
image:
|
||||
name: lscr.io/linuxserver/sonarr
|
||||
tag: latest
|
||||
volumes:
|
||||
- "{{ data_dir }}/servarr/sonarr_config:/config"
|
||||
- "{{ media_path }}:/data"
|
||||
- "{{ media_path }}/Downloads:/downloads"
|
||||
env:
|
||||
PUID: "1000"
|
||||
PGID: "1000"
|
||||
TZ: "{{ TZ }}"
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.sonarr.rule: Host(`sonarr.fntz.net`)
|
||||
traefik.http.routers.sonarr.entrypoints: webSecure
|
||||
traefik.http.routers.sonarr.tls.certresolver: letsencrypt
|
||||
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
- name: Deploy Weatherstar
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: weatherstar
|
||||
image:
|
||||
name: ghcr.io/netbymatt/ws4kp
|
||||
tag: latest
|
||||
networks:
|
||||
- name: homelab
|
||||
env:
|
||||
TZ: "{{ TZ }}"
|
||||
WSQS_latLonQuery: "Batavia, New York, USA"
|
||||
WSQS_hazards_checkbox: "true"
|
||||
WSQS_current_weather_checkbox: "true"
|
||||
WSQS_settings_mediaVolume_select: "0.75"
|
||||
WSQS_settings_scanLineMode_select: "thin"
|
||||
WSQS_settings_mediaPlaying_boolean: "true"
|
||||
WSQS_settings_wide_checkbox: "true"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.weatherstar.rule: Host(`weatherstar.fntz.net`)
|
||||
traefik.http.routers.weatherstar.entrypoints: webSecure
|
||||
traefik.http.routers.weatherstar.tls.certresolver: letsencrypt
|
||||
traefik.http.services.weatherstar.loadbalancer.server.port: "8080"
|
||||
|
||||
- name: Deploy WS4Channels
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: weatherstar_ws4channels
|
||||
image:
|
||||
name: ghcr.io/rice9797/ws4channels
|
||||
tag: latest
|
||||
networks:
|
||||
- name: homelab
|
||||
env:
|
||||
WS4KP_HOST: "weatherstar"
|
||||
WS4KP_PORT: "8080"
|
||||
ZIP_CODE: "14020"
|
||||
published_ports:
|
||||
- "9798:9798"
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/navidrome"
|
||||
|
||||
- name: Pull latest Navidrome Docker Image
|
||||
docker_image:
|
||||
name: deluan/navidrome
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Navidrome Docker Container
|
||||
docker_container:
|
||||
name: navidrome
|
||||
image: deluan/navidrome:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "{{ data_dir }}/navidrome:/data"
|
||||
- "{{ NAVIDROME_MUSIC_PATH }}:/music:ro"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.music.rule: Host(`music.fntz.net`)
|
||||
traefik.http.routers.music.entrypoints: webSecure
|
||||
traefik.http.routers.music.tls.certresolver: letsencrypt
|
||||
traefik.http.services.music.loadbalancer.server.port: "4533"
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/nextcloud"
|
||||
- "{{ data_dir }}/nextcloud/data"
|
||||
- "{{ data_dir }}/nextcloud/db"
|
||||
|
||||
- name: Create Nextcloud Docker Network
|
||||
docker_network:
|
||||
name: nextcloud
|
||||
|
||||
- name: Pull latest Nextcloud Docker Image
|
||||
docker_image:
|
||||
name: nextcloud
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Nextcloud DB Docker Container
|
||||
docker_container:
|
||||
name: nc_postgresql
|
||||
image: postgres:17-alpine
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: nextcloud
|
||||
volumes:
|
||||
- "{{ data_dir }}/nextcloud/db:/var/lib/postgresql/data"
|
||||
env:
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
POSTGRES_PASSWORD: "{{ NEXTCLOUD_POSTGRES_PASSWORD }}"
|
||||
POSTGRES_DATABASE: "{{ NEXTCLOUD_POSTGRES_DATABASE }}"
|
||||
POSTGRES_USER: "{{ NEXTCLOUD_POSTGRES_USER }}"
|
||||
POSTGRES_HOST: "{{ NEXTCLOUD_POSTGRES_HOST }}"
|
||||
|
||||
- name: Create Nextcloud Docker Container
|
||||
docker_container:
|
||||
name: nextcloud
|
||||
image: nextcloud
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
- name: nextcloud
|
||||
volumes:
|
||||
- "{{ data_dir }}/nextcloud/data:/var/www/html"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.nc.rule: Host(`{{ NEXTCLOUD_APP_URL }}`)
|
||||
traefik.http.routers.nc.entrypoints: webSecure
|
||||
traefik.http.routers.nc.tls.certresolver: letsencrypt
|
||||
traefik.http.services.nc.loadbalancer.server.port: "80"
|
||||
@@ -1,25 +1,34 @@
|
||||
---
|
||||
- name: Deploy NZBGet
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: nzbget
|
||||
directories:
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/nzbget"
|
||||
image:
|
||||
|
||||
- name: Pull latest NZBGet Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/nzbget
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create NZBGet Docker Container
|
||||
docker_container:
|
||||
name: nzbget
|
||||
image: lscr.io/linuxserver/nzbget:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "{{ data_dir }}/nzbget:/config"
|
||||
- "{{ media_path }}/Downloads:/downloads"
|
||||
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
|
||||
env:
|
||||
NZBGET_USER: "{{ NZBGET_USER }}"
|
||||
NZBGET_PASS: "{{ NZBGET_PASS }}"
|
||||
TZ: "{{ TZ }}"
|
||||
PUID: "1000"
|
||||
PGID: "1000"
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.nzb.rule: Host(`nzb.fntz.net`)
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/obsidian"
|
||||
- "{{ data_dir }}/obsidian/data"
|
||||
- "{{ data_dir }}/obsidian/etc"
|
||||
|
||||
- name: Pull Docker Image
|
||||
docker_image:
|
||||
name: couchdb
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Docker Container
|
||||
docker_container:
|
||||
name: couchdb
|
||||
image: couchdb:latest
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "{{ data_dir }}/obsidian/data:/opt/couchdb/data"
|
||||
- "{{ data_dir }}/obsidian/etc:/opt/couchdb/etc/local.d"
|
||||
env:
|
||||
COUCHDB_USER: "{{ COUCHDB_USER }}"
|
||||
COUCHDB_PASSWORD: "{{ COUCHDB_PASSWORD }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.couch.rule: Host(`couch.fntz.net`)
|
||||
traefik.http.routers.couch.entrypoints: webSecure
|
||||
traefik.http.routers.couch.tls.certresolver: letsencrypt
|
||||
traefik.http.services.couch.loadbalancer.server.port: "5984"
|
||||
@@ -0,0 +1,93 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/owncloud"
|
||||
- "{{ data_dir }}/owncloud/data"
|
||||
- "{{ data_dir }}/owncloud/db"
|
||||
- "{{ data_dir }}/owncloud/redis"
|
||||
|
||||
- name: Create Owncloud Docker Network
|
||||
docker_network:
|
||||
name: owncloud
|
||||
|
||||
- name: Pull latest Owncloud Docker Image
|
||||
docker_image:
|
||||
name: owncloud/server
|
||||
tag: "10.15"
|
||||
source: pull
|
||||
|
||||
- name: Create Owncloud DB Docker Container
|
||||
docker_container:
|
||||
name: oc_database
|
||||
image: mariadb:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: owncloud
|
||||
volumes:
|
||||
- "{{ data_dir }}/owncloud/db:/var/lib/mysql"
|
||||
env:
|
||||
MYSQL_ROOT_PASSWORD: "{{ OWNCLOUD_DB_PASSWORD }}"
|
||||
MYSQL_DATABASE: "owncloud"
|
||||
MYSQL_USER: "owncloud"
|
||||
MYSQL_PASSWORD: "{{ OWNCLOUD_DB_PASSWORD }}"
|
||||
MARIADB_AUTO_UPGRADE: "1"
|
||||
command: "--max-allowed-packet=128M --innodb-log-file-size=64M"
|
||||
healthcheck:
|
||||
test: "CMD mysqladmin ping -u root --password={{ OWNCLOUD_DB_PASSWORD }}"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
- name: Create Owncloud Redis Container
|
||||
docker_container:
|
||||
name: oc_redis
|
||||
image: redis:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: owncloud
|
||||
command: "--databases 1"
|
||||
healthcheck:
|
||||
test: CMD redis-cli ping
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
volumes:
|
||||
- "{{ data_dir }}/owncloud/redis:/data"
|
||||
|
||||
- name: Create Owncloud Docker Container
|
||||
docker_container:
|
||||
name: owncloud
|
||||
image: owncloud/server:10.15
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
- name: owncloud
|
||||
volumes:
|
||||
- "{{ data_dir }}/owncloud/data:/mnt/data"
|
||||
env:
|
||||
OWNCLOUD_DOMAIN: "{{ OWNCLOUD_APP_URL }}"
|
||||
OWNCLOUD_TRUSTED_DOMAINS: "{{ OWNCLOUD_APP_URL }}"
|
||||
OWNCLOUD_DB_TYPE: "mysql"
|
||||
OWNCLOUD_DB_NAME: "owncloud"
|
||||
OWNCLOUD_DB_USERNAME: "owncloud"
|
||||
OWNCLOUD_DB_PASSWORD: "{{ OWNCLOUD_DB_PASSWORD }}"
|
||||
OWNCLOUD_DB_HOST: "oc_database"
|
||||
OWNCLOUD_ADMIN_USERNAME: "{{ OWNCLOUD_ADMIN_USERNAME }}"
|
||||
OWNCLOUD_ADMIN_PASSWORD: "{{ OWNCLOUD_ADMIN_PASSWORD }}"
|
||||
OWNCLOUD_MYSQL_UTF8MB4: "true"
|
||||
OWNCLOUD_REDIS_ENBALED: "true"
|
||||
OWNCLOUD_REDIS_HOST: "oc_redis"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.nc.rule: Host(`{{ OWNCLOUD_APP_URL }}`)
|
||||
traefik.http.routers.nc.entrypoints: webSecure
|
||||
traefik.http.routers.nc.tls.certresolver: letsencrypt
|
||||
traefik.http.services.nc.loadbalancer.server.port: "8080"
|
||||
traefik.http.middlewares.limit.buffering.maxRequestBodyBytes: "1073741824"
|
||||
traefik.http.routers.nc.middlewares: "limit"
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/pihole"
|
||||
|
||||
- name: Pull latest PiHole Docker Image
|
||||
docker_image:
|
||||
name: pihole/pihole
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create PiHole Docker Container
|
||||
docker_container:
|
||||
name: pihole
|
||||
image: pihole/pihole:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
published_ports:
|
||||
- "{{ TRAEFIK_HOST_IP }}:53:53/tcp"
|
||||
- "{{ TRAEFIK_HOST_IP }}:53:53/udp"
|
||||
volumes:
|
||||
- "{{ data_dir }}/pihole:/etc/pihole"
|
||||
env:
|
||||
FTLCONF_webserver_api_password: "{{ PIHOLE_FTLCONF_WEBSERVER_API_PASSWORD }}"
|
||||
TZ: "{{ TZ }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.pihole.rule: Host(`pihole.fntz.net`)
|
||||
traefik.http.routers.pihole.entrypoints: webSecure
|
||||
traefik.http.routers.pihole.tls.certresolver: letsencrypt
|
||||
traefik.http.services.pihole.loadbalancer.server.port: "80"
|
||||
@@ -3,6 +3,7 @@
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: 999
|
||||
with_items:
|
||||
- "{{ data_dir }}/plausible"
|
||||
- "{{ data_dir }}/plausible/app"
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/plex"
|
||||
|
||||
- name: Pull latest Plex Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/plex
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Deploy Plex Docker Container
|
||||
docker_container:
|
||||
name: plex
|
||||
image: lscr.io/linuxserver/plex
|
||||
network_mode: host
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
devices:
|
||||
- /dev/dri:/dev/dri
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
VERSION: "docker"
|
||||
PLEX_CLAIM: "{{ PLEX_CLAIM_TOKEN }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/plex:/config"
|
||||
- "{{ media_path }}:/media"
|
||||
@@ -1,20 +1,28 @@
|
||||
---
|
||||
- name: Deploy PocketID
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: pocketid
|
||||
directories:
|
||||
- name: Create Folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/pocketid"
|
||||
image:
|
||||
|
||||
- name: Pull latest PocketID Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/pocket-id/pocket-id
|
||||
tag: v2
|
||||
tag: v1
|
||||
source: pull
|
||||
|
||||
- name: Create PocketID Docker Container
|
||||
docker_container:
|
||||
name: pocketid
|
||||
image: ghcr.io/pocket-id/pocket-id:v1
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "{{ data_dir }}/pocketid:/app/data"
|
||||
env:
|
||||
ENCRYPTION_KEY: "{{ POCKETID_ENCRYPTION_KEY }}"
|
||||
APP_URL: "{{ POCKETID_APP_URL }}"
|
||||
TRUST_PROXY: "{{ POCKETID_TRUST_PROXY }}"
|
||||
PUID: "{{ PUID }}"
|
||||
@@ -64,7 +64,7 @@
|
||||
restart_policy: unless-stopped
|
||||
networks:
|
||||
- name: pterodactyl
|
||||
- name: "{{ docker_network_name }}"
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "{{ data_dir }}/pterodactyl/nginx:/etc/nginx/http.d"
|
||||
- "{{ data_dir }}/pterodactyl/logs:/app/storage/logs"
|
||||
@@ -83,7 +83,7 @@
|
||||
TRUSTED_PROXIES: "*"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.panel.rule: Host(`{{ PTERODACTYL_APP_URL }}`)
|
||||
traefik.http.routers.panel.rule: Host(`panel.fntz.net`)
|
||||
traefik.http.routers.panel.entrypoints: webSecure
|
||||
traefik.http.routers.panel.tls.certresolver: letsencrypt
|
||||
traefik.http.services.panel.loadbalancer.server.port: "80"
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/qbittorrent"
|
||||
|
||||
- name: Pull latest QBittorrent Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/qbittorrent
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Deploy QBittorrent Docker Container
|
||||
docker_container:
|
||||
name: qbittorrent
|
||||
image: lscr.io/linuxserver/qbittorrent
|
||||
network_mode: "container:gluetun"
|
||||
recreate: true
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
WEBUI_PORT: "8090"
|
||||
TORRENTING_PORT: "6861"
|
||||
@@ -0,0 +1,75 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/romm"
|
||||
- "{{ data_dir }}/romm/igdb"
|
||||
- "{{ data_dir }}/romm/assets"
|
||||
- "{{ data_dir }}/romm/config"
|
||||
- "{{ data_dir }}/romm/db"
|
||||
|
||||
- name: Pull latest Romm Docker Image
|
||||
docker_image:
|
||||
name: rommapp/romm
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Romm DB Docker Container
|
||||
docker_container:
|
||||
name: romm-db
|
||||
image: mariadb:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: romm
|
||||
volumes:
|
||||
- "{{ data_dir }}/romm/db:/var/lib/mysql"
|
||||
env:
|
||||
MARIADB_ROOT_PASSWORD: romm
|
||||
MARIADB_DATABASE: romm
|
||||
MARIADB_USER: romm-user
|
||||
MARIADB_PASSWORD: romm
|
||||
healthcheck:
|
||||
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||
start_period: 30s
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
- name: Create Romm Docker Container
|
||||
docker_container:
|
||||
name: romm
|
||||
image: rommapp/romm:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
- name: romm
|
||||
volumes:
|
||||
- "{{ data_dir }}/romm/igdb:/romm/resources"
|
||||
- "{{ data_dir }}/romm/redis:/redis-data"
|
||||
- "{{ data_dir }}/romm/assets:/romm/assets"
|
||||
- "{{ data_dir }}/romm/config:/romm/config"
|
||||
- "{{ ROMM_LIBRARY_PATH }}:/romm/library"
|
||||
env:
|
||||
DB_HOST: romm-db
|
||||
DB_NAME: romm
|
||||
DB_USER: romm-user
|
||||
DB_PASSWD: romm
|
||||
AUTH_SECRET_KEY: "{{ ROMM_AUTH_SECRET_KEY }}"
|
||||
IGDB_CLIENT_ID: "{{ ROMM_IGDB_CLIENT_ID }}"
|
||||
IGDB_CLIENT_SECRET: "{{ ROMM_IGDB_CLIENT_SECRET }}"
|
||||
OIDC_ENABLED: "{{ ROMM_OIDC_ENABLED }}"
|
||||
OIDC_PROVIDER: "{{ ROMM_OIDC_PROVIDER }}"
|
||||
OIDC_CLIENT_ID: "{{ ROMM_OIDC_CLIENT_ID }}"
|
||||
OIDC_CLIENT_SECRET: "{{ ROMM_OIDC_CLIENT_SECRET }}"
|
||||
OIDC_REDIRECT_URL: "{{ ROMM_OIDC_REDIRECT_URL }}"
|
||||
SERVER_APPLICATION_URL: "{{ ROMM_SERVER_APPLICATION_URL }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.emu.rule: Host(`emu.fntz.net`)
|
||||
traefik.http.routers.emu.entrypoints: webSecure
|
||||
traefik.http.routers.emu.tls.certresolver: letsencrypt
|
||||
traefik.http.services.emu.loadbalancer.server.port: "8080"
|
||||
@@ -0,0 +1,95 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/servarr"
|
||||
- "{{ data_dir }}/servarr/sonarr_config"
|
||||
- "{{ data_dir }}/servarr/radarr_config"
|
||||
- "{{ data_dir }}/servarr/lidarr_config"
|
||||
|
||||
- name: Pull latest Radarr Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/radarr
|
||||
tag: latest
|
||||
source: pull
|
||||
- name: Pull latest Sonarr Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/sonarr
|
||||
tag: latest
|
||||
source: pull
|
||||
- name: Pull latest Lidarr Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/lidarr
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Deploy Radarr Container
|
||||
docker_container:
|
||||
name: radarr
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
volumes:
|
||||
- "{{ data_dir }}/servarr/radarr_config:/config"
|
||||
- "{{ SERVARR_MEDIA_PATH }}:/media"
|
||||
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
|
||||
networks:
|
||||
- name: homelab
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.radarr.rule: Host(`radarr.fntz.net`)
|
||||
traefik.http.routers.radarr.entrypoints: webSecure
|
||||
traefik.http.routers.radarr.tls.certresolver: letsencrypt
|
||||
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
||||
|
||||
- name: Deploy Sonarr Container
|
||||
docker_container:
|
||||
name: sonarr
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
volumes:
|
||||
- "{{ data_dir }}/servarr/sonarr_config:/config"
|
||||
- "{{ SERVARR_MEDIA_PATH }}:/data"
|
||||
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.sonarr.rule: Host(`sonarr.fntz.net`)
|
||||
traefik.http.routers.sonarr.entrypoints: webSecure
|
||||
traefik.http.routers.sonarr.tls.certresolver: letsencrypt
|
||||
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
|
||||
|
||||
- name: Deploy Lidarr Container
|
||||
docker_container:
|
||||
name: lidarr
|
||||
image: lscr.io/linuxserver/lidarr:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/servarr/lidarr_config:/config"
|
||||
- "{{ SERVARR_MEDIA_PATH }}:/media"
|
||||
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.lidarr.rule: Host(`lidarr.fntz.net`)
|
||||
traefik.http.routers.lidarr.entrypoints: webSecure
|
||||
traefik.http.routers.lidarr.tls.certresolver: letsencrypt
|
||||
traefik.http.services.lidarr.loadbalancer.server.port: "8686"
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
- name: "Create file structure"
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/storage-api"
|
||||
- "{{ data_dir }}/storage-api/app"
|
||||
- "{{ data_dir }}/storage-api/files"
|
||||
|
||||
- name: "Clone latest Storage API"
|
||||
git:
|
||||
repo: git@git.alexav.gg:alex/storage-api.git
|
||||
dest: "{{ data_dir }}/storage-api/app"
|
||||
|
||||
- name: "Build Storage API Docker Image"
|
||||
docker_image:
|
||||
name: storage-api
|
||||
tag: "latest"
|
||||
build:
|
||||
path: "{{ data_dir }}/storage-api/app"
|
||||
dockerfile: Dockerfile
|
||||
source: build
|
||||
state: present
|
||||
|
||||
- name: Deploy Storage API Container
|
||||
docker_container:
|
||||
name: storage_api
|
||||
image: storage-api:latest
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/storage-api/files:/app/files"
|
||||
env:
|
||||
TZ: "{{ TZ }}"
|
||||
TOKEN: "{{ API_ADMIN_KEY }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.storage.rule: Host(`storage.alexav.gg`)
|
||||
traefik.http.routers.storage.entrypoints: webSecure
|
||||
traefik.http.routers.storage.tls.certresolver: letsencrypt
|
||||
traefik.http.services.storage.loadbalancer.server.port: "3001"
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/tautulli"
|
||||
|
||||
- name: Pull latest Tautulli Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/tautulli/tautulli
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Tautulli Docker Container
|
||||
docker_container:
|
||||
name: tautulli
|
||||
image: ghcr.io/tautulli/tautulli
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "{{ data_dir }}/tautulli:/config"
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.tt.rule: Host(`tt.fntz.net`)
|
||||
traefik.http.routers.tt.entrypoints: webSecure
|
||||
traefik.http.routers.tt.tls.certresolver: letsencrypt
|
||||
traefik.http.services.tt.loadbalancer.server.port: "8181"
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/termix"
|
||||
|
||||
- name: Pull latest Termix Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/lukegus/termix
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Termix Docker Container
|
||||
docker_container:
|
||||
name: termix
|
||||
image: ghcr.io/lukegus/termix:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "{{ data_dir }}/termix:/app/data"
|
||||
env:
|
||||
PORT: "8080"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.termix.rule: Host(`ssh.fntz.net`)
|
||||
traefik.http.routers.termix.entrypoints: webSecure
|
||||
traefik.http.routers.termix.tls.certresolver: letsencrypt
|
||||
traefik.http.services.termix.loadbalancer.server.port: "8080"
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
- name: Pull latest Tinyauth Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/steveiliop56/tinyauth
|
||||
tag: v4
|
||||
source: pull
|
||||
|
||||
- name: Create Tinyauth Docker Container
|
||||
docker_container:
|
||||
name: tinyauth
|
||||
image: ghcr.io/steveiliop56/tinyauth:v4
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
env:
|
||||
USERS: "{{ TINYAUTH_USERS }}"
|
||||
SECRET: "{{ TINYAUTH_SECRET }}"
|
||||
APP_URL: "{{ TINYAUTH_APP_URL }}"
|
||||
PROVIDERS_POCKETID_CLIENT_ID: "{{ TINYAUTH_GENERIC_CLIENT_ID }}"
|
||||
PROVIDERS_POCKETID_CLIENT_SECRET: "{{ TINYAUTH_GENERIC_CLIENT_SECRET }}"
|
||||
PROVIDERS_POCKETID_AUTH_URL: "{{ TINYAUTH_GENERIC_AUTH_URL }}"
|
||||
PROVIDERS_POCKETID_TOKEN_URL: "{{ TINYAUTH_GENERIC_TOKEN_URL }}"
|
||||
PROVIDERS_POCKETID_USER_INFO_URL: "{{ TINYAUTH_GENERIC_USER_URL }}"
|
||||
PROVIDERS_POCKETID_SCOPES: "{{ TINYAUTH_GENERIC_SCOPES }}"
|
||||
PROVIDERS_POCKETID_NAME: "{{ TINYAUTH_GENERIC_NAME }}"
|
||||
PROVIDERS_POCKETID_REDIRECT_URL: "{{ TINYAUTH_REDIRECT_URL }}"
|
||||
OAUTH_WHITELIST: "{{ TINYAUTH_OAUTH_WHITELIST }}"
|
||||
APP_TITLE: "{{ TINYAUTH_APP_TITLE }}"
|
||||
BACKGROUND_IMAGE: "{{ TINYAUTH_BACKGROUND_IMAGE }}"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.tinyauth.rule: Host(`auth.fntz.net`)
|
||||
traefik.http.routers.tinyauth.entrypoints: webSecure
|
||||
traefik.http.routers.tinyauth.tls.certresolver: letsencrypt
|
||||
traefik.http.middlewares.tinyauth.forwardauth.address: http://tinyauth:3000/api/auth/traefik
|
||||
@@ -1,14 +1,23 @@
|
||||
---
|
||||
- name: Deploy Uptime Kuma
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: uptime-kuma
|
||||
directories:
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/uptime-kuma"
|
||||
image:
|
||||
|
||||
- name: Pull latest Uptime Kuma Docker Image
|
||||
docker_image:
|
||||
name: louislam/uptime-kuma
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Uptime Kuma Docker Container
|
||||
docker_container:
|
||||
name: uptime-kuma
|
||||
image: louislam/uptime-kuma
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
- name: Deploy AdGuard Home
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: adguard
|
||||
directories:
|
||||
- "{{ data_dir }}/adguard"
|
||||
- "{{ data_dir }}/adguard/work"
|
||||
- "{{ data_dir }}/adguard/conf"
|
||||
image:
|
||||
name: adguard/adguardhome
|
||||
tag: latest
|
||||
volumes:
|
||||
- "{{ data_dir }}/adguard/work:/opt/adguardhome/work"
|
||||
- "{{ data_dir }}/adguard/conf:/opt/adguardhome/conf"
|
||||
published_ports:
|
||||
- "53:53/tcp"
|
||||
- "53:53/udp"
|
||||
networks:
|
||||
- name: "homelab"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.adguard.rule: Host(`ag.fntz.net`)
|
||||
traefik.http.routers.adguard.entrypoints: webSecure
|
||||
traefik.http.routers.adguard.tls.certresolver: letsencrypt
|
||||
traefik.http.services.adguard.loadbalancer.server.port: "3000"
|
||||
@@ -1,38 +0,0 @@
|
||||
- name: Deploy Blog Backend
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: blog-backend
|
||||
image:
|
||||
name: git.alexav.gg/alex/blog
|
||||
tag: backend-latest
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
env:
|
||||
NODE_ENV: production
|
||||
SESSION_SECRET: "{{ BLOG_SESSION_SECRET }}"
|
||||
DATABASE_URL: file:/data/blog.db
|
||||
REDIS_URL: redis://redis:6379
|
||||
volumes:
|
||||
- "{{ data_dir }}/blog:/data"
|
||||
|
||||
- name: Deploy Blog Frontend
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: blog
|
||||
image:
|
||||
name: git.alexav.gg/alex/blog
|
||||
tag: frontend-latest
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
env:
|
||||
NODE_ENV: production
|
||||
PORT: "5174"
|
||||
BACKEND_ORIGIN: http://blog-backend:3000
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.blog.rule: Host(`blog.alexav.gg`)
|
||||
traefik.http.routers.blog.entrypoints: webSecure
|
||||
traefik.http.routers.blog.tls.certresolver: letsencrypt
|
||||
traefik.http.services.blog.loadbalancer.server.port: "5174"
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
- name: Deploy CAdvisor
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: cadvisor
|
||||
image:
|
||||
name: ghcr.io/google/cadvisor
|
||||
tag: latest
|
||||
volumes:
|
||||
- "/:/rootfs:ro"
|
||||
- "/var/run:/var/run:ro"
|
||||
- "/sys:/sys:ro"
|
||||
- "/var/lib/docker/:/var/lib/docker:ro"
|
||||
- "/dev/disk:/dev/disk:ro"
|
||||
devices:
|
||||
- /dev/kmsg:/dev/kmsg
|
||||
privileged: true
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.cadvisor.rule: Host(`cad.fntz.net`)
|
||||
traefik.http.routers.cadvisor.entrypoints: webSecure
|
||||
traefik.http.routers.cadvisor.tls.certresolver: letsencrypt
|
||||
traefik.http.services.cadvisor.loadbalancer.server.port: "8080"
|
||||
traefik.http.routers.cadvisor.middlewares: tinyauth
|
||||
@@ -1,16 +0,0 @@
|
||||
# test
|
||||
---
|
||||
- name: Deploy Cloudflared
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: cloudflared
|
||||
image:
|
||||
name: cloudflare/cloudflared
|
||||
tag: latest
|
||||
env:
|
||||
TUNNEL_TOKEN: "{{ CLOUDFLARED_TUNNEL_TOKEN }}"
|
||||
command: tunnel run
|
||||
network_name: "tunnel"
|
||||
networks:
|
||||
- name: "tunnel"
|
||||
@@ -1,25 +0,0 @@
|
||||
---
|
||||
- name: Deploy Wiki.js
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: docs
|
||||
image:
|
||||
name: ghcr.io/requarks/wiki
|
||||
tag: 2
|
||||
env:
|
||||
DB_TYPE: "postgres"
|
||||
DB_HOST: "{{ DOCS_DB_HOST }}"
|
||||
DB_PORT: "5432"
|
||||
DB_USER: "wikijs"
|
||||
DB_PASS: "wikijs"
|
||||
DB_NAME: "wikijs"
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.docs.rule: Host(`docs.fntz.net`)
|
||||
traefik.http.routers.docs.entrypoints: webSecure
|
||||
traefik.http.routers.docs.tls.certresolver: letsencrypt
|
||||
traefik.http.services.docs.loadbalancer.server.port: "3000"
|
||||
traefik.http.routers.docs.middlewares: tinyauth
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
- name: Deploy Duplicati
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: duplicati
|
||||
networks:
|
||||
- name: homelab
|
||||
directories:
|
||||
- "{{ data_dir }}/duplicati"
|
||||
- "{{ data_dir }}/duplicati/app"
|
||||
- "{{ data_dir }}/duplicati/backups"
|
||||
image:
|
||||
name: lscr.io/linuxserver/duplicati
|
||||
tag: latest
|
||||
volumes:
|
||||
- "{{ data_dir }}/duplicati/app:/config"
|
||||
- "{{ data_dir }}/duplicati/backups:/backups"
|
||||
- "/storage-pool/Share:/source"
|
||||
env:
|
||||
TZ: "{{ TZ }}"
|
||||
SETTINGS_ENCRYPTION_KEY: "{{ DUPLICATI_ENCRYPTION_KEY }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.duplicati.rule: Host(`backups.fntz.net`)
|
||||
traefik.http.routers.duplicati.entrypoints: webSecure
|
||||
traefik.http.routers.duplicati.tls.certresolver: letsencrypt
|
||||
traefik.http.services.duplicati.loadbalancer.server.port: "8200"
|
||||
@@ -1,14 +0,0 @@
|
||||
---
|
||||
- name: Deploy Homebridge
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: homebridge
|
||||
directories:
|
||||
- "{{ data_dir }}/homebridge/homebridge"
|
||||
image:
|
||||
name: homebridge/homebridge
|
||||
tag: latest
|
||||
network_mode: host
|
||||
volumes:
|
||||
- "{{ data_dir }}/homebridge:/homebridge"
|
||||
@@ -1,22 +0,0 @@
|
||||
---
|
||||
- name: Deploy Ollama
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: ollama
|
||||
directories:
|
||||
- "{{ data_dir }}/ollama"
|
||||
image:
|
||||
name: ollama/ollama
|
||||
tag: latest
|
||||
volumes:
|
||||
- "{{ data_dir }}/ollama:/root/.ollama"
|
||||
devices:
|
||||
- "/dev/kfd"
|
||||
- "/dev/dri"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.ollama.rule: Host(`ollama.fntz.net`)
|
||||
traefik.http.routers.ollama.entrypoints: webSecure
|
||||
traefik.http.routers.ollama.tls.certresolver: letsencrypt
|
||||
traefik.http.services.ollama.loadbalancer.server.port: "11434"
|
||||
@@ -1,24 +0,0 @@
|
||||
---
|
||||
- name: Deploy Open-WebUI
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: owui
|
||||
directories:
|
||||
- "{{ data_dir }}/owui"
|
||||
image:
|
||||
name: ghcr.io/open-webui/open-webui
|
||||
tag: ollama
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "{{ data_dir }}/owui:/app/backend/data"
|
||||
devices:
|
||||
- "/dev/kfd"
|
||||
- "/dev/dri"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.owui.rule: Host(`owui.fntz.net`)
|
||||
traefik.http.routers.owui.entrypoints: webSecure
|
||||
traefik.http.routers.owui.tls.certresolver: letsencrypt
|
||||
traefik.http.services.owui.loadbalancer.server.port: "8080"
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
- name: Deploy Storage API
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: storage-api
|
||||
directories:
|
||||
- "{{ data_dir }}/storage-api"
|
||||
- "{{ data_dir }}/storage-api/app"
|
||||
- "{{ data_dir }}/storage-api/files"
|
||||
image:
|
||||
name: storage-api
|
||||
tag: latest
|
||||
build:
|
||||
git:
|
||||
repo: git@git.alexav.gg:alex/storage-api.git
|
||||
dest: "{{ data_dir }}/storage-api/app"
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/storage-api/files:/app/files"
|
||||
env:
|
||||
TZ: "{{ TZ }}"
|
||||
SECRET: "{{ API_ADMIN_KEY }}"
|
||||
S3_KEY: "{{ API_S3_KEY }}"
|
||||
S3_KEY_ID: "{{ API_S3_KEY_ID }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.storage.rule: Host(`storage.alexav.gg`)
|
||||
traefik.http.routers.storage.entrypoints: webSecure
|
||||
traefik.http.routers.storage.tls.certresolver: letsencrypt
|
||||
traefik.http.services.storage.loadbalancer.server.port: "3001"
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
- name: Deploy Subber
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: subber
|
||||
directories:
|
||||
- "{{ data_dir }}/subber"
|
||||
image:
|
||||
name: ghcr.io/azpha/subber
|
||||
tag: latest
|
||||
networks:
|
||||
- name: homelab
|
||||
env:
|
||||
BASE_URL: "https://subs.fntz.net"
|
||||
volumes:
|
||||
- "{{ data_dir }}/subber:/files"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.subber.rule: Host(`subs.fntz.net`)
|
||||
traefik.http.routers.subber.entrypoints: webSecure
|
||||
traefik.http.routers.subber.tls.certresolver: letsencrypt
|
||||
traefik.http.services.subber.loadbalancer.server.port: "3000"
|
||||
@@ -1,19 +0,0 @@
|
||||
---
|
||||
- name: Deploy Tools Frontend
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: tools
|
||||
image:
|
||||
name: git.alexav.gg/alex/tools
|
||||
tag: latest
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
env:
|
||||
NODE_ENV: production
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.tools.rule: Host(`tools.alexav.gg`)
|
||||
traefik.http.routers.tools.entrypoints: webSecure
|
||||
traefik.http.routers.tools.tls.certresolver: letsencrypt
|
||||
traefik.http.services.tools.loadbalancer.server.port: "5173"
|
||||
@@ -1,19 +0,0 @@
|
||||
---
|
||||
- name: Deploy Website
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: website
|
||||
image:
|
||||
name: git.alexav.gg/alex/website
|
||||
tag: latest
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
env:
|
||||
NODE_ENV: production
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.website.rule: Host(`alexav.gg`)
|
||||
traefik.http.routers.website.entrypoints: webSecure
|
||||
traefik.http.routers.website.tls.certresolver: letsencrypt
|
||||
traefik.http.services.website.loadbalancer.server.port: "5173"
|
||||
@@ -1,14 +1,23 @@
|
||||
---
|
||||
- name: Deploy Vaultwarden
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: vaultwarden
|
||||
directories:
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/vaultwarden"
|
||||
image:
|
||||
|
||||
- name: Pull latest Vaultwarden Docker Image
|
||||
docker_image:
|
||||
name: vaultwarden/server
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Vaultwarden Docker Container
|
||||
docker_container:
|
||||
name: vaultwarden
|
||||
image: vaultwarden/server:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/sergi0g/cup/main/cup.schema.json",
|
||||
"version": 3,
|
||||
"images": {
|
||||
"exclude": ["git.alexav.gg/alex/plex-webhook", "git.alexav.gg/alex/setup-ansible"]
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
metadata_dir = "/var/lib/garage/meta"
|
||||
data_dir = "/var/lib/garage/data"
|
||||
db_engine = "lmdb"
|
||||
metadata_auto_snapshot_interval = "6h"
|
||||
replication_factor = 1
|
||||
compression_level = 2
|
||||
|
||||
rpc_bind_addr = "[::]:3901"
|
||||
rpc_secret = "{{ GARAGE_RPC_SECRET }}"
|
||||
|
||||
[s3_api]
|
||||
s3_region = "garage"
|
||||
api_bind_addr = "[::]:3900"
|
||||
root_domain = ".s3.garage"
|
||||
|
||||
[s3_web]
|
||||
bind_addr = "[::]:3902"
|
||||
root_domain = ".web.garage"
|
||||
index = "index.html"
|
||||
|
||||
[admin]
|
||||
api_bind_addr = "[::]:3903"
|
||||
admin_token = "{{ GARAGE_ADMIN_TOKEN }}"
|
||||
@@ -1,29 +0,0 @@
|
||||
auth_enabled: false
|
||||
|
||||
server:
|
||||
http_listen_port: 3100
|
||||
|
||||
common:
|
||||
path_prefix: /loki
|
||||
storage:
|
||||
filesystem:
|
||||
chunks_directory: /loki/chunks
|
||||
rules_directory: /loki/rules
|
||||
replication_factor: 1
|
||||
ring:
|
||||
kvstore:
|
||||
store: inmemory
|
||||
|
||||
schema_config:
|
||||
configs:
|
||||
- from: 2020-10-24
|
||||
store: tsdb
|
||||
object_store: filesystem
|
||||
schema: v13
|
||||
index:
|
||||
prefix: index_
|
||||
period: 24h
|
||||
|
||||
storage_config:
|
||||
filesystem:
|
||||
directory: /loki/chunks
|
||||
@@ -1,14 +0,0 @@
|
||||
global:
|
||||
scrape_interval: 15s
|
||||
evaluation_interval: 15s
|
||||
|
||||
scrape_configs:
|
||||
- job_name: "prometheus"
|
||||
static_configs:
|
||||
- targets: ["monitoring_prometheus:9090"]
|
||||
- job_name: "node-exporter"
|
||||
static_configs:
|
||||
- targets: ["172.16.0.44:9100"]
|
||||
- job_name: "cadvisor"
|
||||
static_configs:
|
||||
- targets: ["monitoring_cadvisor:8080"]
|
||||
@@ -1,63 +0,0 @@
|
||||
server:
|
||||
http_listen_port: 9080
|
||||
|
||||
positions:
|
||||
filename: /tmp/positions.yaml
|
||||
|
||||
clients:
|
||||
- url: http://monitoring_loki:3100/loki/api/v1/push
|
||||
|
||||
scrape_configs:
|
||||
- job_name: docker
|
||||
docker_sd_configs:
|
||||
- host: unix:///var/run/docker.sock
|
||||
refresh_interval: 5s
|
||||
relabel_configs:
|
||||
# Keep only running containers
|
||||
- source_labels: ['__meta_docker_container_id']
|
||||
target_label: container_id
|
||||
|
||||
# Container name (strips leading slash)
|
||||
- source_labels: ['__meta_docker_container_name']
|
||||
regex: '/(.+)'
|
||||
target_label: container_name
|
||||
|
||||
# Compose project name
|
||||
- source_labels: ['__meta_docker_container_label_com_docker_compose_project']
|
||||
target_label: compose_project
|
||||
|
||||
# Compose service name
|
||||
- source_labels: ['__meta_docker_container_label_com_docker_compose_service']
|
||||
target_label: compose_service
|
||||
|
||||
# Image name
|
||||
- source_labels: ['__meta_docker_container_image']
|
||||
target_label: image
|
||||
|
||||
# Custom labels - grab any label starting with "logging."
|
||||
# e.g. logging.env=production becomes env=production
|
||||
- regex: '__meta_docker_container_label_logging_(.+)'
|
||||
action: labelmap
|
||||
replacement: '$1'
|
||||
|
||||
# Drop containers with logging=disabled label
|
||||
- source_labels: ['__meta_docker_container_label_logging']
|
||||
regex: 'disabled'
|
||||
action: drop
|
||||
|
||||
pipeline_stages:
|
||||
# Docker JSON log format parsing
|
||||
- json:
|
||||
expressions:
|
||||
output: log
|
||||
stream: stream
|
||||
timestamp: time
|
||||
|
||||
# Use Docker's timestamp
|
||||
- timestamp:
|
||||
source: timestamp
|
||||
format: RFC3339Nano
|
||||
|
||||
# Output just the log line
|
||||
- output:
|
||||
source: output
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
admin off
|
||||
servers {
|
||||
trusted_proxies static private_ranges
|
||||
}
|
||||
}
|
||||
|
||||
:80 {
|
||||
root * /var/www/html/public
|
||||
encode gzip
|
||||
|
||||
php_fastcgi 127.0.0.1:9000
|
||||
file_server
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
log:
|
||||
level: info
|
||||
|
||||
runner:
|
||||
file: .runner
|
||||
capacity: 1
|
||||
timeout: 3h
|
||||
shutdown_timeout: 0s
|
||||
insecure: false
|
||||
fetch_timeout: 5s
|
||||
fetch_interval: 2s
|
||||
labels:
|
||||
- "ubuntu-latest:docker://catthehacker/ubuntu:act-latest"
|
||||
- "ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04"
|
||||
- "ansible:docker://git.alexav.gg/alex/setup-ansible:latest"
|
||||
|
||||
container:
|
||||
network: "host"
|
||||
privileged: true
|
||||
force_pull: true
|
||||
force_rebuild: false
|
||||
require_docker: false
|
||||
docker_timeout: 0s
|
||||
@@ -1,12 +0,0 @@
|
||||
[
|
||||
{
|
||||
"name": "lastFm",
|
||||
"enable": true,
|
||||
"configureAs": "source",
|
||||
"data": {
|
||||
"apiKey": "{{ SCROBBLER_LASTFM_TOKEN }}",
|
||||
"secret": "{{ SCROBBLER_LASTFM_SECRET }}",
|
||||
"redirectUri": "https://scrobbler.fntz.net/lastfm/callback"
|
||||
}
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user