Compare commits
1 Commits
main
...
template-e
| Author | SHA1 | Date | |
|---|---|---|---|
| a4978133b9 |
@@ -6,7 +6,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
deploy:
|
deploy:
|
||||||
name: Prepare
|
name: Prepare
|
||||||
runs-on: ansible
|
runs-on: runner
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -14,7 +14,6 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Deploy
|
- name: Deploy
|
||||||
shell: sh
|
|
||||||
run: |
|
run: |
|
||||||
mkdir -p ~/.ssh
|
mkdir -p ~/.ssh
|
||||||
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
|
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
|
||||||
@@ -24,4 +23,4 @@ jobs:
|
|||||||
echo "HOST *" > ~/.ssh/config
|
echo "HOST *" > ~/.ssh/config
|
||||||
echo "${{ secrets.VAULT_PASS }}" > ~/.vault_pass.txt
|
echo "${{ secrets.VAULT_PASS }}" > ~/.vault_pass.txt
|
||||||
chmod 600 ansible.cfg
|
chmod 600 ansible.cfg
|
||||||
/usr/bin/ansible-playbook main.yml -l jackson --vault-password-file ~/.vault_pass.txt
|
/usr/bin/ansible-playbook main.yml --vault-password-file ~/.vault_pass.txt
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
deploy:
|
deploy:
|
||||||
name: Prepare
|
name: Prepare
|
||||||
runs-on: ansible
|
runs-on: runner
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -16,7 +16,6 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Deploy
|
- name: Deploy
|
||||||
shell: sh
|
|
||||||
run: |
|
run: |
|
||||||
mkdir -p ~/.ssh
|
mkdir -p ~/.ssh
|
||||||
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
|
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
name: Update Images
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
run-update:
|
|
||||||
name: Run update script
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Run update script
|
|
||||||
run: |
|
|
||||||
echo "${{ secrets.VAULT_PASS }}" > ~/.vault_pass.txt
|
|
||||||
python3 scripts/run_updates.py
|
|
||||||
@@ -1,12 +1,17 @@
|
|||||||
name: Create New Secrets Template
|
name: Create New Secrets Template
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "host_vars/**"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-pr:
|
create-pr:
|
||||||
name: Extract updated template
|
name: Extract updated template
|
||||||
runs-on: ubuntu-latest
|
runs-on: runner
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|||||||
@@ -2,10 +2,6 @@ ansible_user:
|
|||||||
data_dir:
|
data_dir:
|
||||||
docker_network_name:
|
docker_network_name:
|
||||||
TZ:
|
TZ:
|
||||||
PUID:
|
|
||||||
PGID:
|
|
||||||
ansible_become_pass:
|
|
||||||
media_path:
|
|
||||||
|
|
||||||
# api
|
# api
|
||||||
API_CONTACT_WEBHOOK:
|
API_CONTACT_WEBHOOK:
|
||||||
@@ -39,21 +35,16 @@ TRAEFIK_ENABLE_DASH:
|
|||||||
|
|
||||||
# fivem
|
# fivem
|
||||||
FIVEM_LICENSE_KEY:
|
FIVEM_LICENSE_KEY:
|
||||||
|
PUID:
|
||||||
|
PGID:
|
||||||
|
media_path:
|
||||||
|
|
||||||
# mastodon
|
# frigate
|
||||||
MASTODON_DB_PASS:
|
FRIGATE_RECORDINGS_PATH:
|
||||||
MASTODON_LOCAL_DOMAIN:
|
|
||||||
MASTODON_SECRET_KEY_BASE:
|
|
||||||
MASTODON_OTP_SECRET:
|
|
||||||
MASTODON_VAPID_PRIVATE_KEY:
|
|
||||||
MASTODON_VAPID_PUBLIC_KEY:
|
|
||||||
MASTODON_ARE_DETERMINISTIC:
|
|
||||||
MASTODON_ARE_KEY_DERIVATION:
|
|
||||||
MASTODON_ARE_PRIMARY:
|
|
||||||
|
|
||||||
# wings
|
# plex
|
||||||
WINGS_URL:
|
PLEX_CLAIM_TOKEN:
|
||||||
WINGS_CONTAINER_DIR:
|
ansible_become_pass:
|
||||||
|
|
||||||
# glance
|
# glance
|
||||||
GLANCE_PIHOLE_TOKEN:
|
GLANCE_PIHOLE_TOKEN:
|
||||||
@@ -72,7 +63,6 @@ TINYAUTH_GENERIC_TOKEN_URL:
|
|||||||
TINYAUTH_GENERIC_USER_URL:
|
TINYAUTH_GENERIC_USER_URL:
|
||||||
TINYAUTH_GENERIC_SCOPES:
|
TINYAUTH_GENERIC_SCOPES:
|
||||||
TINYAUTH_GENERIC_NAME:
|
TINYAUTH_GENERIC_NAME:
|
||||||
TINYAUTH_REDIRECT_URL:
|
|
||||||
TINYAUTH_OAUTH_WHITELIST:
|
TINYAUTH_OAUTH_WHITELIST:
|
||||||
TINYAUTH_APP_TITLE:
|
TINYAUTH_APP_TITLE:
|
||||||
TINYAUTH_BACKGROUND_IMAGE:
|
TINYAUTH_BACKGROUND_IMAGE:
|
||||||
@@ -163,14 +153,3 @@ COUCHDB_PASSWORD:
|
|||||||
# helium
|
# helium
|
||||||
HELIUM_BASE_URL:
|
HELIUM_BASE_URL:
|
||||||
HELIUM_EXT_HMAC_SECRET:
|
HELIUM_EXT_HMAC_SECRET:
|
||||||
|
|
||||||
# pterodactyl
|
|
||||||
PTERODACTYL_APP_URL:
|
|
||||||
PTERODACTYL_MYSQL_PASSWORD:
|
|
||||||
PTERODACTYL_MYSQL_ROOT_PASSWORD:
|
|
||||||
|
|
||||||
# frigate
|
|
||||||
FRIGATE_RECORDINGS_PATH:
|
|
||||||
|
|
||||||
# plex
|
|
||||||
PLEX_CLAIM_TOKEN:
|
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
63396333353166316666616661613532383538393239303966633336363361613332343437376566
|
|
||||||
3265326538643839326262386165623639353130656164320a323536333037353664646163386335
|
|
||||||
33336631303336616636343538353865383531316561623166323762396262643930376231616638
|
|
||||||
6638613961313364390a366564343030633665646666626165383334356364623761383032633963
|
|
||||||
39393264353635626539393831323530366630343665623561653836303065633965316163386166
|
|
||||||
63353836333639363765616164383133623330653762333762623632653535623438313831653365
|
|
||||||
32393732306135323062666539663839656563306133393031643766626666323534626638653236
|
|
||||||
63613832333833626439653034366336633534323131356262396138373938383039336263356531
|
|
||||||
36323432653634366365663039336231343239626539393961636562366263653934613333633535
|
|
||||||
61613937336336323135376663336364386533366537626133316130353862633862336530633339
|
|
||||||
33663439663332653461643839353564333765646537363864653765303933393562383134316434
|
|
||||||
38333134646362663837653461646661633539623734316635383163313363653730653763326262
|
|
||||||
65326365383661306466663930646162343033383932633866383862626339366631633862346334
|
|
||||||
36366161636663653136383439333461366264383533346461613631623730326437376537373638
|
|
||||||
64323863333364613039613533393232373162346436613864336237336439353134313361653634
|
|
||||||
64366663303265386663623139636131383432343238306631333436373939393832616262393232
|
|
||||||
33376466613639396436396166363032653434653730643734356432653063303762333230323431
|
|
||||||
34313338303838346466666463376636323433663038363935633362656164383762343531633563
|
|
||||||
386432323237313039376531653362326337
|
|
||||||
@@ -1,233 +0,0 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
35636464336130336363363961663963393561333135326165613837356661336432353837626633
|
|
||||||
6663643331326636393233663737353732313230663766650a386364376331353165356462613761
|
|
||||||
35643465303439333637626132346236613234393731363562616138323864313864326438373036
|
|
||||||
6630346663633563320a303534646534623431306663346131306161373761666636333732343131
|
|
||||||
64363334376263653666303363373764343037663763643661333633303139393464353537333963
|
|
||||||
61376266396161313832363466316165393836303561656331356432353830356631386136626633
|
|
||||||
37396564623865333635353536663766346434373131646434396131633035393665313465613162
|
|
||||||
34643939366465343331383235363966323130346230663232323265613066346466643434323939
|
|
||||||
63613831303839316136326132363663653539363331383239613036363634313936646234343961
|
|
||||||
38633330363464363836663061666666656336666232356433343339346635643862613636373365
|
|
||||||
64306165666537366165313035393536353330616164373361613832653137326230613833393737
|
|
||||||
33323664636563653463363062343035643736376435303234613233356437353662303639393935
|
|
||||||
39313065623861633435376335303364633065393535316630623331623139376231373164376264
|
|
||||||
39656234656339333635666566343230336532356438383531343139376365653637646265313239
|
|
||||||
37323331326235313234306635376235336233623032383532373537376234663632336438613331
|
|
||||||
63623862326635653536306461653663323764346434306164616435356233323732613439643364
|
|
||||||
35643966623566396234313536323037623961613563653362636337393138313439646135623965
|
|
||||||
63393132356533616635376564363634623766333066386162656661376539343939326561613764
|
|
||||||
39633635363165336363373435393463326533333734303863363562346365383635383039613863
|
|
||||||
35623335393864623131376461643465306463356435643835626532343137343734316433316631
|
|
||||||
65623163376330356338623830326130326661383533303166623636636663646566653265396262
|
|
||||||
39376564313536653538666363616662353639373162633161656530346232333930303464363138
|
|
||||||
64373930373565386337306535383433613265613137336631343832336333623433373834643338
|
|
||||||
34383037643833616330363838343734633131666166343839636565356638366639323761613237
|
|
||||||
39653532343466646335636264636564376465633630343361353239643761326561396633363864
|
|
||||||
36623330383434396330663066333262383665626230633531623134643161616664306332323761
|
|
||||||
63316533623836623436313930383565363163663633646330333734373663616637343933333239
|
|
||||||
65653161666536386631343930353463663635326665383666316538333436373632666631313432
|
|
||||||
37336365343739383365363634313032633134383938633631363665633433653064363538393931
|
|
||||||
35663765343866633431663733663334623939613962366664663738356566343031653239343663
|
|
||||||
66613666343862343939643435396133623364646337383363356131356163313537326465613131
|
|
||||||
64323363313165663936396262383330643463373930393564656235313231303766643032373965
|
|
||||||
63636563363036383663356363663132346639666330363335306530363433613236663430643837
|
|
||||||
61346665613033303036373336613632363263303965363463656334366530643162326162343533
|
|
||||||
61343137303362663066306238343638336236336363346163323661326439306261373634663634
|
|
||||||
61626236323464333430336339343931656365303864373033396134613133396432636531646630
|
|
||||||
35663437353737646334333761613430346265666266353035643235316533616665626137316536
|
|
||||||
31386266363439653864646462623637643666346661336136396662643236376331653439336136
|
|
||||||
64386134643038626335633562616166623834636433626532323636663733333632393833336263
|
|
||||||
34636635646361616364326666666130373930356534336639663061396631613266656230306234
|
|
||||||
36616663313633383362353166646433353936363337623130636336663134666439396630663662
|
|
||||||
33373334396131343530396335363533626333633138323632643566616533346163396330626430
|
|
||||||
37636166636330643662393533373264353666343032646431303833616563363139303066343434
|
|
||||||
36623139633736653633366433336262373962633431653166653437393337323631303835653365
|
|
||||||
34616434356438366635376430623462353062386337643663343362336665336136656530616530
|
|
||||||
38306536393163643630343532653235326662653764623633323430643438383131313363303965
|
|
||||||
34333561383334373164653833646638343232643536666431666661346261333431623937373765
|
|
||||||
64313839366436646332666331333438646261643064653339353936343837376161626635656134
|
|
||||||
62623038383238646166383137333931623430303833393938396334616536366465616262663833
|
|
||||||
61343365653861323139326335653534636361653636346239623035316237356164393462393437
|
|
||||||
31643162323536323966323831626366666336383039643236663465653638653531376535376537
|
|
||||||
37346136626237643062336161373532376336336535633130663365613939393264653562306434
|
|
||||||
39303030323563373232346537336131613637633566633465396334383637386466316465363536
|
|
||||||
32396432333431663439363062303161353531353235626530316430663064663438353164626165
|
|
||||||
32613161313739376332643738383061613734643437623736303562623437343766613137663434
|
|
||||||
64366235303236383834346164346637383433323938626534623438656533656135333332653031
|
|
||||||
63343436666361353766346662666234616232666630376130376530306639373166333462356435
|
|
||||||
37393639616161366565613036333437643762343438333863346433356132376533386363333334
|
|
||||||
37316365313465336637326230623462316637633737663934623831653063356564613164666236
|
|
||||||
62616139393335366538626636316165353161663632663832396564393163346161353439313932
|
|
||||||
32303265343731363061626631353335666236386362386161643162333862376431386566326666
|
|
||||||
39626532643264303630616436666633613366316136373434363063663766383732646464336464
|
|
||||||
63343038303437636637306365636535373438653336306565383133376235646330613432353034
|
|
||||||
62376634633630656239613261646362393261343061353734383330313765363163616430313365
|
|
||||||
33663065386461633734666136633832353461313363313066393062613661313134343761626530
|
|
||||||
32326138373239393236336434373831353666623937383765313938383434303461666139663537
|
|
||||||
66616638386266353734656234373233313065626633333133656130313934396231343165366464
|
|
||||||
65656539646437343835313661613963356335353431363936383038373233306161653037313131
|
|
||||||
65346638396563626231653466323335383732323362633538373366363262343632666635333730
|
|
||||||
37363963363538613438316531363266366231393861353333313034396533653563646465616162
|
|
||||||
32643238666531393264346133323363666265636563336534666530643264306437656232356661
|
|
||||||
62363935316364636536333630356232386437373938646431323339346237613134633533316634
|
|
||||||
66663763643535323535623961353539626364623432323638333063643162613462373132386439
|
|
||||||
38333565346538356163333034323439313965633336613563363936356232323038363034623931
|
|
||||||
66633763353736343833373137323031623134633164393865653739643261366433373838626561
|
|
||||||
39313866646633326433363232643965616439636261343436626637616463393933383537613564
|
|
||||||
37663733323861383134656634323831633864613435653266366435303933613138303939623031
|
|
||||||
66326263613334353836396134623232666233336534363561303230646661616666613737346336
|
|
||||||
39356261303937643936313333643864663532613466393738353439366662313638613366396363
|
|
||||||
36623032616665383465633937383965383332313936313263393963616137313639336563356163
|
|
||||||
35633133316438393265333561643263323562623939373032643931313163303465356132653234
|
|
||||||
36663236316466353331333165656337383666326564646134313261376362633161626339353730
|
|
||||||
37393666373932303964656533656261353865643838313939303464343732346364613737623334
|
|
||||||
62333033646663666662663238623531353332313130646334646534656632306163343562643136
|
|
||||||
35663362303634363836643233613263346530326439333933366234643261326665363462656165
|
|
||||||
32353562326136363265623162336630653332326631653332656531363937663630653630313930
|
|
||||||
37616666396165636664356137316562396131383830616336636563333935663266626261613036
|
|
||||||
39613234313138376565333533616366636336396237643535336436323734633065313937646634
|
|
||||||
34346336386362393637333234636633656131613661653866616133666262313930323465623031
|
|
||||||
36383539613761353064643034646435356135383731366263656264323138363964653664653166
|
|
||||||
34626463343634666362643333653866616433656366623635666363336363383538626631613163
|
|
||||||
31646535303563636565366638366535613061653162353265346533633562306230366132396633
|
|
||||||
65306664646465363034643230306363646565356162383261343834626366396539386331663065
|
|
||||||
62363532653530326134343230633766663562373339626433323563366264333237633731626663
|
|
||||||
35333463376133636364343530613134373566643233353738396136663930613932393066316434
|
|
||||||
64363261323763333763323866323364376531646434373839323739343463623536653164343034
|
|
||||||
30323338346633646663643435643536373562363239323966656131316161313132326334356537
|
|
||||||
34313739613831613664393362393464383763316130666331646165393966393033306639623238
|
|
||||||
38393266333238393934653661633737316436633765363563343531376561303361333536343833
|
|
||||||
31643739326664373431663034383137396239393163333061313431626135386262383030396666
|
|
||||||
61623035326262326163636439373138656235333338363935663830383562313262646432316537
|
|
||||||
62623734313132396438373136666333313961326164376563353534643966393965363861643239
|
|
||||||
62346433653634343466316664336564303936353263303038653861326263386335396166333763
|
|
||||||
38666539346435643632303537626337363232326538383835393030363132386135306463386465
|
|
||||||
34633632663665626235643332663736323031346263633733306563626434643866306466303966
|
|
||||||
65656364616238323835383561326461363038363238373634653962663839663563623266393732
|
|
||||||
66386464376361663635373731646364393333306236333630663334646364383736303664646638
|
|
||||||
33306532303337313436353034306637396639323132626230316537626530336330656566643734
|
|
||||||
66323664396132616435336537353739383065613737316365656336613433383630313561656432
|
|
||||||
61393536353634656637346639373461356339323135623663633233646334646439663930306330
|
|
||||||
39333132623232326431613139383061323336313936366662613030323732613036386436616238
|
|
||||||
38316133653134326137333634636336333564623135363064333063323232393265376430643461
|
|
||||||
36343233653630313262653434666262353065643139323530373235663333336638333638306539
|
|
||||||
63626632653535386438356232356439636464366537306239313663613065646165633039316236
|
|
||||||
33343834636533656330656663376664376139363564393866356666333234623161613365666430
|
|
||||||
66336363373132353666663562383330383464623865326237366562623062363933613863643739
|
|
||||||
39396631363166326239346131633762353937323537333562626338326363313733306530366234
|
|
||||||
63663039616538633366316664643366346632393733323166323163373361613966363335333366
|
|
||||||
36366136393534363165383035336239356661666164333761353537373233306139313132313061
|
|
||||||
34633637663338353966376164623635633039643934356436366630313362363562633837303436
|
|
||||||
62663333666138616336353532333936663939633261656139653431346232633064303038363131
|
|
||||||
30386230373733616234373335623336306437656539326462386463653537353539616233393332
|
|
||||||
36383663316537653639666666393238663536633133373134346333343137393338623466313163
|
|
||||||
62656461613134633861643235383836343832643364663636626166616661306134623530396639
|
|
||||||
62383634373639633566363934373734343961653339313537373864353664656263366562323566
|
|
||||||
37313464343763336666613062643831663234346264376265303761633035643062643934613631
|
|
||||||
34613462383464626638366665393861366439313236666231663230393839323630626132363664
|
|
||||||
33333066623632303636353164666434656435353764393666653638376133346539646564636162
|
|
||||||
38613338663566616132306536353266306666653864383730323133366637623661366634373239
|
|
||||||
30663732353639393839666163323164346166333465643234633330323864653930666538373431
|
|
||||||
32633437353736353134346535383536656538316439643036366536313139396231663836386561
|
|
||||||
65373033356566333564356334373366376436633335623661356436396639613731643065613966
|
|
||||||
38393839303865336365356163356532316131663731626335336365393337306530633133616530
|
|
||||||
30383332396237353834613731653033343665356539613037323833373132333264633762303537
|
|
||||||
37353665343166653731373066633765633732656233636539393663393033303532663135653730
|
|
||||||
63303665623061326161626363316638373864343539623761316135373263386139386231643364
|
|
||||||
30646230323338623463303861363136613933313138323834303039323431333837656564353861
|
|
||||||
37346562346363663164663364653134323764613837393131373631323135373633626261626137
|
|
||||||
36373162336330393831333463646465333037373961663766346634366239646163363361613561
|
|
||||||
65633835313063623933323433333138396236663138386666613734646137366266343230326336
|
|
||||||
63313730333662633133306665623236376163323666356332663237653562333131333233653831
|
|
||||||
37393332343930373535306436613531653931396336353462353361643832393836316337376162
|
|
||||||
35303931363335663135623064393733353161363732366438383237373739636237616665383464
|
|
||||||
31313930343930376633623633363539306663313261393230393164363136306464333639316165
|
|
||||||
39313262303738393834646438363132616233373065656437646566393635383865303766376336
|
|
||||||
35316564643366306435346537666562393732396465633965643238646434346434306236383430
|
|
||||||
34306364373838343332366636653762303664626632396237333334333362393063356535613037
|
|
||||||
62666463356665383234383362653831656533373464303662656431383537663139623338636538
|
|
||||||
33306336613539633864333864633939656665393039343738316431346432363234313535386639
|
|
||||||
61353135666237613534316339313564303132333932386636356234633464323461663434343063
|
|
||||||
32623532313135346666306430326635356539323062623139343037306231343632326136623137
|
|
||||||
30363135616261663966346166623436356262343635653332376462323538653730326263373032
|
|
||||||
33643461386135366636313961333634646339363265303966623762646535653164326539646631
|
|
||||||
38393462326362353934353466346161303461383939623934626339333238336164316637646636
|
|
||||||
64666431373735623366303232356336633738313638303532373062613163323033323761346638
|
|
||||||
64383561383464613664313430393164303132373738646238343361373733326531363666306339
|
|
||||||
30343365623161633730636361616231636262313639386433633438366362343238653036386565
|
|
||||||
64663062613465353362663030346439313032646136383939613464666236323361323030363639
|
|
||||||
32323134326366356463363137656163356634393934383439346434633735646630613661393762
|
|
||||||
37663832626334623665353035626231383366313030623061326533616334623230613339313034
|
|
||||||
64343839336232613562666233393265623331393161333935643666313837383036623633353263
|
|
||||||
31323338303864653630326534666132386261663331393638316662656363333762396666376566
|
|
||||||
61326566396266613862343039643538663865623335633363313265313865336164363062346130
|
|
||||||
38366166323965326138376666373061396235656235333366623265356535336632383837346131
|
|
||||||
38393838323233393336376433353564323536363961393132346631363833613834353338666365
|
|
||||||
32313138376332633231623939393431656538666230396437393734353937636563386439666565
|
|
||||||
34326261386138313962333066326136306638653937656462656539613166666336396463653132
|
|
||||||
63363535333735306331613339643162316531643163373633393962653137366430613630316638
|
|
||||||
36613135343362396564613239653330666135313133646536653039333130306533303165646130
|
|
||||||
30383034666661663239633535333565393463316630613337623663343538656665393266356332
|
|
||||||
62393665656437323566353934346436333733396262623535353435306136366661636463346564
|
|
||||||
34323935373363626233393965383732633237656535393266333564643539336564363638333163
|
|
||||||
32313234303138303531373463646637343862366564626661383732376361643931323933656139
|
|
||||||
63653534343636303431323838336263393234393964303861373237613731656135336263353239
|
|
||||||
66393565643164373132656239373264666133373765623434656434386539353837323637336637
|
|
||||||
39306235656135353337366130363661386138633930376230376666326163393630373437373038
|
|
||||||
36363833356362633434356132303639376437316235346439313764306331643036383632323838
|
|
||||||
38346431663937373431383833363838336530633235326333323131323566356233626665616265
|
|
||||||
34336337343266313265386630646638326232326636373836346161363533636333653435343630
|
|
||||||
66346238373737306430303361346634303465306563306166333061646134363961636239373932
|
|
||||||
62663962333635343338316465643834613265393963313633386639353563376336616239373165
|
|
||||||
33663665336236303139386439663563636132636165626261363534646138613634383332633565
|
|
||||||
38626363336234323034623737366665663631616131656464373465393966613131366465663030
|
|
||||||
32623865363838656238623162343261333132366437613364366539343665643133666563633633
|
|
||||||
34316234326633613337323231633234316238366239386633336161393937613466323763356335
|
|
||||||
61666536316331356337333631643638393335363232346236623564393038656439353863363635
|
|
||||||
30613461363062666330633137623531373532623235393832393332653061353035616339373435
|
|
||||||
62636466646534663562663665623262373666366665383430656134666666643963633530366634
|
|
||||||
31396465343737363439313132343363373834616263616436616631383562353862353033373338
|
|
||||||
38636365633830646637313264386431633361653864393036383932636134396163373239363838
|
|
||||||
39333137386663663261363562376439343437613833656437346566616466353334396162653834
|
|
||||||
30396465313233613362623637353639653238316438653034386639366261623363356134653836
|
|
||||||
39336262663138326662633332653864353462306561663262366636633637643938353962616536
|
|
||||||
62376435656266303836636632343734393035626366396335353330656639636533653937663530
|
|
||||||
38353133383836653639666166343436323831313439306161326133313763323234373164333231
|
|
||||||
33376264666266383438623566666336653565636137336636303739396661306566323436356165
|
|
||||||
38623134333466386531336566333163323632653837316362323163343964616131326636393831
|
|
||||||
64636666326435616532306563333664663366663734333366363839636564633936616265333431
|
|
||||||
61356664646464313533316534626561356435623564366436653362666165306564636539353366
|
|
||||||
39363137343766333666653366636335386534373538663337383538333432383862656362373539
|
|
||||||
65343435366439313239366665663533353562333138383335333761643663333664643865623435
|
|
||||||
39663330306238326434653462363233653666376461386463376530376331646266656230636136
|
|
||||||
64323862366663663836363034383561313765316665643361326263303765613337383334353230
|
|
||||||
62323631636131343639356439386365383937643866656637336439313035613039666139316438
|
|
||||||
36623238303731646132633138326130616261653132353432356530333137373033633938346464
|
|
||||||
38613137393430396330653430653132646537366364646630643638653939383631346339653365
|
|
||||||
32653337373939333664643734376231623636363033313832616465303763326139303436393463
|
|
||||||
65383033323966383566623232613465323034343733633731323939313166366639333863353963
|
|
||||||
32666439613536643866366235353130333637303464663065393761393035346233643238363035
|
|
||||||
30636135633465636630356633663763373633356539333038623332633436333131636637346335
|
|
||||||
64373031613634663361623763663235336365613437306361373435396362306562333836303935
|
|
||||||
35616236363431656238646635373339303962663665633762643765306362626461623961316333
|
|
||||||
39306563363535313931656139366561353639653364386265626432663366353030643735633933
|
|
||||||
36313962653731383734303139333039376535326132383066636635613137626430633430666139
|
|
||||||
62343635633438326331376238663134376639613835376335383439383236656466613663633138
|
|
||||||
37363966363639323463623834663236643734636264396435623963616464383866306539643233
|
|
||||||
35646562636339623231313830323637323263356532643964613930363566353465373634343466
|
|
||||||
39306535313566303838343239303363386533383431666664386265373633356462306466643730
|
|
||||||
33323135636131653863633131656332313763356638313464373433376461653835616565626666
|
|
||||||
39336636653732633061343938353636353730616264613931363434313538366461303131623838
|
|
||||||
64346339653664373134656261313264646164353534666562386639643131653538646634373831
|
|
||||||
35363633653430663434323434333230363734663566303534613733383434643933643139346535
|
|
||||||
32663964353062343161343537383030633564633862616439396634363361646462663832323135
|
|
||||||
63616461343666393737653230666138653830323965383237643266653539363034656437353630
|
|
||||||
36353134653861373063376131303634393034653939663165613830343532626334313133623836
|
|
||||||
31323364646563626339653966363865346361306634353661646135643531373964653231666665
|
|
||||||
66666139653633353566366438363431383037313161333861336362636337633035613935336334
|
|
||||||
39356530346135353239323630383736386261393265386161643833663766653232346633636262
|
|
||||||
36303934653862363731316538626632383835643134663331623230623364333035376339613830
|
|
||||||
30373431663066333136326363653739656139396133373936393130643461646234393764666362
|
|
||||||
33353430383964336637363364383937633139336532633832623830623666656633653534306533
|
|
||||||
30306630363532376639
|
|
||||||
@@ -1,208 +1,70 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
30616234373462636462313766316334346565383062623830346463633964366136303838333630
|
66306532353835666663633632373037633561613261613139306436626532656366336362343465
|
||||||
6166663036386631346364636561666635623162353961650a376163613162303965313166616633
|
3966653330313132663633663462363361373230623262370a623661366633623762656363616537
|
||||||
66663964656631326432363335393739303931323337373739666235346430386438393863613266
|
66323464363164323131663335313264396538313237303432653532393631306635666138316261
|
||||||
6334313437333638350a623330333032636464356535313732313735316338653438323934326339
|
3738653338316132640a643935646530393362346431653966643061643334316238333632346265
|
||||||
61383832643739343632366261326238326361356435613330346530616532343838663539653736
|
66633336316466356566336132626332623661316337613634373036646236363736376561643733
|
||||||
34323238646665393031336132616530356363663565613039623637316165613563656333633031
|
66383830386336653236633933623037316632326266363136613031373439383834653134336237
|
||||||
64343362376262346333643065303963386563643031383838323266653735393966336166623933
|
66363039316661353837383964363163353433383734656564313139383764346533313564616333
|
||||||
36333562643365633862653333623336656439613061666631363565386431633131363664373730
|
36336231363661326638373963393265323365636665653034373536663232353266656365656338
|
||||||
33633735663264643863633832346134393339303361303136333436633637633533343738366236
|
66313034646236356364323238326265633933346530393430373364393837376437623138306630
|
||||||
62643835396539316365343039636237313135363532393338616136383338363038636630303437
|
35306266643835316136323232393630336330346133313963646539636463323862306236653335
|
||||||
61366431353931656332386265306132633832633439316131353763616433366365623862393662
|
30356335366365356439653130376139616336346363656436356333333538373036313266353163
|
||||||
38386132306337646333363235363034653031323333356466303838333563346464383466666239
|
39306365303630636135373731366334623165363336383261386334313061356461303664343133
|
||||||
33626133323565353265336463636361323132363365316435656638653337313266376139343837
|
63383763633566393662623833346662366235323836353639306266383532333736386161393138
|
||||||
37313162313430383365623136306234633261646563343438663035626534666433326261666132
|
36666662306233306439386639666434353639343137653831343666393463323865316464396636
|
||||||
34396137613734616437323262623461623030666361623431396466376166386137373435333130
|
33646238363236303531323131613731343262353365306232343634313637613634626162363566
|
||||||
37383232303864646436306262336362326136656464653439306638663566343866646262353337
|
64326238383331316365343566623464383732653333326534636365386230343836396234396634
|
||||||
66333135613537623962383564623639643563633630323932326265643661373435343636363233
|
63646235356639363036313839643632333066653634323661313263313331393332656131393065
|
||||||
61313633366465623965653838326530626564613264366132653362623930306136303838643039
|
65303338323466383161333237643433303961613266623134383936663866363337653535326133
|
||||||
30303135616561363136666634633437643962306562393662306635623438383337313639313531
|
62323464636638643163313064373736353263356638666434333135656133336534343932613234
|
||||||
65623261643034336163623265333535373133316331356366353533366664373831316465666436
|
32356361346366316262383232653835396435333837633737356335353837336632376337616364
|
||||||
62353739386334313966613863323666633737656237383733666335346237613063633036656536
|
35616365633738366466623835653866663461393738396633343235316231636138333663383364
|
||||||
35656166386432343638303062363566363134303939656537376139343161663438616364663039
|
63376164646563353335333133333665396132343439363861623734336335356663393735313837
|
||||||
38323834326230323930653966326137666637646132336664666537613931663564393935616331
|
34323034336431643362313332633665653837353635303061376235306665336362323630376132
|
||||||
34613131336130396131666630363834396539393030393130323130666363643532323237643930
|
36313539326336656134633564343538636264623932626164366138653035343732396464633863
|
||||||
38366339363532333836333933663837343633656363663462373332613933653036373833656461
|
32613363383366326332383835316666366430623235636536353337373035386361373236363036
|
||||||
34646535383735303266316463636131656637653034656462393130613731383234643934653231
|
31353865333933356561623661353133353864643038626366666431313831353234653430396331
|
||||||
38303039393637363064663766366632383238646438376136303435666331613161343366666133
|
35653864633263613963333734636364366336613430623032666666666266613538663665623437
|
||||||
31353833643830346264323730336338616464633162353037666630313536333735633734316461
|
30643562333561626636646337626234653936616438623738623364653561396638383564333262
|
||||||
35623334623835653331613831663331386362373834643434353866346463643965343561343164
|
39323265346263366530643132303033343835353334373865373561613539613461343962316663
|
||||||
62343464666663643563316362633633646434646632613964316430396334353333633337303063
|
32636461316234313832313635636431326134323638646164396537383963326439633063313063
|
||||||
62326332643830656561363562616539333136393438336666326464646432303739623231353732
|
37353062616233323932343033376636613039343734336630303139616331626431616330396363
|
||||||
32623837643834623532663936636334396333656165316365353333666334656332303131626664
|
65623565653235303630383534343739346234316337343233366530313238623139666538363430
|
||||||
37393835616139366638373636666535383961383365373936623134623962303633373462303530
|
61613833663666386161356331656131356462376463373432316331626531393136393838313065
|
||||||
61343930363065663431316661343932393939343138333435626163633764373230373335636639
|
34323361323836323561633032663833343537663637346330326337363165306237616335333233
|
||||||
64613132313931643164393033636265653362366131646564343164316132326530343839653039
|
35656530303666633438303732623232383965633038616632633164663461393465336233643635
|
||||||
31336163356138613166653434623963366461636236643537633638316563323230326230353339
|
30363334646161363234393533663064363364343838396562626232383036623236343664313366
|
||||||
31653535303032346532356439326538653930376332626530356238633633616638666664343361
|
35646532383164393365343366633134393061633362303164393034653862653535613761356630
|
||||||
65643531333961636330333766613338323137633132643638633235316331393735356138383064
|
65633634393033653363373235323933333766306165326237636530663737393063623664343031
|
||||||
37613463306331363863646436303133383431333563336562333662353861323032383039343536
|
63643538366238363066666566333236653362633861346136663036373731626136383530356466
|
||||||
66303766623638373133613664313665653462336237376464643931363135373935356365343265
|
33326230303864353838333136373736373963386638663164363139386638396265626365356535
|
||||||
64636635333734393864366334643939623664353861396638636336303266386439323436383364
|
35396236306639316631366461373235326665643565326539333739393264373733363163366537
|
||||||
35626165333832316331316535336564373564646461623330303931663831653262386134333233
|
31656366343831616339393065323331636136346236386131306533383436356566633830623163
|
||||||
36393730353037626636353064623265663136346264373334383632643935373638306332353363
|
37303036663935376132323733353433306361383234343962633165616538626564653239393137
|
||||||
65376335666361323461306266623334633465663633633663343865643966326335343865306531
|
65346236656266383130323662636565643033663933346337663836643765656266623563656430
|
||||||
37383337663761666261613533343530366464383737336564666462653233626632636432333962
|
31386365646437306362643965653631373862623266303165386666626430663130666130323062
|
||||||
31303536656430613765316134666435653761356632303639336231363631623934636633313036
|
36326331313838316339653231666138616332653564323635356366316237313662353531336636
|
||||||
66373964633761376230313039313337396132343137666132306535376630303031643236656536
|
31666263313134656136663862303536366631663965343565646637663566656466646435613839
|
||||||
39353463613564336332656265313865386330333134646161616264623964653365643931653362
|
39656230616465653465316633373561343237356637643336373535653438656137323264643239
|
||||||
32646662343462313938383266623835346230643334376466396430633961383437633432366332
|
66363066666161316362383737333638336565613230306138343735633432356661386631383530
|
||||||
32646363336163383531323932383263306563663739393330383036363965316339323466636165
|
64353161396463313532336430613862396537643436396562633665613736663965356335313131
|
||||||
33333563373633383762396338653437623064346432313762383538663632653332303763393830
|
63303563383734353331656164313638386135343336346263643430323932366133306261663562
|
||||||
63366162313164626533616161396361363837333435626366643437643763343635393462396664
|
32633363373537626633373433396565363032323536336263373835653363323661663834333365
|
||||||
65376539383666336365373834303136623039666436366237303966356166666637323663656133
|
65636332383232653933363736363131653032666135373436663834656337653739333338636437
|
||||||
34646330336431353564633666333238366533386433656632333364303965643635313138633763
|
62613463626437306133333632663662303732376364663339306637653534396433643665353366
|
||||||
64616539393235343064383138633830313431376139363636366536363962636361646435313132
|
30633332383136306230613435346536323434666431653834333639343234613631323031643138
|
||||||
64323565393863313961303539633036623561313933376438386137633930333339663864333439
|
38613536336465656232336238653532636664313766633432363364613937323337653464616461
|
||||||
33343031656239626265613436623934343633386162316366613366646135613636643035666238
|
32653939386537663635653733336463303538333431303537323633623834623637666132613030
|
||||||
34363863343965333431623335663562366234613137303562666161316339386236636664623932
|
31666539353762346335643134333637366533313833383634356266653831663333393661353439
|
||||||
62363335376661616564323639653134336535373833633030346265313239653332373331373861
|
64353432393432333865306535643261376536663064323163393266373235623530626138316237
|
||||||
33303439613933313834326438356233633033663062383131613332663364353539646438323932
|
63333631396234326534386238623937626661663265383631386662383866636231646531633562
|
||||||
31653834333866356433316263376437343736333536336265373535616138616432333033316362
|
64323762616431663664613564366562303630313137353838323064333966323062643233353830
|
||||||
38653938393139373565653334383666336366613138363465393135363239666365626635643030
|
37363763666530643535666235383062646163626164353037346365366332366162636563313361
|
||||||
30633865323530633564653739616530346232646131356662383636613065393236323639613332
|
37343861373764653633393930316666613335393232663332323035386431326566663038613861
|
||||||
35303133323035396466383132653561383961323565356436373664653231623331316634663562
|
37303061653936636234363937623162313731353961343337356663623362306461636438333131
|
||||||
31386134336638663432646535613661366563343964666262313161336334653530633534663238
|
32376633663639333534396162383438373863633664383266626537343165396435346337343935
|
||||||
32343633303937396437363263653666363233653433643563656538663662643735633966613033
|
62623232646432346362623430363665353036376564323734346536393430336135306335613238
|
||||||
65373933353461356561663737386461306335653639316638353431386637336135343164336438
|
35633365333430626134353535623363396330343138616530613333633961303930623633663662
|
||||||
64643363633437303335653863376361373038643236643163313335306331333633366565303061
|
65313032353232653233346665616562363138333639323562653035646431313365623036393665
|
||||||
64333163356437333565326262633636626261613862613230363737346138343861616163326463
|
3363
|
||||||
34656561626163663831366566333961666233376237326637303763396435353964346637653239
|
|
||||||
62396264373864623333303063333639383835636633613932616364306232653336623030326335
|
|
||||||
61663331333462316337333666646632653838613333363765613265346331643133396266316631
|
|
||||||
39333834653739303838636633636262396433333530313866363431373935393237613233313162
|
|
||||||
36396336333234333266666232346535616165346537333839326532663061663964383364366337
|
|
||||||
32376563306530353931333265336166666536353637336134376338613062633563353233313137
|
|
||||||
31363664666662646632313533303239373636326364363031643731613632623465383233623132
|
|
||||||
61643033626334653239663239386265613532383762303763393662666266313233623538306165
|
|
||||||
39393036363938323861323639353766313635366336646234636231323230613962353330636163
|
|
||||||
35623736323930313630613536646138353432636265303162393866326364323264343237663331
|
|
||||||
39636466666233393765313630383566383339663230636437646662353436633965363130643038
|
|
||||||
62383834383130633266303462646437623737306436303638646630653735623139616433656163
|
|
||||||
66663734353632666232633735643931396535663630613839663933353238386239333866313430
|
|
||||||
64653836343332346635316165663938636433346163663765326163303730376433353465383637
|
|
||||||
38346134383132623032343136313832653431656564303462303235613431303036623164646337
|
|
||||||
36343565383563376237346666396635386230366566356364343434326163663032366466656132
|
|
||||||
37306235343130643630313061323831633738323161333338363162613665306436353137633932
|
|
||||||
30613762343133376264376237313931643764623636633137303135326632663436363633353535
|
|
||||||
62613337633938376362356436643036386632646637666338316463373632393939383362313934
|
|
||||||
63613465646637373132323933633563626335396366653734653134646633396562346435306362
|
|
||||||
61316630303064643830656163616438393062636331333065386564666235393239623766613764
|
|
||||||
61373933323032663238633639353664306532383338643237303031333461386662656636666437
|
|
||||||
61626638366130353166356332646638373439386435346235373938663163393063393139333139
|
|
||||||
64373835363332626139373161333062316236333330313132346366653939386365396662323536
|
|
||||||
64353433373765353866316262326131323935373434616662666232396137363837616235303933
|
|
||||||
39326532666435623734303031656132353966346566613635633233633831663763383231363665
|
|
||||||
30616464323861626265336238643936363762656435626338636233626639643635616130613335
|
|
||||||
32366632353766353163393538626333353531336434376135623266626563626338313831393762
|
|
||||||
66663663616630646136623163336133363236356530646666396238336430356130326465313264
|
|
||||||
30346163656339363233396537633033386663323063643666663834343737663432376437653766
|
|
||||||
34313565363335633663316539333264383239396165653637356330333137343036336438393861
|
|
||||||
34633933396466623162353737353937396161653032383738343138323166666233383163303230
|
|
||||||
61373230346666373035623231393466613534393236616434643964343336363462323433336630
|
|
||||||
36306138386639333133653764386231303833643233376633613162373164393061663161366533
|
|
||||||
66366137646562353539326131306532363965313536613761366461636338386330346662303264
|
|
||||||
65356266343733663439363238353834316564383431323432643237396339346239643366313462
|
|
||||||
64343334623761353432663234626366303537336130373562666339333965343466663761666338
|
|
||||||
36656264363664383831363565633032306363353938373239376363363531643362376164326166
|
|
||||||
66643865656337626163613831653434316438353861343062636237373864623465666433353935
|
|
||||||
34623133623031373837353039623832636636646162323561356334663734396431323163646164
|
|
||||||
31363863613439336133393837623065346537336239366138323832353338633533383663366434
|
|
||||||
63653262393562373564383431663865333265373938653666636130333361663536643737373433
|
|
||||||
37373962313133313461646631646534326265633933376634396630653161306164616138333737
|
|
||||||
61383161386333323066663062643162623237313763646530376238313263346634643964343438
|
|
||||||
30656236393233616532616465633264393266613562303161646339323031626631663039353364
|
|
||||||
38356464333235633064613434396632626131376534386363346638396661646164373239303836
|
|
||||||
36366336643537386534626539623231343330396162323933326530653233313439303562326461
|
|
||||||
32613064353030323465323031346363656664653962323962313437626431336631343434393038
|
|
||||||
61633238356266653737666231653032326663393365613331393137643039353261343638303065
|
|
||||||
36373131623636373937393432396361613233666538386539336365636339343634303433636436
|
|
||||||
31646235333461363433373162656136643234306661383161653565393830383863343434353431
|
|
||||||
61346534336339316462653862366331306662313537613062663539666636636632653262616633
|
|
||||||
66623434366363303630303534316236633836633938643433396538323938616265636261613237
|
|
||||||
38333031666161313963393164613536393536303131613164633761366261363266616430386562
|
|
||||||
36613865343831653766363866326534393131326336303830613736353532643035363736376237
|
|
||||||
65336430623162646465303430326262646563633135326634333631666530313765373239623564
|
|
||||||
31303831343666663935336436393930353465663461323532663566313334663135626561366663
|
|
||||||
63326461353639393734656531613036333632646265626139366332356464393861366632393532
|
|
||||||
38643131313164386262333062343539626637646233303932663535323735386463623430656336
|
|
||||||
38376433376362303164633331333537316136373631363765653134333334343461356639643533
|
|
||||||
62306233373230663139393537393064366265646162356662623163633232333531363130353631
|
|
||||||
65343666313839366363316135313363376533616437643838333431343634353639333636613831
|
|
||||||
62326432313738376364643837306336613066396164663864633063323662393763366139303363
|
|
||||||
34306538613139366232323962333166626161346364346466633861323362666433303832313337
|
|
||||||
63323864616164313030343730356161316136363465326565356463356438386438376636623235
|
|
||||||
62336664663336623032306434343931346566623739373638623363613835326133386337323235
|
|
||||||
39643566666335306538393330356336373531326565333639306638336631623738383666306337
|
|
||||||
64656333653430353635633061373234393366623264336633373331663564353665343762363934
|
|
||||||
36643866663862373133303639656330376666616133666561386634303039393438313330326565
|
|
||||||
66626561656133653239626365313639383236373430393632353539373164383438643236343630
|
|
||||||
37643961353433616366313465366461356661383163396335396430383134323232343835343665
|
|
||||||
30313935653931356234663466616130313430376138346139346239636433343834636239303465
|
|
||||||
38333830343831376236393832383835363932666130343163373433383862623530623634323934
|
|
||||||
64306131656262633463343138326437646166666461336338353737616565623961373366643830
|
|
||||||
32323033643065633462306532633861633537353036353436643733353837343737656131623764
|
|
||||||
66323732303038653931376433356334653865343863396464373230346163666433623065346531
|
|
||||||
35623938383935333738666432303430633534616536643465636532666233353336336336666464
|
|
||||||
63626334343161613030333861333133326464386430623333373661373538623330393337636439
|
|
||||||
64323932643238656436373131393465663561636534326437336535643534306134666564373734
|
|
||||||
38303432313362646464343861623738353136653262666537623737353361623536623035343063
|
|
||||||
35623930393465613161626136346335363538643363303336663030306637303661663138326130
|
|
||||||
62663363386538376633666365653039303832643937623139646131346462323764353936383661
|
|
||||||
38666335616338306630396139316439333366306366663836623461393666323939666162326233
|
|
||||||
66613663616635396135393064356634663936633865343466343530643339613138616663636462
|
|
||||||
34393665616261393538386133663538663836613036623533366463326539393461313966353562
|
|
||||||
34633266323738343166346337663534376266303563376137656461373734656137306139643163
|
|
||||||
38666465353431363834363530613134383363356161633562313962313934666434336263646365
|
|
||||||
31346161386235396666323362666239343930636662323735396537393265666434373562316366
|
|
||||||
61363566353232646162303637323736656336643463663934636434383161623764346237356532
|
|
||||||
38336437393038356439613763313263336161666265666134656139333934626561356332396634
|
|
||||||
32366536346631663532346437636634386434336332613862393561383664333863636562643737
|
|
||||||
38386232396265346363353735646438386266653533323239313364396236363735646133646664
|
|
||||||
66383336616563656132666235353632666365326139326533623230633239363361623530636435
|
|
||||||
30333931656162316535643731306236333762346464396634323338653063396263643966376630
|
|
||||||
34373237653133643131633462373965666333636163646461653535626566316366656565613138
|
|
||||||
38323563303165373434356361366231376135646135343233393130376261636333386264613334
|
|
||||||
35356333383736623563323131333639396466653635636132346362396337323931316334306338
|
|
||||||
39643263313661366633656133633635653139363661376434616331376364366166383563336566
|
|
||||||
33636464626461643731633965636636383365393932353239373632633461306639353533323161
|
|
||||||
64313165653463306263306133616561373436326432396665656465636632626465346639313739
|
|
||||||
34633938623534373334663265333164393762383935353733623133373163343665316265326364
|
|
||||||
64356138626337636163323465666233383761343561633562333137663363333937643637393661
|
|
||||||
35663666343638653835643136313164663463306536323231656166613937633233396461373339
|
|
||||||
64366161366562336638653030303764356434356438366266616135376661363761336532306530
|
|
||||||
65656534373836636437356466363165393663656437313431353839643034323563656666666332
|
|
||||||
63326633343338383137346165626135366232633764373963393439633235663836353436316233
|
|
||||||
66633432623731656261333239306161396661343562346630633930646136366465346665383365
|
|
||||||
66646665386639626562666434663962636366316161366661396666383562663032376638626664
|
|
||||||
37336339313962613631343664316632393431636464383535656231353033366430623231356231
|
|
||||||
65353332613532393439373764383131623230393165623830343730393262613731386330616465
|
|
||||||
38343431623765393262313266653230323632663534653265376265386431633362356134636339
|
|
||||||
38326335363032303665333164663330323664623865373261343437376435633861623531393265
|
|
||||||
66376336623338343462643739306536633065316433626463373366343463366333346637306466
|
|
||||||
34313333386462353165626261353166613065616437393238393261643936316130393138653036
|
|
||||||
34343165373138313433636539363261303233616636363461633737333338396239393666633838
|
|
||||||
30396364613633653662343534303234366338376137383539373261383039643735656136656366
|
|
||||||
33383930666534393236353339373534663237353065623034346366613038653266636363623330
|
|
||||||
65356631386535653365323361646138346439333731613037616332613836343662346138306239
|
|
||||||
62353135316531333835393464616266366161653964333637336237303334383565666131633631
|
|
||||||
38633133646336656563643739636464386139613833653266393663636431333164336631373162
|
|
||||||
64353161626233303164396537666133353230653961306133633133623066313530646361323265
|
|
||||||
31306163316637666330343739663739643133333461326563646333623238333233313433393731
|
|
||||||
38653332316632366133383862633938663939613731323332343035303831313138383533323137
|
|
||||||
64393262633532646461666336316564613238373662316139306165653861616236346363613062
|
|
||||||
37383133376266616339633262643336656161383236336461663533353034646665663861346632
|
|
||||||
36373162373363613764306637396432356633343533383833383164333230636664613235663039
|
|
||||||
61613732633665393038313937653231613730323766356462303537623866366535326230623835
|
|
||||||
38623866643831616338383466343739646463653535666562613437643737323037316161353737
|
|
||||||
64376239356639646438343466313737333565306637346331616336666339376534363338623761
|
|
||||||
39643837386533343264333338346233343836643231343631303033376537356631356632656134
|
|
||||||
32646434343637393161386233613463623633356430666237643062623363646465373438396465
|
|
||||||
37646336313931663639633736373561363563663039313164666333306436303736646663353666
|
|
||||||
39353037303133376431653038383236643137666363376365613532306636333339363635613562
|
|
||||||
35373865313733316561323366623761363063613961626231326463643965343736396265633633
|
|
||||||
36333565663630636131393330313336396261373537616434623136633738313530363635653232
|
|
||||||
65636231626665623034616162646265376232663336383164336435333336343234613131313538
|
|
||||||
65616331356564666134663335356234306465313439366162393036613232383262653339303062
|
|
||||||
653135663936636133343035323432363038
|
|
||||||
|
|||||||
@@ -1,229 +1,209 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
39663135633963326434303864363561636431643561306162306164653033373166336663376435
|
62316431346466333036383039323736336662386634373664343961343732303963323361663530
|
||||||
6338316264626661303737306537336666613838343037300a316466356335333735373566393965
|
3038393463616438356133633430393535333335663236350a323064386662623762656138373763
|
||||||
63366361373239316363663235653635646133353761343733653336653961303661306338663462
|
36343534333364666466656138313034393239626435323163376239333662373538323530646663
|
||||||
3861373436653334660a346339326433313831316365656331363165303236356136666138376164
|
3961386133613637320a333536636263646133303231386663386237626430626439373435333233
|
||||||
64366361633863343232363062366265323663626439396236613766366665626635636132363863
|
66306661326232303032653066353433363839303630376237363538626537303765663065653336
|
||||||
36303937626130373463613837313035663165613539323766613863396539613237633837373539
|
33346335363733343938393335626661626431343134353164396533373562396332616262666362
|
||||||
39383435653839613665353665386236313462356338306162376331336335386233343264346463
|
62396662653461643331373664653735653563396330303165646233363266333562313532303164
|
||||||
38383661626538386337306331376630393530386533313364623539663134643337303062343331
|
63363566353336646664373633376331633465353037656332333562663731373463636133303637
|
||||||
36353166363731363631366536613764623234313039393237316263346139663536316534613536
|
32346231386463353864343465336333623136336663633531343830613935666535306131326666
|
||||||
32353836376538633465353537663266346335663931663936393731646131666234313361333163
|
30353866646264313536333165373638373034346230373738666531613934313762613131333634
|
||||||
31363664323036613730633233303632623930653533393532333030366633383135313132303161
|
36656566376535643833623631383539363163323933343662306365383732303764346665306363
|
||||||
66333464303663666230363332363834643133623431333235656466313461353331366437346666
|
39336162653734303062346335656431366636626262666639393162346430343737376233613761
|
||||||
62633038353763316465623039663238353664633738356531363039333532373337633664316339
|
38366263663062653332366137346235376261356666663331353430663836626339663064396461
|
||||||
33313961383962336563333764653936636634623739313834363332363831346666643033613436
|
65386431646435313038653131633531326631386436333361316233306465333533393163653437
|
||||||
35363962393032303063633032313534316462393562306132626562343463653432353966626338
|
38633765666362383236386130313961386266353463396138353439643232333965643062356334
|
||||||
65343633626339633932633931306339623662636565653534376263343562353363303663353938
|
37326136396133373061323366383631663165396564623631653362623438336464356633303538
|
||||||
32323561663132383531313533343163653732373938306663313832333261316462313233306537
|
64346435613736633839626561363161383435663333383133343030653835323131373937613435
|
||||||
32383131386636333532373865313236613730343161653265333636303032303139383538336431
|
31396661613534636138616336333538663835623531313835616266653662353262616162646431
|
||||||
36663465313138306139393735303935393836623535373337616537646333336465656265626636
|
34393366633433643536666230356635376332393632333531633139396432613463653030623564
|
||||||
38343463323038303738383132623362323861663665316136336366633134323634623665653033
|
64356232653337613535326661633539333663316566616133663338656139656639393538306332
|
||||||
34653330353061663737386232303637306239396538386361333632383733663635623438383666
|
65333036663563333733383439393332386137313437623834633231646433653233623037346535
|
||||||
34363463353964336664386165663134636538343839656234326565313834303031623335636461
|
62386262373032646230303764323138623332353236653461393838316663633033353339623132
|
||||||
39373465363932623632616536623934326364346239366332376435366536396464306666383963
|
39356438653366633464666638656630333438323936333035383764396334326637656238383932
|
||||||
64643530353134633666353666646534303366653635336637376635353238663264626465636661
|
36313165353534336666626664373033616132643536366335333466346631323262616239343564
|
||||||
38653261383835363130653965643533303131613230303633333663303761393335366137323538
|
38376135616264313461323739616663326631636431633937366534646366383430623062316537
|
||||||
33346631663736653266666432636661653565613037336531626236336465336334626363666138
|
37313536663139656235663335636665633634626237303365326665383965636265353262643362
|
||||||
66343364373737323361326338623061313165623232313036333062636132643261363830353833
|
65323963326430353362346235346434306133376334613831396635373936666565633232316465
|
||||||
65303835646162376431356436366439613564353362363962353062653061623366666636303661
|
61316135336633356534356363636130353837653435343032663361363335623164373835613364
|
||||||
35333430656166373839626535343536343061393232306366613730303135353732326531666563
|
64643365616165393436376263323439613637326434666639613164383066306365396463633633
|
||||||
63323038373066353935646538376536636465616231356234663866393862356433373033313734
|
32633332346335623831383734653838323436346463633435333530363036393838346231663932
|
||||||
61326564636565666337656533326537383061303038613132353634306338623133363934316237
|
38356663653066323966626137623334623739666463366166646636306638393638356332336630
|
||||||
38343364663238636338333234383739393539653737373533653233613037393564336162653131
|
39626534666235613237343634313933653931343831316137656439653266393663343930303462
|
||||||
64636233386536303939373033373631663764626564646639356136306337643164386439393231
|
34666266653162323231376564393662326430353965383364326337363333666562326262326233
|
||||||
64613737343932313635366639613064306632353634303464653938326337643137363139653665
|
36383733646362303330303934326533653365643538623039366265663931613031373862366634
|
||||||
32386266356463353431333535333230336235663433633435303164313736366539383265663139
|
31343835626430663962386532326666346261653236613132373535303937386535303432663766
|
||||||
34383261303330663131396466303734393332363230666262616535363038333331356165656135
|
37313932366562643933303434623234393765363464666362323635646462326438303333393132
|
||||||
38323733623733623735333035356661316164346632323336393464663266363164613463376234
|
32393735303039623135613033636532613763396362366565316536323933366631663765333033
|
||||||
65333966643839343030323232323231383933343931323062653661353964333435633037303161
|
34356536646339346130383338316162646530326239373235663632643034616331356533363234
|
||||||
37356531623064356635623764336339363635303563653233353466356234396664396136366464
|
32373365343435343561623265343237376265663039653634663538313062626633373238356262
|
||||||
63626632303835396164643037653936303739383730373639346261643735303734666237633136
|
64356431353936663536363362626165383662343835626238353036393235343034643465653663
|
||||||
61376665353234333263323032326233653233323438303037306665363932383932646133616263
|
30393861363965636436663732616165393231636235316533663264383265323763656536626166
|
||||||
64623635396532333062363230363530613338373631323563363336366231316638616139376562
|
32363562656266656331353262356435353030323330663032653930363437313934633265333861
|
||||||
66316134386365623438616261353135613066303064353233366664343065316536653165393633
|
33616531326633383237323231353866366531636437356230636330393533333331313566383138
|
||||||
63346538343530346434396362343363393530343034353730383665656666386661613535643764
|
38303562643435383736363036353138626561323530393736666236346639326162383638303165
|
||||||
38336365363764356266393261363235396439376264613932313663323638626566323261316232
|
39616361316632323936653734656264333764356431393635613833346434303861646264373337
|
||||||
64613462303263623765353232303831663737336666663866306234323638313734353039376365
|
31623435646463346630336235653762656561633035343332636135393464393332633139643761
|
||||||
35343133613334306162323961313232356133313338383535316135323930333339663164336430
|
66613964663862626664393133326638343336373962343566646231356261386339393162313438
|
||||||
62626533343734323634306437663437396534356465336532386463363764613639303063616234
|
38303036323132353132653633333064346338653566346437356633666565643730343763373137
|
||||||
33643631323833616532343335633633656332336435356161326339326663316532343161323365
|
36363432346633626336373934646635353264623834303431313466346536653839366661646636
|
||||||
32303736346437366437346237396136353134323162633933623034613735646131373664616135
|
30616461653938633562613536393864376230393262313663666634303566333766626435643333
|
||||||
65656261366432333734353530356663626333616631376433623566353634303862643733323534
|
63393461643266643538343132356130383262366463313132383239323838636361653638653437
|
||||||
33303434613061653561363066643161613266326163623864396366643734366663636433623564
|
61383936303836323931666164373963656138343962326135623565623930346136656566373335
|
||||||
34303833653164646434356463613132336533323561633133623562613266653861643762646565
|
35623132613663356430363139323936643137393337653438306361316464363734313135356362
|
||||||
64646164313531633437636432343134633330366135663334653539313738343638373433666438
|
34636566663636363933363462666635643135323631356262323635323932363035323763623734
|
||||||
66653531356566316435363865633133623035663764396463303632363136643338333664656462
|
34316637626263313734326466366364313732383465383062326137646262383130313365356463
|
||||||
34343665303164323439363936386139303366373234613462313631666364386162333566356337
|
38376565396339346463653833303361646430323636623830646233633362353838333131386461
|
||||||
31666633616265303562396362666532616663343036663138386164386462353363396430336434
|
64323464376361333239313739376436623830393937353934386339366339326439386564306434
|
||||||
62376230386566666636363564393333376564623532393435623166333565636637356266356464
|
66396136656463643462353663633233333931316532346162653961383334656337636261663266
|
||||||
32366663616539626461623534376461303735313565333539643739353866633135313835343434
|
39636331353566343966616166363066623561633837313062633038633137633264346663623730
|
||||||
34383834316630626263306132656562613361306464373733333731346131306163336631373266
|
31336438643536396134643338316637333562663639366133663637646236613963353966643938
|
||||||
37376537623434613864643666336261633632616562393537623861313536613636633064356334
|
30366364643165616435353062323330396631326137633034666330376633353466336230643466
|
||||||
31363935643361643039643564313762626136363563316465626263376162333861333231626164
|
36626366313639373331303734353862336665643962303837393164616266323433316665626436
|
||||||
33353536383137353565613035643136346234346632316539373131303633383039633666613832
|
31303137326331646539373863623638663839373461363135326132646632343764656538393035
|
||||||
66613437316664353132386334663339346533396630303530376239383933333239323136313539
|
30663833653236396563393634373364306536323965656331666465643762643036633866343139
|
||||||
37653432353863373931663734333364363662623132366366383737333034383638376261323734
|
33343438333137643733616530666466376563653535326261633933303539383032643439383030
|
||||||
34376364646366383163396636316435653739666631623063306261386630313765623934663965
|
32643033346463366335303663363339323866316437383366393731373034323763363562333033
|
||||||
66613365623539313338333635343432396563313936303635636564383961303237613263316566
|
35663464336636623835333632623166623163323237353831643666343564303632646539623461
|
||||||
65366631393030373663376334313630396162623663653964323135326634616564306337333762
|
61613864326438653935396434613761376234306261396262323732393338376339613866643639
|
||||||
61663836643934396662343566343638656233343861636366363262303562666563643665663936
|
36386537363536376135323862396363323062356161353638393063336466653437323838633862
|
||||||
63343031353063386261396533613037323130373061313261663865386465366136393364336261
|
62663738353235663230636639616638313237313638626334633061633535373733613734626665
|
||||||
37353961323762303763383738643166643366383363376633373566326635343638646432323037
|
38316464643035343261633466343238393632333530323562333066326334663932643337626530
|
||||||
35346636376562313963396361306465363436376337653032336238353766643861636133303231
|
32373366323364306236653465633964326539646265346466633730396236366638313032613363
|
||||||
62663731656161343866613465386432636437316336306630616261656436323437346663326536
|
32323332613562613835363433376562643431623266323131313031316163366137623434323030
|
||||||
30393739643331303938323666323264393938376235326536343830396238393539633536376339
|
34336234363861366435393532616466363631313535303264643765346631396564613432616363
|
||||||
33623739333831653439343831386638316665326137646262613261666333616532343735363465
|
64336364393563396132646166313163323666373638616136313061386561623338656538373033
|
||||||
37386335326166346563393865336662633735623166326436386638333030643564643936313036
|
38373166333762323065326464363134346335653236613530313235333864393265383633663637
|
||||||
64643864336534333034376232653138663264383530313338663561383938316230303036323765
|
32363134313230333039613137306135373964386230326561626137633133326463373935646239
|
||||||
64303435396235343838323766626138303365383264396534616130386431373061373532363334
|
35316536623932323135306233383332333832396338366561666565323462656666363834346431
|
||||||
36613037333966386165663466396663356535323336366531383632633032353037353337616637
|
61316139343634653538396233656262396466376263643236346438306630666534303337323565
|
||||||
33333432333061643738623037653564366263316435653233303266663133616662636236656134
|
61343636303564363132393236363333653263353061376330653534333762346130653561623039
|
||||||
32636339613533653338623163636563373435616134636663646437323062636565316335663462
|
66656135393864313934393233663738386430333534303432396534623831333363393439386135
|
||||||
31333365666631336136376133653933663634613662363265333137653066386439613937373838
|
35616436303439653132356530626138373934383962396564646237316665323538396666366437
|
||||||
33373935323135653364396536636438313762303764346138373136383934623838636265323066
|
30376339383233383664343965306534386166613964313534636261316537316637343631393836
|
||||||
65396565383131633039333230393464663339343566353634633737636464373330633936356266
|
30613761323964636433613036653631303434346633623166636139326637363537613833386165
|
||||||
61313964636137666365623261386630653030656263373033333666643135373633626534653432
|
34303032346137623736373563303464306232663066373931626532373639343535313830613135
|
||||||
39623761303039393764373261663432333434343862623364323331333839643033653065613634
|
66656261646465366366313436313139376136373939396330393464346365383730626466613530
|
||||||
33653934383233616335396436383065303239356331646165323334616230613137313435393562
|
36303663626337633735633636666164366237323635383664333938373362626164386233663165
|
||||||
32616331356632303662346531353232323732666431623464623061356336643832666634663433
|
30643432356433346536663932616530326339383736343036333663383039613132303263646236
|
||||||
62373463656437393439333765626331383833303866396639303661626664313766346361353864
|
38633939383866646534366663393434373464616165633335373034306133393666326439613761
|
||||||
31636534393938326539323739356362353031356664343136616432363065363265336536636530
|
65373661346661366437663236663236663632356466386564376163636636343666303535653661
|
||||||
65316165643231623339633666386263386665326237323438333537663266666237363966633063
|
66646465386133353539323863656131653238363633336239376131613531396336313562623331
|
||||||
62373236346631646431373139336534643237646131373335393166626665373039633566646662
|
66393466613461393931343765303565383730356131663533346133386337316431366461343731
|
||||||
35623665643835346630366336366231383866333134383939643639393962646231383432656630
|
38646562613462653733323163653062663332393438313238316530653165363762313537333961
|
||||||
37316332653931303234353538393933336461356636353537373432306364373565633666633263
|
39666635363534646232386538396530316232363130666231643363336361336339653461326236
|
||||||
33616461613731393665333265353436663034316134643062343362613934396631333532636339
|
61373932346234343537366433386335353636636666326164393364623035656530333036363632
|
||||||
63313334643238333338663834356565613161323030663136636161623333653365646130666137
|
30643836393939646139646134636362336332383836663862663935383536613031316135613137
|
||||||
33376265636464646337653763636138356666393733363735646131383261306230646135303666
|
62613065363265666165363732636437313536383037313863613937656437316331356630636161
|
||||||
32656461646631393630323534363961346337623563393537336336363538356433363833356131
|
37386335303237313365346134356266336330303134646339353432333062303931336639613365
|
||||||
62366561366463326131393964313033333165333436633334393066303532386630646233343734
|
64353431373862616363616330393034396630333232383661353533323034383762353062303538
|
||||||
62303131323630333664646633646334383333346662613337363161356636643066393938393366
|
62326433366439393030373163656332353636343432633133626139613535363063353263393761
|
||||||
31646131633232373661626436363665636566633638313539356663353063323039386438386330
|
65383238636564663061356561616430633033323233336530663335623538643466343165326434
|
||||||
33653738663233343763336264623335393531306331613338316564313137353730323261333166
|
35313835386566326138663736613838613064306238383063376530636362303938656364653436
|
||||||
64396162363238303831346433373736383662376362653130353862316230663139313966353039
|
32313364653439393132353961343264346231333732323537623065303839663939323466613834
|
||||||
34666364336561663936613134646665393362626366663039333963336234653962613062376337
|
30393138346632623236356130346538643934623762663538666432343065643465663164386564
|
||||||
32343736653031653164303564643932356635663836366136343530333166653232623264376633
|
39356565646566353830383338623939306161373437336230373166316530313331626139633039
|
||||||
32343366313062313963333133303966303333626261373638356131326239316531393463373735
|
32336535633839643532626632356464336533623766626233336335366639346666663931306536
|
||||||
32656633363064633832313537366538636235653830333165393539336133363065393165633734
|
64333239613736343534353663383232626638396438653262393835643138353466373936353234
|
||||||
36626435356462326666666631393564356539356263386236633435386635396661343966623763
|
39626439663463636237306630376231343537623262313635316164316539613231343565333532
|
||||||
62626164346131616661323533353361666633353138626661356362316261663662333034643761
|
66363539626638336637396532386437363438373530393165613434616162353561633839366533
|
||||||
62306566373930353238616337333435663838666263666566313463613132663333303835663335
|
35643265646439393563303433386432316663643165613065306461313939636133613733373138
|
||||||
37363531656136303530323630633437666232633931666564363966616662316231373636613464
|
31623965393466363831626135663335646661373136613934316532333964346230633238646539
|
||||||
35366463623964343239303736393133653962353564366637303264633531643635626334323561
|
38613732393135363430663334316162623330663865393234343730653434386462366234343332
|
||||||
37393966666564633865323135613766383533323161613632316132643466376535373233343030
|
39646636646630303964623662663437326161316635646361623833343136373333336463346230
|
||||||
66616463663064343766383438313938323763656266383337653166396137383538396635613565
|
61353830383364393137343134306665306633396632633634326339393331303231343461623364
|
||||||
63383239643439376137626535356635633832633662643832346438313330666566393263666266
|
32353131333133323939656637633664663437316666623438666335376264353637323562343935
|
||||||
32353534626239626430636133613633633833336563326136366463323666303132303630366661
|
32336261653664303965316132353764346663656466323464643434373736393462616166636162
|
||||||
39663766346638396330623830623237363734646331376537336265393839613737323437306261
|
66336563626536656533316165313735386334393533623038656664333438376536396264353030
|
||||||
65306631353563373961663530393161636539623264313364353731326162383663393466353136
|
35366532613733346366353366623630306630623130653331363165346338343832373338393765
|
||||||
33373337343065646331656639646236656333643033393634383033313636393466376337346435
|
30336130326639333334393338366362646235383635343139643136366630373761386438343130
|
||||||
32336431303834643639343263326637626133363034323138336633306231613936366432643762
|
38613831663533626632623632653934653635633366353130663538326538316636383262386433
|
||||||
61353562306439336131616633643638306361313236326339376135623966326331636164363438
|
34326163363136613861646438323132376139306533643765316435356363643235616365303932
|
||||||
31643132636139616135353339343730656136663962336362373062313266316330386366333134
|
65303737306339633330633937363638663337636538623535323637383761666461306363616338
|
||||||
65316166366331646530323338336238653137346536316132333039373830333631323539353464
|
63356364646463346437303665376266656466636265663864663163333032623836646533326437
|
||||||
38383563346161633739623030303832353133623432303736666566636537616661613034633233
|
34316131633031363966316238643163613838653061383734366631653733633438313038333432
|
||||||
61626230383962323533343661363935343630303731353730666231396263323936306234626630
|
36633963653366353431386261303264323931353465343333323339613138313562616464663931
|
||||||
39323764316262623335353264646533653739306464636138663831313934376465663630356136
|
37663636376633333033383666323161656234346261363536343134343566656530346433383766
|
||||||
35373564333038393831656663396636363237316632303633363438393162333035633066663866
|
61373166666530323637303737653733396333313335646666613936623630303262306565343239
|
||||||
34383531396138643464353938393366636561363334666430393138623337356664343639643862
|
35363639393138323062393436306466383831656638666232616466343065363464313333333162
|
||||||
31343030346139366439643235346639396536393833316332633337626530343831626637363365
|
32393539623737373231636235666233656132383966663964343161626563383965616161623666
|
||||||
63636334336230643933323034636466623262636532623761383766393965623461633832613064
|
31356461653264353239356433646132316462386161356330663932353461386339346530653232
|
||||||
65353933653131363634363936613735353637643435383632323864663039653961623238663865
|
33306566663061616133323230643930643030386633666133313132353436336135383336356563
|
||||||
66336561373865643235646561656139363361386537656561653564633061393334383939623935
|
32393838333532383637363531396234623038386665336363303731376461306630663761303139
|
||||||
61383836643234383261616662623566626662613934323465656464653966616533316637383733
|
64333130356538623032373839313864633561316565383434383962353738353666636366333765
|
||||||
61613137336163326261326563313632383165636139643231313230306330396636633233343732
|
34353334646365616234623031393339663666633765636432666666336261343761333733396534
|
||||||
39653930393533353664666236393130613530623338323362623834656562313534363963386530
|
65303064643535383866623363333162303333393461313964396365363666313134333033383233
|
||||||
65663864626432396533313637323661323166636137333330616466393233323862343766326533
|
63393837636161653031633066326662366366663636313666663834376332356336666530396263
|
||||||
34386234383835356234366230396365613135636634316162653439613131613763656134386638
|
66326634376365343635666130333936346133656263343463613763393738393862353934343237
|
||||||
39356134613037353533306564633938323331663263303831336232303535663532393535643633
|
61316437383830636264326564346535646635386562613466323832343665636630346462333863
|
||||||
36363164316130353630663535366339376438663166333663313134623431613865383136366563
|
32623537396538643964663936623031326265373066313637636232363364653538363064613262
|
||||||
30323739666165663731303363353836376135313562333266623262303033623562626133626135
|
62306561373133373532376366336637393131383233393036313161363563303666303339363230
|
||||||
39393630343731646630626636346432313035636239396536373233653934383031663434353466
|
65633263363064633837363362393632383966366337393030353132346465346463636535303062
|
||||||
31656261653735343832383036373261323963393036623234306633326363366565623366323065
|
37316665653230656363313937663636336336333136306536303861303439366531323266336662
|
||||||
33623062613634316439373765353034353464303230643662626139356364623765356366343462
|
62376339646334303233376134323065363938366162316461626566343235303761633132383433
|
||||||
31336362343361613865623233303034613765376234373733363461333335656537336430653733
|
66303435633336313961333734353236623536653739336164353037343334386163326432303031
|
||||||
30346530356436656561313639633238396364646537333762396331643836343062643232343231
|
37353630346164633766353365613662373936663265353962333566336238336533396639373839
|
||||||
33383234333966643537323164313463373137363334323433393330373139616330373034613437
|
62346564646261303762663366303939393963393134303730383038326562353837623130396439
|
||||||
37616534626136656134653231373438366239316664666263663764623562633966393734393932
|
66636535663137333535393864613464636334363132376562393531376132333230346632363230
|
||||||
39363033656638653331333435623734383365336264633536616132343133333939313332353063
|
32306363336638326235663466333236646130336539333533306236653861313465343661613235
|
||||||
32613337653935613861386234663935636130353066383432316131343262386539633731666539
|
32643633633832636336313431653134623234303534363838306337363164326531343061306264
|
||||||
31383337373365336531356265393339353233326266333264343535343932343331316664333035
|
62643033326137643461636534623965343161636437326165303536343135393163643734373936
|
||||||
30333633386663383333646362316435323137616239316334333836393131336130663966353133
|
61373237326663616461326462393431633765346330313136383030323736313533313662633438
|
||||||
33666230393138623239666266643361393464333938363162353934363962666633656437336666
|
30616335373732303931643131383732646261333432323537393736313438616336306439626535
|
||||||
32643264626464393737303864303938316638636131323936373333353130623631626266616230
|
65306137303464636330303765303663366436353063643434383631376462303530643836366632
|
||||||
36386537326464373062366339303564386133653033396439396238633331383335613336643766
|
64613730316439666462613534383561343632323832383336636535626163316535383833313834
|
||||||
34623133373835363835663134356135643931626563663339613561353465666563393138356635
|
61383433643637366561316665346335623135323361346532656139353261663531396464343638
|
||||||
39376365393639376365353362386635623063623461386539663138343132383963636466353564
|
65653137303664613562333661363636623533333735616231623139343661353866623864363533
|
||||||
30326432303665393636613239313838653265386563393062336436626138313265643636363137
|
62636131393364643938363463303465333430386564306531366436316365613063623866666666
|
||||||
30323166633364376365643964386135303530613435363936333962323935336361376236666632
|
65653261363562653363306331666566336462613661646264306361663835633162323032616236
|
||||||
35656631633264663935626263393930633430373261643661643333613164343434383038653534
|
33393663613762313033396136356339356538376633353837613366326634303438373036633362
|
||||||
66333431373135636339663364333133656534333631666538616632643630613865383330666233
|
30613361633037356633376336353539616134663561663462633336373836373736646363306165
|
||||||
39316564663065363563613663363436333236396436366134316631376635633638393666323764
|
33323935313131376531643733353965353761393532333835616534613062373237353932656234
|
||||||
38353862623931303731386239363264316132343737396564383635663137656330306264393430
|
35356538633032383961326562346161356231613564656336343039616339306335666563323464
|
||||||
33376564303333323530373630633734326535663334623863616266653661663563343533316430
|
31393961636330333966306332373837636135646465316235653533626261393865653932613930
|
||||||
37393061613064383232376637383161653063366436613939366539646261343030663161656461
|
32376539343530326138656361356238653238643830663636656435383634336562306339366330
|
||||||
36616235636262316261363563333036376163616365386266646436326534353630326637393538
|
37613663343837626661383235303238653533326436643236653034636139333630393934633462
|
||||||
30303237666166373231393737353566376433623236383366306563633039303137623039643534
|
39613365636262613736316530663732623837653134653133363032623931663933666262323035
|
||||||
63626461653264336663656265623538393034363036396561366437336138323731656534343565
|
38666662333835336464316434303436373663353333396162653333663234643139386332313762
|
||||||
35316634376334356532346636353961333630336466353439343037343566343131633063303561
|
30303365646236653362376464656165366536303331393935303936306639656331636261646530
|
||||||
38353735376161316432383734353832343263643937396137376537306434363762323437393332
|
39333332626565343964623136643734643664383662663133663431353161303639666437386638
|
||||||
30343964346266636330613831313331633036613736373763343663396334353133623066333138
|
37653332613865636666373634626466623638326237656663323734303363636334643430626533
|
||||||
35666133666639323766663739346434636634356465623733306461343962396361386434396233
|
39386437366430613737376433366539376637393963613137633162653130666535313363343437
|
||||||
38353436623461363238346166626165353434323731616664326265653732326438636435323930
|
39363232366136343937343131303438353837613335326437333166643336306638623665616439
|
||||||
38343833613261623164336430366234656631623538393434346666633636663732336563343832
|
65616662613331623137653539313462336138633739623036623264313835363435303262643031
|
||||||
33636336663930303131346462613630653465363965666631633865303162303933613462363930
|
65316236636432346562643262353663656364353536666138623437373334623131613238353763
|
||||||
39353632393062353565616663323533333462376434356432636361333666623166373163383139
|
61356664323066356533616563336231393432643038306464396664333236326332393161373963
|
||||||
33373034393033623561373338363533356435653639393766333133646230356333636162623466
|
32663435383363356563363134623736363966613834663933633963383463313335643036613633
|
||||||
63353163666638616631383135376239353364343966386433376132643336636139653063363563
|
63336661393531346534373231316537353539373738373433383666313435633433613031643538
|
||||||
31326436333165623265336537326265316266613532653664343162656636356433343836313732
|
36326135306139353032656230663734383437623439333031323163643230613866323535663162
|
||||||
37373466616231613838363738393663663432623535343532316461343034353636363162376563
|
37346161303935333966346565613234356331333031656431376238336438666239623032356435
|
||||||
30336562353861636333613834663139346639303236393737373432326663376130306134363532
|
36653235663664303235303933626163616363633866393337326430376335303736626561386231
|
||||||
34353265393736623962653934356133383037623531313565323538336137623063353230623165
|
34376563633963323565616136343765316365383538333765346365653432353261346533656661
|
||||||
63616231316530356665646236643935326138616564306363663633653166373239316131316236
|
30346433333639626234643630366638616563623133646666323061366530646264363566333530
|
||||||
36376466613164343832613234646234656131376434333236343166333833346664663335353134
|
32623161393733383036336238626236356361656633343732393438663937376163323865653366
|
||||||
33313232363938366430303933633434356137323162323066306634383137336362306639303837
|
34613035623230613362346337343535313139363636353536656131353139363835616236663863
|
||||||
64366539653530346164366638643737336265646632363230306562303233343635363935623736
|
62363666396338653732316133666536393663663030313531616437343761613637636233313431
|
||||||
31643561356435343337313466666139393334613230383431393131323837616262333230653030
|
36306566303832393136663963323836653561653664666661356461313131636435306632343836
|
||||||
64373535313266303338306634643335663062663832326661663335656230353261313430616661
|
64613839633264343239626430363632656162343233626330613538663362356561623965336232
|
||||||
39383031363564666432366632396632623034373631393862326435326432633964316136343630
|
66393432343132643039383138323733353463323263663239303233316366626437336531313562
|
||||||
36646566356566643231373638626433623539376639303564623034623532316138363262333265
|
31626561663962326431336138643438623836633262616533656434343436636134333066613065
|
||||||
63343135653533373834336661373239643332633338343232323331373738326337626134323864
|
66633663643632313436616533326163343733393035636433303336613463333532633066633565
|
||||||
62343762376137343464373232623562343862663466336661663565363839306461393263353365
|
38613932633632353434393433373738326166663764383765613136326630663434363764316431
|
||||||
30656466353161653865353034643063663839393265383237333466366464636534643833376637
|
35353562653363363533363538646336646666393564613933303066333033653965333033316163
|
||||||
38633037363834643536613366376235313439643638626364333864313065343335383462376665
|
61393666383935393261373335626262313661653639643830376265633562356638326336663432
|
||||||
35386661636133613466626363356331346238626339613866316463383263313038626233656161
|
35333936313866383432666239313630613661613433303330363539303462366237313533636263
|
||||||
34613435333932353739616334653038623362613030623435666235343134303661623434303864
|
63376331633865396639643530663237326338383535643930653233306166343834333061346463
|
||||||
34393163623430646530393461383166663832346263656263336366386132633038353839303363
|
61353734613765356165346437336137346639616561643238613565323938386161326139623861
|
||||||
66623563643736383337623536346535376533353231383735313435393930343064363962373064
|
31643866393765656263646663376638656237323532363935353961633361623862316431643861
|
||||||
62663565616564633637353331333236656562353332353263616137636536323237303266376531
|
36333339386266396132613066323834376265396563326261646561323434323639343561613161
|
||||||
34616538646134373464363039333131633039633033616465383533623432373239353235346630
|
38306464383031393633363764303930306163643365333532363138376365316239363361643962
|
||||||
34383466633862313539373738623065363536306661386662663932636163623830353836383666
|
30393333646233363564643661373865373034663131656331386631616466333166373331643963
|
||||||
63393438313933356431386137316137343130333232316661323432383965333361323838646439
|
64346234386338663464356165366461353365323737343165616439646463353661323534323331
|
||||||
36326564613262346134343135646335653263356664313432366338383763323232376166346132
|
66643931636631616331383065613334333262633639636164333165373237623235316434326531
|
||||||
63623563663030323239326161643165316138326630373737333133363765343462356664646432
|
30336663373437343264353032363737633838303034396561303035656234653333636366343463
|
||||||
61313561653333653837613932626566376666393666396236366163616231623963376532613532
|
30393966336664386434303764356531326665376230623830303237346261666162633864393866
|
||||||
65653435613465323832626461303663343061646466303937343938313434663937346563663037
|
63646332616135653138333437356565643333663730333263396466303234643331653836356431
|
||||||
64323863656238383063326164366166623339306661646137333165313662303030353966333834
|
37316434366533316132336238373833346165303062633866623033623037646461346263623734
|
||||||
62326431363636313932326265633561323336626639636233326161383032313432353664356239
|
62393039626239393435316538636433333634616161663833653564353637663864373264313530
|
||||||
37373065323230326264633965343538386638306163666634646630383639656538316430656232
|
30343533306335623130
|
||||||
31646638616137316639383866346562393236373966343935303033626131636463303935626664
|
|
||||||
34393561333339663235333237656332646165663266623932323439616564656636666238623066
|
|
||||||
31376139376138653466646434356365333630396236656133306135363639663730316632393165
|
|
||||||
62396137633064616364626537373663363931356436323731363762633039383137616636366436
|
|
||||||
61343063366262343166303161326638356637373364663862633936383766333431316435336164
|
|
||||||
65323133393337323436623563323838356366656438653733333165313262646163303361626335
|
|
||||||
62616137653137633561633837653330623337356639306564653831333331643335623232306330
|
|
||||||
32393762633631363539636334323837323237373631633837636536363831363831663534363730
|
|
||||||
30316233666262613731613435626239303738386537616132613730633935373932323066356131
|
|
||||||
66393238333432643235346638373339346662363837313336633361323839353164373831396533
|
|
||||||
33326638643133306461636466623536393536613635663234613166653161613635333339353663
|
|
||||||
30356134653036396337656261396162643534313231373665653962643065666466363431333738
|
|
||||||
37626338663738666564663464313731313361353337643565383430643761313638666234626236
|
|
||||||
64646164353737613661613836336361396264386266363830363733613533303162666366383034
|
|
||||||
66373432313236613461333337376539306535316435636534396632366639353061613461666436
|
|
||||||
37343663366239303365626337366263343363306636653531643566623863393234393532373032
|
|
||||||
39373336356263613432303030643436323730323963613539616663663034386638363335326435
|
|
||||||
31633434313963356537623231366161353035356634383262623035363734383438666331303530
|
|
||||||
38313664653063383838663832636264626563323965353536393430323136633439323764363333
|
|
||||||
61306134353161316533
|
|
||||||
|
|||||||
@@ -1,31 +1,26 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
62303937306432656235663330303934363930356632333966343535366438343261323139386135
|
34633334666530383466643739336536363136366631613464383161656535656466616261663232
|
||||||
6238653639363962373032656433623835313834366431380a653866666266313861643035653638
|
6237633664336364643136643738643563653637613136360a363431663336626432616538623435
|
||||||
62343639336336353130363537356635653661333463386637333331353162636438393462353161
|
35373839383830393334663037353262653763353935623332383534376436613161313934316338
|
||||||
3531386264373537340a653431633436353030303733343738616431663831316238613930633038
|
3930623638356537630a616339653631666163376134343535313235363234356664366234663038
|
||||||
62353466313762366561396366376363633132383438646362386239616362306563316461626438
|
30376239633164643335336166663737346262313864626234663839333132386232346139666131
|
||||||
37316232373664656165396237306333336433656464306664653566383761393636396537653331
|
33633463353330343037306365666463653039643235333566663164313730663738663036623539
|
||||||
30666631383234353064313061306164613364326638356636633636343133666638653261366339
|
64636663613566656338636638383066353562306137376432346639316533303665613463333832
|
||||||
37376632336133333736626130336165313735313033373138343662396265636563663234376138
|
37313361623639653533343536616566613865353733656338633833666263323433306431633635
|
||||||
32303137646437626435376463323539636264666663636533363733616637653934333936633139
|
35393333346134333466323239666335613862663935353662373833343635393532633461653932
|
||||||
36363162306237303931343133363238346231633732656535343963636262316363613434336363
|
38303034613166336632376264313961336665303332306165636663306237653336316330376236
|
||||||
36373339336332633332626534643762643264653365353062646663623837626463376363363161
|
31313362616434663861333264306661653532316365306138333131643731346636646365353733
|
||||||
31383865383166396663366230333334373037376333383938363738383862313736313261336234
|
62366335643566636631633630336231353666363965623664376231363164313362366164333431
|
||||||
65326434383165363861343131363139666238646562383837653233656365313932653163626564
|
33323632366335646137666466316530613862373162376461623633333238616637373336333064
|
||||||
38633761343338666662393333393165316563346636636135663133613062333836313561333963
|
39303761353139656333663362303365316131646633303238623031386137656263646364373163
|
||||||
39663733393738336336626438323365366566333331373433326539653565616230643936383737
|
36336633323266393663336462626236353466353266656264343639303739313362313537396238
|
||||||
38356434323433326432316265396661323964653039393164663533653731626162376134616261
|
36303637386266386665663163633438633763386232313861653438303965393938656166656562
|
||||||
39613666393764636331353764306531396339373032636531353165316437616464653237356536
|
63373064396135346361633739663534666230356566366333636266643932316264343339303833
|
||||||
66396661306235333732326136306439316362363063313837383663316361313731303634383331
|
38313233643536356232363636306363333463323133656536366662323963643637343365643035
|
||||||
30626239633235623164396666396533613734613962653030343334343832323664353431393636
|
30393061343630633263303864336438653339323264396434623038363464366235626235326464
|
||||||
38623838306239326537383765643036643830303066616232313935376635346237366434396162
|
62623861333264616331396230383831346163303433653236663738396164643937643663363834
|
||||||
66303932656265316463363432623037383462333638376430616562313238393762616263663138
|
30316530623433313633653639363065343264353630613436393237363930326632343230343538
|
||||||
63326239623666326636396361353764386363613364643935666339336565393830613435373231
|
64356230316530353663663534343739376138653266323037336163386130623361613632393037
|
||||||
64383265666661633664383031646530653539323037613837356638643335653235323135323361
|
33376232666337316536613763623066653431303366656333646361613839323831623562613266
|
||||||
37333731316234646135303566393439363338323264386635336432623862353661313962663965
|
36323263616364653666343264303338373232343063313266653661323933656662386237323637
|
||||||
35333631336233366364633537396234656430373832326334653030363635626439646532643032
|
66666337356337343864613034633934656461653834306338313031366432353263
|
||||||
30636666383865313737353962326665383936613434353830636561323439373537613538393836
|
|
||||||
31353164613631386665353762343938383766323739363363633634363433623039376564346333
|
|
||||||
64323939356238323462346562616335383437326233363838383930396238343261633863393232
|
|
||||||
39346165656662626631376362623663343164376634363532376363623737613962323434313339
|
|
||||||
3133306237396463313938383035643034616133336662636234
|
|
||||||
|
|||||||
6
hosts
6
hosts
@@ -1,4 +1,4 @@
|
|||||||
[ungrouped]
|
[ungrouped]
|
||||||
jackson ansible_host=direct.jackson.alexav.gg ansible_user=iac
|
jade ansible_host=fntz.net ansible_user=alex
|
||||||
nas ansible_host=172.16.0.29 ansible_user=alex
|
jackson ansible_host=direct.jackson.alexav.gg ansible_user=root
|
||||||
bear ansible_host=172.16.0.44 ansible_user=iac
|
nas ansible_host=172.16.0.29 ansible_user=alex
|
||||||
159
main.yml
159
main.yml
@@ -1,23 +1,18 @@
|
|||||||
- hosts: bear
|
- hosts: jade
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- role: traefik
|
- role: traefik
|
||||||
tags: traefik_deploy
|
tags: traefik_deploy
|
||||||
vars:
|
vars:
|
||||||
server: "bear"
|
server: "jade"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Deploy Postgres
|
|
||||||
import_tasks: tasks/postgres.yml
|
|
||||||
tags: postgres_deploy
|
|
||||||
- name: Deploy MariaDB
|
|
||||||
import_tasks: tasks/mariadb.yml
|
|
||||||
tags: mariadb_deploy
|
|
||||||
- name: Deploy AdGuard Home
|
|
||||||
import_tasks: tasks/adguard.yml
|
|
||||||
tags: adguard_deploy
|
|
||||||
- name: Deploy Glance
|
- name: Deploy Glance
|
||||||
import_tasks: tasks/glance.yml
|
import_tasks: tasks/glance.yml
|
||||||
tags: glance_deploy
|
tags: glance_deploy
|
||||||
|
- name: Deploy Servarr
|
||||||
|
import_tasks: tasks/servarr.yml
|
||||||
|
tags: servarr_deploy
|
||||||
- name: Deploy Dozzle
|
- name: Deploy Dozzle
|
||||||
import_tasks: tasks/dozzle.yml
|
import_tasks: tasks/dozzle.yml
|
||||||
tags: dozzle_deploy
|
tags: dozzle_deploy
|
||||||
@@ -27,68 +22,83 @@
|
|||||||
- name: Deploy Homebridge
|
- name: Deploy Homebridge
|
||||||
import_tasks: tasks/homebridge.yml
|
import_tasks: tasks/homebridge.yml
|
||||||
tags: homebridge_deploy
|
tags: homebridge_deploy
|
||||||
|
- name: Deploy PiHole
|
||||||
|
import_tasks: tasks/pihole.yml
|
||||||
|
tags: pihole_deploy
|
||||||
|
- name: Deploy PocketID
|
||||||
|
import_tasks: tasks/pocketid.yml
|
||||||
|
tags: pocketid_deploy
|
||||||
|
- name: Deploy Ntfy
|
||||||
|
import_tasks: tasks/ntfy.yml
|
||||||
|
tags: ntfy_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
|
- name: Deploy Tinyauth
|
||||||
import_tasks: tasks/tinyauth.yml
|
import_tasks: tasks/tinyauth.yml
|
||||||
tags: tinyauth_deploy
|
tags: tinyauth_deploy
|
||||||
- name: Deploy Code Server
|
- name: Deploy Code Server
|
||||||
import_tasks: tasks/codeserver.yml
|
import_tasks: tasks/codeserver.yml
|
||||||
tags: codeserver_deploy
|
tags: codeserver_deploy
|
||||||
- name: Deploy PocketID
|
- name: Deploy Dashdot
|
||||||
import_tasks: tasks/pocketid.yml
|
import_tasks: tasks/dashdot.yml
|
||||||
tags: pocketid_deploy
|
tags: dashdot_deploy
|
||||||
- name: Deploy Scrobbling Setup
|
|
||||||
import_tasks: tasks/scrobbling.yml
|
|
||||||
tags: scrobbling_deploy
|
|
||||||
- name: Deploy Monitoring
|
|
||||||
import_tasks: tasks/monitoring.yml
|
|
||||||
tags: monitoring_deploy
|
|
||||||
- name: Deploy Vaultwarden
|
|
||||||
import_tasks: tasks/vaultwarden.yml
|
|
||||||
tags: vaultwarden_deploy
|
|
||||||
- name: Deploy Tautulli
|
|
||||||
import_tasks: tasks/tautulli.yml
|
|
||||||
tags: tautulli_deploy
|
|
||||||
- name: Deploy Immich
|
|
||||||
import_tasks: tasks/immich.yml
|
|
||||||
tags: immich_deploy
|
|
||||||
- name: Deploy Plex
|
|
||||||
import_tasks: tasks/plex.yml
|
|
||||||
tags: plex_deploy
|
|
||||||
- name: Deploy Frigate
|
|
||||||
import_tasks: tasks/frigate.yml
|
|
||||||
tags: frigate_deploy
|
|
||||||
- name: Deploy Servarr
|
|
||||||
import_tasks: tasks/servarr.yml
|
|
||||||
tags: servarr_deploy
|
|
||||||
- name: Deploy NZBGet
|
|
||||||
import_tasks: tasks/nzbget.yml
|
|
||||||
tags: nzbget_deploy
|
|
||||||
- name: Deploy Gitea Runner
|
|
||||||
import_tasks: tasks/runner.yml
|
|
||||||
tags: runner_deploy
|
|
||||||
- name: Deploy Uptime Kuma
|
|
||||||
import_tasks: tasks/uptime-kuma.yml
|
|
||||||
tags: uptime-kuma_deploy
|
|
||||||
- name: Deploy Duplicati
|
|
||||||
import_tasks: tasks/duplicati.yml
|
|
||||||
tags: duplicati_deploy
|
|
||||||
- name: Deploy Romm
|
- name: Deploy Romm
|
||||||
import_tasks: tasks/romm.yml
|
import_tasks: tasks/romm.yml
|
||||||
tags: romm_deploy
|
tags: romm_deploy
|
||||||
- name: Deploy Booklore
|
- name: Deploy Owncloud
|
||||||
import_tasks: tasks/booklore.yml
|
import_tasks: tasks/owncloud.yml
|
||||||
tags: booklore_deploy
|
tags: owncloud_deploy
|
||||||
- name: Deploy Marreta
|
- name: Deploy Excalidraw
|
||||||
import_tasks: tasks/marreta.yml
|
import_tasks: tasks/excalidraw.yml
|
||||||
tags: marreta_deploy
|
tags: excalidraw_deploy
|
||||||
|
- name: Deploy Vaultwarden
|
||||||
|
import_tasks: tasks/vaultwarden.yml
|
||||||
|
tags: vaultwarden_deploy
|
||||||
|
- name: Deploy Immich
|
||||||
|
import_tasks: tasks/immich.yml
|
||||||
|
tags: immich_deploy
|
||||||
|
- name: Deploy Navidrome
|
||||||
|
import_tasks: tasks/navidrome.yml
|
||||||
|
tags: navidrome_deploy
|
||||||
|
- name: Deploy Drop
|
||||||
|
import_tasks: tasks/drop.yml
|
||||||
|
tags: drop_deploy
|
||||||
|
- name: Deploy Home Assistant
|
||||||
|
import_tasks: tasks/home-assistant.yml
|
||||||
|
tags: home-assistant_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 NFL Proxy
|
||||||
|
import_tasks: tasks/nfl-proxy.yml
|
||||||
|
tags: nfl-proxy_deploy
|
||||||
|
- name: Deploy Uptime Kuma
|
||||||
|
import_tasks: tasks/uptime-kuma.yml
|
||||||
|
tags: uptime-kuma_deploy
|
||||||
|
- name: Deploy CouchDB for obsidian
|
||||||
|
import_tasks: tasks/obsidian.yml
|
||||||
|
tags: obsidian_deploy
|
||||||
|
- name: Deploy Helium services
|
||||||
|
import_tasks: tasks/helium.yml
|
||||||
|
tags: helium_deploy
|
||||||
|
|
||||||
- hosts: jackson
|
- hosts: jackson
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- role: traefik
|
- role: traefik
|
||||||
tags: traefik_deploy
|
tags: traefik_deploy
|
||||||
vars:
|
- role: fivem
|
||||||
server: "jackson"
|
tags: fivem_deploy
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Deploy Gitea
|
- name: Deploy Gitea
|
||||||
@@ -103,31 +113,16 @@
|
|||||||
- name: Deploy Plausible
|
- name: Deploy Plausible
|
||||||
import_tasks: tasks/plausible.yml
|
import_tasks: tasks/plausible.yml
|
||||||
tags: plausible_deploy
|
tags: plausible_deploy
|
||||||
- name: Deploy Pelican
|
- name: Deploy Owncloud
|
||||||
import_tasks: tasks/pelican.yml
|
import_tasks: tasks/owncloud.yml
|
||||||
tags: pelican_deploy
|
tags: owncloud_deploy
|
||||||
- name: Deploy Database
|
|
||||||
import_tasks: tasks/mariadb.yml
|
|
||||||
tags: mariadb_deploy
|
|
||||||
- name: Deploy Floof
|
|
||||||
import_tasks: tasks/floof.yml
|
|
||||||
tags: floof_deploy
|
|
||||||
- name: Deploy Tinyauth
|
|
||||||
import_tasks: tasks/tinyauth.yml
|
|
||||||
tags: tinyauth_deploy
|
|
||||||
- name: Deploy Cobalt
|
|
||||||
import_tasks: tasks/cobalt.yml
|
|
||||||
tags: cobalt_deploy
|
|
||||||
|
|
||||||
- hosts: nas
|
- hosts: nas
|
||||||
|
|
||||||
roles:
|
|
||||||
- role: traefik
|
|
||||||
tags: traefik_deploy
|
|
||||||
vars:
|
|
||||||
server: "nas"
|
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Deploy Wings
|
- name: Deploy Plex
|
||||||
import_tasks: tasks/wings.yml
|
import_tasks: tasks/plex.yml
|
||||||
tags: wings_deploy
|
tags: plex_deploy
|
||||||
|
- name: Deploy Frigate
|
||||||
|
import_tasks: tasks/frigate.yml
|
||||||
|
tags: frigate_deploy
|
||||||
|
|||||||
@@ -1,59 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create folder structure
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
with_items: "{{ directories }}"
|
|
||||||
when: directories is defined
|
|
||||||
|
|
||||||
- name: Clone repository
|
|
||||||
git:
|
|
||||||
repo: "{{ build.git.repo }}"
|
|
||||||
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 }}"
|
|
||||||
tag: "{{ image.tag }}"
|
|
||||||
build:
|
|
||||||
nocache: true
|
|
||||||
path: "{{ build.git.dest }}"
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
source: build
|
|
||||||
force_source: true
|
|
||||||
state: present
|
|
||||||
when: build is defined
|
|
||||||
|
|
||||||
- name: Create Docker Network
|
|
||||||
docker_network:
|
|
||||||
name: "{{ network_name }}"
|
|
||||||
when: network_name is defined
|
|
||||||
|
|
||||||
- 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) }}"
|
|
||||||
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) }}"
|
|
||||||
48
roles/gitea-runner/tasks/main.yml
Normal file
48
roles/gitea-runner/tasks/main.yml
Normal file
@@ -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
|
||||||
16
roles/gitea-runner/templates/act_runner.service.j2
Normal file
16
roles/gitea-runner/templates/act_runner.service.j2
Normal file
@@ -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
|
||||||
16
roles/gitea-runner/templates/config.yml.j2
Normal file
16
roles/gitea-runner/templates/config.yml.j2
Normal file
@@ -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,17 +25,12 @@
|
|||||||
template:
|
template:
|
||||||
src: local-dynamic.yml.j2
|
src: local-dynamic.yml.j2
|
||||||
dest: "{{ data_dir }}/traefik/dynamic.yml"
|
dest: "{{ data_dir }}/traefik/dynamic.yml"
|
||||||
when: server == "jade" or server == "nas" or server == "bear"
|
when: server == "jade" or server == "nas"
|
||||||
- name: Create Traefik Dynamic File (Remote)
|
- name: Create Traefik Dynamic File (Remote)
|
||||||
template:
|
template:
|
||||||
src: remote-dynamic.yml.j2
|
src: remote-dynamic.yml.j2
|
||||||
dest: "{{ data_dir }}/traefik/dynamic.yml"
|
dest: "{{ data_dir }}/traefik/dynamic.yml"
|
||||||
when: server == "jackson"
|
when: server == "jackson"
|
||||||
- name: Create Traefik Dynamic File (Remote 2)
|
|
||||||
template:
|
|
||||||
src: remote-ash-1.yml.j2
|
|
||||||
dest: "{{ data_dir }}/traefik/dynamic.yml"
|
|
||||||
when: server == "ash-1"
|
|
||||||
|
|
||||||
- name: Deploy Traefik Docker Container
|
- name: Deploy Traefik Docker Container
|
||||||
docker_container:
|
docker_container:
|
||||||
@@ -43,7 +38,6 @@
|
|||||||
image: traefik
|
image: traefik
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
pull: true
|
|
||||||
command:
|
command:
|
||||||
- --providers.file.directory=/config
|
- --providers.file.directory=/config
|
||||||
published_ports:
|
published_ports:
|
||||||
|
|||||||
@@ -12,11 +12,6 @@ entryPoints:
|
|||||||
scheme: https
|
scheme: https
|
||||||
webSecure:
|
webSecure:
|
||||||
address: ":443"
|
address: ":443"
|
||||||
transport:
|
|
||||||
respondingTimeouts:
|
|
||||||
readTimeout: 600s
|
|
||||||
writeTimeout: 600s
|
|
||||||
idleTimeout: 180s
|
|
||||||
serversTransport:
|
serversTransport:
|
||||||
insecureSkipVerify: true
|
insecureSkipVerify: true
|
||||||
providers:
|
providers:
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
http:
|
http:
|
||||||
middlewares:
|
|
||||||
tinyauth:
|
|
||||||
forwardauth:
|
|
||||||
address: http://tinyauth:3000/api/auth/traefik
|
|
||||||
|
|
||||||
routers:
|
routers:
|
||||||
plex:
|
plex:
|
||||||
rule: "Host(`tv.fntz.net`)"
|
rule: "Host(`tv.fntz.net`)"
|
||||||
@@ -26,39 +21,40 @@ http:
|
|||||||
- webSecure
|
- webSecure
|
||||||
tls:
|
tls:
|
||||||
certResolver: letsencrypt
|
certResolver: letsencrypt
|
||||||
homebridge:
|
nflproxy:
|
||||||
rule: "Host(`bridge.fntz.net`)"
|
rule: "Host(`nfl.fntz.net`)"
|
||||||
service: homebridge
|
service: nflproxy
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- webSecure
|
- webSecure
|
||||||
tls:
|
tls:
|
||||||
certResolver: letsencrypt
|
certResolver: letsencrypt
|
||||||
wings:
|
nvr:
|
||||||
rule: "Host(`wings.fntz.net`)"
|
rule: "Host(`nvr.fntz.net`)"
|
||||||
service: wings
|
service: nvr
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- webSecure
|
- webSecure
|
||||||
tls:
|
tls:
|
||||||
certResolver: letsencrypt
|
certResolver: letsencrypt
|
||||||
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
plex:
|
plex:
|
||||||
loadBalancer:
|
loadBalancer:
|
||||||
servers:
|
servers:
|
||||||
- url: "http://172.16.0.44:32400"
|
- url: "http://172.16.0.29:32400"
|
||||||
jtraefik:
|
jtraefik:
|
||||||
loadBalancer:
|
loadBalancer:
|
||||||
servers:
|
servers:
|
||||||
- url: "http://100.105.157.6:8080/"
|
- url: "http://jackson:8080/"
|
||||||
traefik:
|
traefik:
|
||||||
loadBalancer:
|
loadBalancer:
|
||||||
servers:
|
servers:
|
||||||
- url: "http://172.16.0.44:8080/"
|
- url: "http://jade:8080/"
|
||||||
homebridge:
|
nflproxy:
|
||||||
loadBalancer:
|
loadBalancer:
|
||||||
servers:
|
servers:
|
||||||
- url: "http://172.16.0.44:8581/"
|
- url: "http://jade:5000/"
|
||||||
wings:
|
nvr:
|
||||||
loadBalancer:
|
loadBalancer:
|
||||||
servers:
|
servers:
|
||||||
- url: "http://jade:8090/"
|
- url: "http://nas:5000/"
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
http:
|
|
||||||
routers:
|
|
||||||
wings:
|
|
||||||
rule: "Host(`ash-1.landite.games`)"
|
|
||||||
service: wings
|
|
||||||
entryPoints:
|
|
||||||
- webSecure
|
|
||||||
tls:
|
|
||||||
certResolver: letsencrypt
|
|
||||||
|
|
||||||
services:
|
|
||||||
wings:
|
|
||||||
loadBalancer:
|
|
||||||
servers:
|
|
||||||
- url: "http://5.161.219.50:8090"
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
http:
|
|
||||||
routers:
|
|
||||||
wings:
|
|
||||||
rule: "Host(`wings.landite.games`)"
|
|
||||||
service: wings
|
|
||||||
entryPoints:
|
|
||||||
- webSecure
|
|
||||||
tls:
|
|
||||||
certResolver: letsencrypt
|
|
||||||
|
|
||||||
services:
|
|
||||||
wings:
|
|
||||||
loadBalancer:
|
|
||||||
servers:
|
|
||||||
- url: "http://5.161.64.174:8090"
|
|
||||||
@@ -5,96 +5,112 @@ import subprocess
|
|||||||
def git_diff():
|
def git_diff():
|
||||||
args = sys.argv
|
args = sys.argv
|
||||||
res = subprocess.run(f"git diff --name-only {args[1]} {args[2]}", capture_output=True, shell=True, text=True)
|
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]
|
return [x for x in res.stdout.strip().split("\n") if "tasks/" in x or "roles/" in x or "host_vars" 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"
|
|
||||||
print(command)
|
|
||||||
return command
|
return command
|
||||||
|
|
||||||
def deploy(tags):
|
def deploy(tag = None, host = None):
|
||||||
print(f"[MAIN] Deploying...")
|
command = construct_command(tag, host)
|
||||||
command = construct_command(tags)
|
|
||||||
|
if tag:
|
||||||
|
print(f"Deploying {tag}...\n")
|
||||||
|
else:
|
||||||
|
print(f"Deploying {host}...\n")
|
||||||
res = subprocess.run(command, shell=True)
|
res = subprocess.run(command, shell=True)
|
||||||
|
|
||||||
return res.returncode == 0
|
return res.returncode == 0
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
dir_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), '../')
|
tasks_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../tasks")
|
||||||
diff = git_diff()
|
diff = git_diff()
|
||||||
|
host_vars_changed_for = []
|
||||||
# containers that need special treatment
|
|
||||||
removed_containers = []
|
|
||||||
vpn_containers = [
|
vpn_containers = [
|
||||||
"tasks/qbittorrent.yml",
|
"tasks/qbittorrent.yml",
|
||||||
"tasks/jackett.yml"
|
"tasks/jackett.yml"
|
||||||
]
|
]
|
||||||
ignore_deploys_for = [
|
|
||||||
"tasks/runner",
|
|
||||||
"templates/runner",
|
|
||||||
"roles/docker"
|
|
||||||
]
|
|
||||||
|
|
||||||
# special actions
|
# because these containers rely on gluetun for network, they need to be recreated when gluetun is recreated
|
||||||
if "tasks/gluetun.yml" in diff:
|
if "tasks/gluetun.yml" in diff:
|
||||||
print("[MAIN] Detected Gluetun in diff, recreating dependent containers..")
|
print("Gluetun detected in diff, queuing dependent containers for recreation")
|
||||||
for container in vpn_containers:
|
for container in vpn_containers:
|
||||||
if container not in diff:
|
if container not in diff:
|
||||||
diff.append(container)
|
diff.append(container)
|
||||||
|
|
||||||
# clean up the diff
|
# when variables update for a host, recreate containers
|
||||||
new_diff = []
|
|
||||||
for file in diff:
|
for file in diff:
|
||||||
split_string = file.split("/")
|
if "host_vars" in file:
|
||||||
service_name = split_string[1].split(".")[0] + "_deploy" if "." in split_string[1] else split_string[1] + "_deploy"
|
hostname = file.split("/")[1].split(".")[0]
|
||||||
|
print(f"Secret file for '{hostname}' changed, will recreate containers on host after deployment")
|
||||||
|
host_vars_changed_for.append(hostname)
|
||||||
|
|
||||||
# i'm not proud of this either
|
deployed = []
|
||||||
if not os.path.exists(os.path.join(dir_path, file)):
|
failed = []
|
||||||
if "roles" in file and not os.path.exists(os.path.join(dir_path, service_name)):
|
for file in diff:
|
||||||
print(f"[MAIN] '{task_name}' role removed, marking for cleanup..")
|
# separating these for now because roles will typically
|
||||||
removed_containers.append(service_name)
|
# have a bunch of other things tied to them
|
||||||
elif "tasks" in task_name:
|
if "roles/" not in file and "host_vars/" not in file:
|
||||||
print(f"[MAIN] '{task_name}' non-existent, marking for cleanup..")
|
task_name = file.split("/")[1].split(".")[0]
|
||||||
removed_containers.append(service_name)
|
task_file_path = os.path.join(tasks_path, file.split("/")[1])
|
||||||
else:
|
|
||||||
if service_name not in ignore_deploys_for and service_name not in new_diff:
|
|
||||||
new_diff.append(service_name)
|
|
||||||
|
|
||||||
if len(new_diff) > 0:
|
if not os.path.exists(task_file_path):
|
||||||
deployed = deploy(new_diff)
|
print(f"{task_name} doesn't exist, running cleanup")
|
||||||
else:
|
res = subprocess.run(f"/usr/bin/docker container stop {task_name}", shell=True)
|
||||||
# success, nothing deployed
|
if res.returncode == 0:
|
||||||
deployed = True
|
subprocess.run(f"/usr/bin/docker container rm {task_name}", shell=True)
|
||||||
|
subprocess.run("/usr/bin/docker image prune -f", shell=True)
|
||||||
|
subprocess.run("/usr/bin/docker container prune -f", shell=True)
|
||||||
|
|
||||||
for task in removed_containers:
|
print(f"Cleaned up container {task_name}")
|
||||||
print(f"[MAIN] Attempting to remove containers related to '{task}'...")
|
|
||||||
if len(task.split("/")) > 1:
|
|
||||||
task_name = task.split("/")[1].split(".")[0]
|
|
||||||
else:
|
|
||||||
task_name = task
|
|
||||||
|
|
||||||
containers = subprocess.Popen(f'docker ps --filter "name={task_name}" -q', shell=True, stdout=subprocess.PIPE)
|
|
||||||
for line in containers.stdout:
|
|
||||||
container_id = line.strip().decode("utf8")
|
|
||||||
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 -f", shell=True)
|
|
||||||
subprocess.run("/usr/bin/docker container prune -f", shell=True)
|
|
||||||
|
|
||||||
if deployed and len(new_diff) > 0:
|
if "host_vars" not in file:
|
||||||
|
# deploy the task, regardless of its status
|
||||||
|
if "roles/" not in file:
|
||||||
|
if task_name not in deployed:
|
||||||
|
task = deploy(tag=task_name)
|
||||||
|
else:
|
||||||
|
task_name = file.split("/")[1]
|
||||||
|
|
||||||
|
if task_name not in deployed:
|
||||||
|
task = deploy(tag=task_name)
|
||||||
|
|
||||||
|
if not task:
|
||||||
|
failed.append(task_name)
|
||||||
|
else:
|
||||||
|
deployed.append(task_name)
|
||||||
|
|
||||||
|
if len(host_vars_changed_for) > 0:
|
||||||
|
for host in host_vars_changed_for:
|
||||||
|
print(f"Redeploying containers on {host} due to host vars update")
|
||||||
|
task = deploy(host=host)
|
||||||
|
if task:
|
||||||
|
deployed.append(host)
|
||||||
|
else:
|
||||||
|
failed.append(host)
|
||||||
|
|
||||||
|
|
||||||
|
if len(failed) <= 0 and len(deployed) > 0:
|
||||||
print("\n---------------------")
|
print("\n---------------------")
|
||||||
print(" Deployment succeeded!")
|
print(" Deployment succeeded!")
|
||||||
print(f" All tasks: {', '.join(new_diff)}")
|
print(f" All tasks: {", ".join(deployed)}")
|
||||||
print("---------------------\n")
|
print("---------------------\n")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
elif not deployed and len(new_diff) > 0:
|
elif len(failed) > 0:
|
||||||
print("\n---------------------")
|
print("\n---------------------")
|
||||||
print(" Deployment failed!")
|
print(" Deployment failed!")
|
||||||
print(f" All tasks: {', '.join(new_diff)}")
|
print(f" Failed tasks: {", ".join(failed)}")
|
||||||
|
print(f" All tasks: {", ".join(deployed)}")
|
||||||
print("---------------------\n")
|
print("---------------------\n")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
elif len(new_diff) <= 0:
|
elif len(deployed) <= 0:
|
||||||
print("[MAIN] Successfully executed, no tasks required execution")
|
print("Successfully executed, no tasks required execution")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@@ -10,39 +10,21 @@ if os.path.exists(host_vars_path):
|
|||||||
|
|
||||||
vaults = os.listdir(host_vars_path)
|
vaults = os.listdir(host_vars_path)
|
||||||
|
|
||||||
# 1st run - extract ungrouped, global variables
|
|
||||||
for vault in vaults:
|
for vault in vaults:
|
||||||
vault_path = os.path.join(host_vars_path, vault)
|
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)
|
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()
|
stdout = vault_contents.stdout.strip().splitlines()
|
||||||
|
|
||||||
for line in stdout:
|
for line in stdout:
|
||||||
if line.startswith("#"):
|
if line.startswith("#") and line not in file_contents:
|
||||||
break
|
file_contents += f"\n{line}\n"
|
||||||
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
|
if ":" in line:
|
||||||
for line in stdout:
|
if line.split(":")[0] not in file_contents:
|
||||||
if has_found_start or line.startswith("#"):
|
file_contents += f'{line.split(":")[0]}:\n'
|
||||||
if not has_found_start:
|
|
||||||
has_found_start = True
|
|
||||||
|
|
||||||
if line.startswith("#") and line not in file_contents:
|
|
||||||
file_contents += f"\n{line}\n"
|
|
||||||
|
|
||||||
if ":" in line:
|
with open(os.path.join(host_vars_path, 'all.template.yml'), 'w', encoding="utf8") as template_file:
|
||||||
if line.split(":")[0] not in file_contents:
|
template_file.write(file_contents)
|
||||||
file_contents += f'{line.split(":")[0]}:\n'
|
template_file.close()
|
||||||
|
|
||||||
with open(os.path.join(host_vars_path, 'all.template.yml'), 'w', encoding="utf8") as template_file:
|
|
||||||
template_file.write(file_contents)
|
|
||||||
template_file.close()
|
|
||||||
|
|
||||||
print("Written to disk!")
|
print("Written to disk!")
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
import requests
|
|
||||||
import subprocess
|
|
||||||
import os
|
|
||||||
import yaml
|
|
||||||
|
|
||||||
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/", "")
|
|
||||||
|
|
||||||
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"]:
|
|
||||||
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()
|
|
||||||
|
|
||||||
deployable_tags = []
|
|
||||||
with open("main.yml", 'r') as file:
|
|
||||||
data = yaml.safe_load(file)
|
|
||||||
for host in data:
|
|
||||||
if "tasks" in host:
|
|
||||||
for task in host['tasks']:
|
|
||||||
deployable_tags.append(task['tags'])
|
|
||||||
|
|
||||||
if len(update_list["images"]) > 0:
|
|
||||||
already_deployed = []
|
|
||||||
actually_updatable = []
|
|
||||||
blacklist = []
|
|
||||||
|
|
||||||
for image in update_list["images"]:
|
|
||||||
if image['result']['has_update']:
|
|
||||||
if image in blacklist:
|
|
||||||
print(f"[UPDATE] Ignoring '{image}' due to its blacklist")
|
|
||||||
elif 'version_update_type' in image['result']['info'] and image['result']['info']['version_update_type'] != "major":
|
|
||||||
actually_updatable.append({ 'reference': image['reference'], 'repository': image['parts']['repository'] })
|
|
||||||
elif 'type' in image['result']['info'] and image['result']['info']['type'] == "digest":
|
|
||||||
actually_updatable.append({ 'reference': image['reference'], 'repository': image['parts']['repository'] })
|
|
||||||
|
|
||||||
print(f"Redeploying {len(actually_updatable)} container(s)..")
|
|
||||||
for image in actually_updatable:
|
|
||||||
ansible_tag = search_for_image(image['repository'])
|
|
||||||
print(ansible_tag, image['reference'])
|
|
||||||
if ansible_tag and ansible_tag in deployable_tags and ansible_tag not in already_deployed:
|
|
||||||
print(f'[UPDATE] Deploying {ansible_tag}..')
|
|
||||||
subprocess.run(f'ANSIBLE_CONFIG=ansible.cfg ansible-playbook main.yml --tags {ansible_tag} --vault-password-file=~/.vault_pass.txt', shell=True)
|
|
||||||
else:
|
|
||||||
print('[UPDATE] Could not find corresponding task, cleaning up..')
|
|
||||||
subprocess.run(f"docker image remove {image['reference']}", shell=True)
|
|
||||||
already_deployed.append(ansible_tag)
|
|
||||||
|
|
||||||
print("\nAll images updated, refreshing Cup")
|
|
||||||
requests.get("https://cup.fntz.net/api/v3/refresh")
|
|
||||||
else:
|
|
||||||
print("No images to update!")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
@@ -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,15 +1,49 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy API Database
|
- name: "Create file structure"
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/api"
|
||||||
|
- "{{ data_dir }}/api/db"
|
||||||
|
- "{{ data_dir }}/api/app"
|
||||||
|
|
||||||
|
- name: "Clone latest API"
|
||||||
|
git:
|
||||||
|
repo: git@git.alexav.gg:alex/api.git
|
||||||
|
dest: "{{ data_dir }}/api/app"
|
||||||
|
|
||||||
|
- name: "Build API Docker Image"
|
||||||
|
docker_image:
|
||||||
|
name: api
|
||||||
|
tag: "latest"
|
||||||
|
build:
|
||||||
|
nocache: true
|
||||||
|
path: "{{ data_dir }}/api/app"
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
source: build
|
||||||
|
force_source: true
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Create API Network
|
||||||
|
docker_network:
|
||||||
|
name: api
|
||||||
|
|
||||||
|
- name: Deploy Redis Container
|
||||||
|
docker_container:
|
||||||
|
name: api_redis
|
||||||
|
image: redis:latest
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: true
|
||||||
|
networks:
|
||||||
|
- name: api
|
||||||
|
|
||||||
|
- name: Deploy Database Container
|
||||||
|
docker_container:
|
||||||
name: api_postgres
|
name: api_postgres
|
||||||
network_name: api
|
image: postgres:latest
|
||||||
directories:
|
restart_policy: unless-stopped
|
||||||
- "{{ data_dir }}/api/db"
|
recreate: true
|
||||||
image:
|
|
||||||
name: postgres
|
|
||||||
tag: "17"
|
|
||||||
networks:
|
networks:
|
||||||
- name: api
|
- name: api
|
||||||
volumes:
|
volumes:
|
||||||
@@ -19,30 +53,15 @@
|
|||||||
POSTGRES_PASSWORD: "{{ API_POSTGRES_PASSWORD }}"
|
POSTGRES_PASSWORD: "{{ API_POSTGRES_PASSWORD }}"
|
||||||
PGDATA: "/var/lib/postgresql/data/pgdata"
|
PGDATA: "/var/lib/postgresql/data/pgdata"
|
||||||
|
|
||||||
- name: Deploy API Redis
|
- name: Deploy API Container
|
||||||
include_role:
|
docker_container:
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: api_redis
|
|
||||||
network_name: api
|
|
||||||
image:
|
|
||||||
name: redis
|
|
||||||
tag: latest
|
|
||||||
networks:
|
|
||||||
- name: api
|
|
||||||
|
|
||||||
- name: Deploy API
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: api
|
name: api
|
||||||
network_name: api
|
image: api:latest
|
||||||
|
recreate: true
|
||||||
|
restart_policy: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- name: api
|
- name: api
|
||||||
- name: "{{ docker_network_name }}"
|
- name: "{{ docker_network_name }}"
|
||||||
image:
|
|
||||||
name: git.alexav.gg/alex/api
|
|
||||||
tag: latest
|
|
||||||
env:
|
env:
|
||||||
NODE_ENV: "production"
|
NODE_ENV: "production"
|
||||||
VERSION: "v4"
|
VERSION: "v4"
|
||||||
@@ -54,13 +73,6 @@
|
|||||||
STEAM_API_KEY: "{{ API_STEAM_API_KEY }}"
|
STEAM_API_KEY: "{{ API_STEAM_API_KEY }}"
|
||||||
CONTACT_WEBHOOK: "{{ API_CONTACT_WEBHOOK }}"
|
CONTACT_WEBHOOK: "{{ API_CONTACT_WEBHOOK }}"
|
||||||
JWT_KEY: "{{ API_JWT_KEY }}"
|
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 }}"
|
|
||||||
MINECRAFT_HOST: "{{ API_MINECRAFT_HOST }}"
|
|
||||||
MINECRAFT_USER: "{{ API_MINECRAFT_USER }}"
|
|
||||||
MINECRAFT_PASSWORD: "{{ API_MINECRAFT_PASSWORD }}"
|
|
||||||
MINECRAFT_DATABASE: "{{ API_MINECRAFT_DATABASE }}"
|
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.aapi.rule: Host(`api.alexav.gg`)
|
traefik.http.routers.aapi.rule: Host(`api.alexav.gg`)
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Deploy Booklore
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: booklore
|
|
||||||
networks:
|
|
||||||
- name: homelab
|
|
||||||
directories:
|
|
||||||
- "{{ data_dir }}/booklore"
|
|
||||||
- "{{ data_dir }}/booklore/data"
|
|
||||||
- "{{ data_dir }}/booklore/books"
|
|
||||||
image:
|
|
||||||
name: booklore/booklore
|
|
||||||
tag: latest
|
|
||||||
env:
|
|
||||||
APP_USER_ID: "{{ PUID }}"
|
|
||||||
APP_GROUP_ID: "{{ PGID }}"
|
|
||||||
TZ: "{{ TZ }}"
|
|
||||||
BOOKLORE_PORT: "6060"
|
|
||||||
DATABASE_URL: jdbc:mariadb://172.16.0.44:3306/booklore
|
|
||||||
DATABASE_USERNAME: booklore
|
|
||||||
DATABASE_PASSWORD: "{{ BOOKLORE_DB_PASS }}"
|
|
||||||
volumes:
|
|
||||||
- "{{ data_dir }}/booklore/data:/app/data"
|
|
||||||
- "{{ data_dir }}/booklore/books:/books"
|
|
||||||
- "{{ media_path }}/Books/Bookdrop:/bookdrop"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.booklore.rule: Host(`books.fntz.net`)
|
|
||||||
traefik.http.routers.booklore.entrypoints: webSecure
|
|
||||||
traefik.http.routers.booklore.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.booklore.loadbalancer.server.port: "6060"
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Deploy Cobalt
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: cobalt
|
|
||||||
image:
|
|
||||||
name: ghcr.io/imputnet/cobalt
|
|
||||||
tag: 11
|
|
||||||
env:
|
|
||||||
API_URL: "https://dl.alexav.gg"
|
|
||||||
TURNSTILE_SITEKEY: "{{ COBALT_TURNSTILE_SITEKEY }}"
|
|
||||||
TURNSTILE_SECRET: "{{ COBALT_TURNSTILE_SECRET }}"
|
|
||||||
JWT_SECRET: "{{ COBALT_JWT_SECRET }}"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.cobalt.rule: Host(`dl.alexav.gg`)
|
|
||||||
traefik.http.routers.cobalt.entrypoints: webSecure
|
|
||||||
traefik.http.routers.cobalt.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.cobalt.loadbalancer.server.port: "9000"
|
|
||||||
@@ -1,14 +1,23 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Code Server
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
name: "codeserver"
|
with_items:
|
||||||
directories:
|
- "{{ data_dir }}/code-server"
|
||||||
- "{{ data_dir }}/code-server"
|
|
||||||
image:
|
- name: Pull latest Code Server Docker Image
|
||||||
name: lscr.io/linuxserver/code-server
|
docker_image:
|
||||||
tag: latest
|
name: lscr.io/linuxserver/code-server
|
||||||
|
tag: latest
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Code Server Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: codeserver
|
||||||
|
image: lscr.io/linuxserver/code-server:latest
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,10 +1,17 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Cup
|
- name: Pull latest Cup Docker Image
|
||||||
include_role:
|
docker_image:
|
||||||
name: docker
|
name: ghcr.io/sergi0g/cup
|
||||||
vars:
|
tag: latest
|
||||||
name: cup
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Cup Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: Cup
|
||||||
|
image: ghcr.io/sergi0g/cup
|
||||||
command: serve
|
command: serve
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
@@ -15,6 +22,4 @@
|
|||||||
traefik.http.routers.cup.entrypoints: webSecure
|
traefik.http.routers.cup.entrypoints: webSecure
|
||||||
traefik.http.routers.cup.tls.certresolver: letsencrypt
|
traefik.http.routers.cup.tls.certresolver: letsencrypt
|
||||||
traefik.http.services.cup.loadbalancer.server.port: "8000"
|
traefik.http.services.cup.loadbalancer.server.port: "8000"
|
||||||
image:
|
traefik.http.routers.cup.middlewares: tinyauth
|
||||||
name: ghcr.io/sergi0g/cup
|
|
||||||
tag: latest
|
|
||||||
|
|||||||
23
tasks/dashdot.yml
Normal file
23
tasks/dashdot.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
- name: Pull latest Dashdot Docker Image
|
||||||
|
docker_image:
|
||||||
|
name: mauricenino/dashdot
|
||||||
|
tag: latest
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Dashdot Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: dashdot
|
||||||
|
image: mauricenino/dashdot
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: true
|
||||||
|
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"
|
||||||
@@ -1,14 +1,18 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Dozzle
|
- name: Pull latest Dozzle Docker Image
|
||||||
include_role:
|
docker_image:
|
||||||
name: docker
|
name: amir20/dozzle
|
||||||
vars:
|
tag: latest
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Dozzle Docker Container
|
||||||
|
docker_container:
|
||||||
name: dozzle
|
name: dozzle
|
||||||
|
image: amir20/dozzle:latest
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
image:
|
|
||||||
name: amir20/dozzle
|
|
||||||
tag: latest
|
|
||||||
volumes:
|
volumes:
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -1,14 +1,50 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Drop
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/drop"
|
||||||
|
- "{{ data_dir }}/drop/db"
|
||||||
|
- "{{ data_dir }}/drop/app"
|
||||||
|
|
||||||
|
- name: Create Drop Network
|
||||||
|
docker_network:
|
||||||
name: drop
|
name: drop
|
||||||
directories:
|
|
||||||
- "{{ data_dir }}/drop/app"
|
- name: Pull latest Drop Docker Image
|
||||||
image:
|
docker_image:
|
||||||
name: ghcr.io/drop-oss/drop
|
name: ghcr.io/drop-oss/drop
|
||||||
tag: latest
|
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:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
- name: drop
|
- name: drop
|
||||||
@@ -16,7 +52,7 @@
|
|||||||
- "{{ media_path }}/Games/Desktop:/library"
|
- "{{ media_path }}/Games/Desktop:/library"
|
||||||
- "{{ data_dir }}/drop/app:/data"
|
- "{{ data_dir }}/drop/app:/data"
|
||||||
env:
|
env:
|
||||||
DATABASE_URL: "postgres://drop:drop@172.16.0.25:5432/drop"
|
DATABASE_URL: "postgres://drop:drop@drop_postgres:5432/drop"
|
||||||
GIANT_BOMB_API_KEY: "{{ DROP_GIANT_BOMB_API_KEY }}"
|
GIANT_BOMB_API_KEY: "{{ DROP_GIANT_BOMB_API_KEY }}"
|
||||||
EXTERNAL_URL: "https://games.fntz.net"
|
EXTERNAL_URL: "https://games.fntz.net"
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Deploy Duplicati
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: duplicati
|
|
||||||
directories:
|
|
||||||
- "{{ 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"
|
|
||||||
- "{{ share_path }}:/source:ro"
|
|
||||||
- "{{ DUPLICATI_SSH_KEY_PATH }}:/app/ssh/id_ed25519:ro"
|
|
||||||
- "{{ DUPLICATI_SSH_PUB_KEY_PATH }}:/app/ssh/id_ed25519.pub:ro"
|
|
||||||
env:
|
|
||||||
PUID: "1000"
|
|
||||||
PGID: "1000"
|
|
||||||
SETTINGS_ENCRYPTION_KEY: "{{ DUPLICATI_ENCRYPTION_KEY }}"
|
|
||||||
networks:
|
|
||||||
- name: "homelab"
|
|
||||||
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"
|
|
||||||
21
tasks/excalidraw.yml
Normal file
21
tasks/excalidraw.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
- name: Pull latest Excalidraw Docker Image
|
||||||
|
docker_image:
|
||||||
|
name: excalidraw/excalidraw
|
||||||
|
tag: latest
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Excalidraw Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: excalidraw
|
||||||
|
image: excalidraw/excalidraw
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: true
|
||||||
|
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"
|
||||||
@@ -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.dz.rule: Host(`floof.alexav.gg`)
|
|
||||||
traefik.http.routers.dz.entrypoints: webSecure
|
|
||||||
traefik.http.routers.dz.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.dz.loadbalancer.server.port: "3001"
|
|
||||||
@@ -1,26 +1,37 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Frigate
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
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
|
name: frigate
|
||||||
directories:
|
image: ghcr.io/blakeblackshear/frigate:stable
|
||||||
- "{{ data_dir }}/frigate"
|
recreate: true
|
||||||
image:
|
|
||||||
name: ghcr.io/blakeblackshear/frigate
|
|
||||||
tag: stable
|
|
||||||
privileged: true
|
privileged: true
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
published_ports:
|
||||||
|
- "5000:5000"
|
||||||
|
- "8555:8555/tcp"
|
||||||
|
- "8555:8555/udp"
|
||||||
|
- "8554:8554"
|
||||||
devices:
|
devices:
|
||||||
- /dev/dri
|
- /dev/dri/renderD128:/dev/dri/renderD128
|
||||||
- /dev/kfd
|
|
||||||
networks:
|
networks:
|
||||||
- name: "{{ docker_network_name }}"
|
- name: "{{ docker_network_name }}"
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- "{{ data_dir }}/frigate:/config"
|
- "{{ data_dir }}/frigate:/config"
|
||||||
- "{{ media_path }}/Cameras:/media/frigate"
|
- "{{ FRIGATE_RECORDINGS_PATH }}:/media/frigate"
|
||||||
env:
|
|
||||||
LIBVA_DRIVER_NAME: radeonsi
|
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.frigate.rule: Host(`nvr.fntz.net`)
|
traefik.http.routers.frigate.rule: Host(`nvr.fntz.net`)
|
||||||
|
|||||||
@@ -1,14 +1,23 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Gitea
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/gitea"
|
||||||
|
|
||||||
|
- 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
|
name: gitea
|
||||||
directories:
|
image: docker.gitea.com/gitea:latest
|
||||||
- "{{ data_dir }}/gitea"
|
restart_policy: unless-stopped
|
||||||
image:
|
recreate: true
|
||||||
name: docker.gitea.com/gitea
|
|
||||||
tag: latest
|
|
||||||
networks:
|
networks:
|
||||||
- name: "{{ docker_network_name }}"
|
- name: "{{ docker_network_name }}"
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,22 +1,32 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Glance
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/glance"
|
||||||
|
- "{{ data_dir }}/glance/config"
|
||||||
|
- "{{ data_dir }}/glance/assets"
|
||||||
|
|
||||||
|
- name: Pull latest Glance Docker Image
|
||||||
|
docker_image:
|
||||||
|
name: glanceapp/glance
|
||||||
|
tag: latest
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Glance Docker Container
|
||||||
|
docker_container:
|
||||||
name: glance
|
name: glance
|
||||||
image:
|
image: glanceapp/glance
|
||||||
name: glanceapp/glance
|
restart_policy: unless-stopped
|
||||||
tag: latest
|
recreate: true
|
||||||
directories:
|
|
||||||
- "{{ data_dir }}/glance"
|
|
||||||
- "{{ data_dir }}/glance/config"
|
|
||||||
- "{{ data_dir }}/glance/assets"
|
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
env:
|
env:
|
||||||
ADGUARD_USERNAME: "{{ GLANCE_ADGUARD_USERNAME }}"
|
PIHOLE_TOKEN: "{{ GLANCE_PIHOLE_TOKEN }}"
|
||||||
ADGUARD_PASSWORD: "{{ GLANCE_ADGUARD_PASSWORD }}"
|
|
||||||
VIDEO_MACHINE: "{{ GLANCE_VIDEO_MACHINE }}"
|
VIDEO_MACHINE: "{{ GLANCE_VIDEO_MACHINE }}"
|
||||||
|
JELLYFIN_URL: "{{ GLANCE_JELLYFIN_URL }}"
|
||||||
|
JELLYFIN_TOKEN: "{{ GLANCE_JELLYFIN_TOKEN }}"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/glance/config:/app/config"
|
- "{{ data_dir }}/glance/config:/app/config"
|
||||||
- "{{ data_dir }}/glance/assets:/app/assets"
|
- "{{ data_dir }}/glance/assets:/app/assets"
|
||||||
|
|||||||
95
tasks/helium.yml
Normal file
95
tasks/helium.yml
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
---
|
||||||
|
- name: Create folder structure
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/helium"
|
||||||
|
|
||||||
|
- name: Clone latest services
|
||||||
|
git:
|
||||||
|
repo: git@git.alexav.gg:alex/helium-services.git
|
||||||
|
dest: "{{ data_dir }}/helium"
|
||||||
|
|
||||||
|
- name: Build NGINX image
|
||||||
|
docker_image:
|
||||||
|
name: helium_nginx
|
||||||
|
tag: "latest"
|
||||||
|
build:
|
||||||
|
args:
|
||||||
|
SERVICES_HOSTNAME: "{{ HELIUM_BASE_URL }}"
|
||||||
|
path: "{{ data_dir }}/helium/svc"
|
||||||
|
dockerfile: "{{ data_dir }}/helium/svc/nginx/Dockerfile"
|
||||||
|
source: build
|
||||||
|
force_source: yes
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Build Extension Proxy image
|
||||||
|
docker_image:
|
||||||
|
name: helium_ext_proxy
|
||||||
|
tag: "latest"
|
||||||
|
build:
|
||||||
|
path: "{{ data_dir }}/helium/svc/extension-proxy"
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
source: build
|
||||||
|
force_source: yes
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Build UBO image
|
||||||
|
docker_image:
|
||||||
|
name: helium_ubo
|
||||||
|
tag: "latest"
|
||||||
|
build:
|
||||||
|
path: "{{ data_dir }}/helium/svc/ubo"
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
source: build
|
||||||
|
force_source: yes
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Create Helium Network
|
||||||
|
docker_network:
|
||||||
|
name: helium
|
||||||
|
|
||||||
|
- name: Create NGINX Container
|
||||||
|
docker_container:
|
||||||
|
name: helium_nginx
|
||||||
|
image: helium_nginx:latest
|
||||||
|
recreate: true
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
shm_size: "512M"
|
||||||
|
networks:
|
||||||
|
- name: helium
|
||||||
|
- name: homelab
|
||||||
|
mounts:
|
||||||
|
- type: tmpfs
|
||||||
|
target: /tmp
|
||||||
|
tmpfs_size: 5G
|
||||||
|
labels:
|
||||||
|
traefik.enable: "true"
|
||||||
|
traefik.http.routers.helium.rule: Host(`helium.fntz.net`)
|
||||||
|
traefik.http.routers.helium.entrypoints: webSecure
|
||||||
|
traefik.http.routers.helium.tls.certresolver: letsencrypt
|
||||||
|
traefik.http.services.helium.loadbalancer.server.port: "80"
|
||||||
|
|
||||||
|
- name: Create UBO Proxy Container
|
||||||
|
docker_container:
|
||||||
|
name: helium_ubo
|
||||||
|
image: helium_ubo:latest
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: true
|
||||||
|
networks:
|
||||||
|
- name: helium
|
||||||
|
env:
|
||||||
|
UBO_PROXY_BASE_URL: "https://{{ HELIUM_BASE_URL }}/ubo"
|
||||||
|
|
||||||
|
- name: Create Extension Proxy Container
|
||||||
|
docker_container:
|
||||||
|
name: helium_ext_proxy
|
||||||
|
image: helium_ext_proxy:latest
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: true
|
||||||
|
networks:
|
||||||
|
- name: helium
|
||||||
|
env:
|
||||||
|
HMAC_SECRET: "{{ HELIUM_EXT_HMAC_SECRET }}"
|
||||||
|
PROXY_BASE_URL: "https://{{ HELIUM_BASE_URL }}/ext"
|
||||||
31
tasks/home-assistant.yml
Normal file
31
tasks/home-assistant.yml
Normal file
@@ -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"
|
||||||
@@ -1,14 +1,30 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Homebridge
|
- name: Create Folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
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
|
name: homebridge
|
||||||
directories:
|
image: homebridge/homebridge:latest
|
||||||
- "{{ data_dir }}/homebridge/homebridge"
|
restart_policy: unless-stopped
|
||||||
image:
|
|
||||||
name: homebridge/homebridge
|
|
||||||
tag: latest
|
|
||||||
network_mode: host
|
network_mode: host
|
||||||
|
recreate: true
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/homebridge:/homebridge"
|
- "{{ 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,28 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Immich DB
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/immich"
|
||||||
|
- "{{ data_dir }}/immich/model-cache"
|
||||||
|
- "{{ data_dir }}/immich/db"
|
||||||
|
|
||||||
|
- name: Create Immich Redis Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: immich_redis
|
||||||
|
image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: true
|
||||||
|
networks:
|
||||||
|
- name: immich
|
||||||
|
|
||||||
|
- name: Create Immich DB Docker Container
|
||||||
|
docker_container:
|
||||||
name: immich_postgres
|
name: immich_postgres
|
||||||
directories:
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
|
||||||
- "{{ data_dir }}/immich"
|
restart_policy: unless-stopped
|
||||||
- "{{ data_dir }}/immich/model-cache"
|
recreate: true
|
||||||
- "{{ data_dir }}/immich/db"
|
|
||||||
image:
|
|
||||||
name: ghcr.io/immich-app/postgres
|
|
||||||
tag: 14-vectorchord0.4.3-pgvectors0.2.0
|
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/immich/db:/var/lib/postgresql/data"
|
- "{{ data_dir }}/immich/db:/var/lib/postgresql/data"
|
||||||
env:
|
env:
|
||||||
@@ -20,25 +32,24 @@
|
|||||||
POSTGRES_INITDB_ARGS: "--data-checksums"
|
POSTGRES_INITDB_ARGS: "--data-checksums"
|
||||||
networks:
|
networks:
|
||||||
- name: immich
|
- name: immich
|
||||||
network_name: immich
|
|
||||||
- name: Deploy Immich Redis
|
# - name: Create Immich ML Docker Container
|
||||||
include_role:
|
# docker_container:
|
||||||
name: docker
|
# name: immich_machine_learning
|
||||||
vars:
|
# image: ghcr.io/immich-app/immich-machine-learning:release
|
||||||
name: immich_redis
|
# restart_policy: unless-stopped
|
||||||
image:
|
# recreate: true
|
||||||
name: docker.io/valkey/valkey
|
# volumes:
|
||||||
tag: 8-bookworm
|
# - "{{ data_dir }}/immich/model-cache:/cache"
|
||||||
networks:
|
# networks:
|
||||||
- name: immich
|
# - name: immich
|
||||||
- name: Deploy Immich Server
|
|
||||||
include_role:
|
- name: Create Immich Server Docker Container
|
||||||
name: docker
|
docker_container:
|
||||||
vars:
|
name: immich_server
|
||||||
name: immich
|
image: ghcr.io/immich-app/immich-server:release
|
||||||
image:
|
restart_policy: unless-stopped
|
||||||
name: ghcr.io/immich-app/immich-server
|
recreate: true
|
||||||
tag: v2.1.0
|
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
- name: immich
|
- name: immich
|
||||||
@@ -46,13 +57,10 @@
|
|||||||
- "{{ IMMICH_UPLOAD_LOCATION }}:/usr/src/app/upload"
|
- "{{ IMMICH_UPLOAD_LOCATION }}:/usr/src/app/upload"
|
||||||
- "/etc/localtime:/etc/localtime:ro"
|
- "/etc/localtime:/etc/localtime:ro"
|
||||||
env:
|
env:
|
||||||
PUID: "{{ PUID }}"
|
|
||||||
PGID: "{{ PGID }}"
|
|
||||||
DB_HOSTNAME: "immich_postgres"
|
DB_HOSTNAME: "immich_postgres"
|
||||||
REDIS_HOSTNAME: "immich_redis"
|
REDIS_HOSTNAME: "immich_redis"
|
||||||
DB_PASSWORD: "{{ IMMICH_DB_PASSWORD }}"
|
DB_PASSWORD: "{{ IMMICH_DB_PASSWORD }}"
|
||||||
DB_USERNAME: "{{ IMMICH_DB_USERNAME }}"
|
DB_USERNAME: "{{ IMMICH_DB_USERNAME }}"
|
||||||
DB_DATABASE_NAME: "{{ IMMICH_DB_DATABASE_NAME }}"
|
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.img.rule: Host(`img.fntz.net`)
|
traefik.http.routers.img.rule: Host(`img.fntz.net`)
|
||||||
|
|||||||
39
tasks/jellyfin.yml
Normal file
39
tasks/jellyfin.yml
Normal file
@@ -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"
|
||||||
35
tasks/kavita.yml
Normal file
35
tasks/kavita.yml
Normal file
@@ -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,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
|
|
||||||
published_ports:
|
|
||||||
- "3306:3306"
|
|
||||||
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,64 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Deploy Marreta
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: marreta
|
|
||||||
network_name: marreta
|
|
||||||
networks:
|
|
||||||
- name: homelab
|
|
||||||
- name: marreta
|
|
||||||
image:
|
|
||||||
name: ghcr.io/manualdousuario/marreta
|
|
||||||
tag: latest
|
|
||||||
env:
|
|
||||||
SITE_NAME: "Marreta"
|
|
||||||
SITE_DESCRIPTION: "Jackson Marreta Instance"
|
|
||||||
SITE_URL: "{{ MARRETA_APP_URL }}"
|
|
||||||
DNS_SERVERS: "1.1.1.1,8.8.8.8"
|
|
||||||
LANGUANGE: "en"
|
|
||||||
LOG_LEVEL: "info"
|
|
||||||
SELENIUM_HOST: "marreta_selenium-hub:4444"
|
|
||||||
CLEANUP_DATS: "7"
|
|
||||||
PROXY_LIST: "url"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.marreta.rule: Host(`ladder.fntz.net`)
|
|
||||||
traefik.http.routers.marreta.entrypoints: webSecure
|
|
||||||
traefik.http.routers.marreta.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.marreta.loadbalancer.server.port: "80"
|
|
||||||
|
|
||||||
- name: Deploy Selenium Hub
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: marreta_selenium-hub
|
|
||||||
networks:
|
|
||||||
- name: marreta
|
|
||||||
image:
|
|
||||||
name: selenium/hub
|
|
||||||
tag: 4.27.0-20241204
|
|
||||||
env:
|
|
||||||
SE_ENABLE_TRACING: "false"
|
|
||||||
GRID_MAX_SESSION: "10"
|
|
||||||
GRID_BROWSER_TIMEOUT: "10"
|
|
||||||
GRID_TIMEOUT: "10"
|
|
||||||
|
|
||||||
- name: Deploy Selenium Chromium
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: marreta_selenium-chromium
|
|
||||||
shm_size: 2gb
|
|
||||||
networks:
|
|
||||||
- name: marreta
|
|
||||||
image:
|
|
||||||
name: selenium/node-chromium
|
|
||||||
tag: 4.27.0-20241204
|
|
||||||
env:
|
|
||||||
SE_EVENT_BUS_HOST: "marreta_selenium-hub"
|
|
||||||
SE_EVENT_BUS_PUBLISH_PORT: "4442"
|
|
||||||
SE_EVENT_BUS_SUBSCRIBE_PORT: "4443"
|
|
||||||
SE_ENABLE_TRACING: "false"
|
|
||||||
SE_NODE_MAX_SESSIONS: "10"
|
|
||||||
SE_NODE_OVERRIDE_MAX_SESSIONS: "true"
|
|
||||||
@@ -1,139 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create folder structure
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/monitoring"
|
|
||||||
- "{{ data_dir }}/monitoring/grafana"
|
|
||||||
- "{{ data_dir }}/monitoring/loki"
|
|
||||||
- "{{ data_dir }}/monitoring/promtail"
|
|
||||||
- "{{ data_dir }}/monitoring/prometheus"
|
|
||||||
|
|
||||||
# copy configs for loki, promtail & prometheus
|
|
||||||
- name: Create Loki Configuration
|
|
||||||
template:
|
|
||||||
src: templates/monitoring/loki.yaml.j2
|
|
||||||
dest: "{{ data_dir }}/monitoring/loki/loki-config.yaml"
|
|
||||||
- name: Create Promtail Configuration
|
|
||||||
template:
|
|
||||||
src: templates/monitoring/promtail.yaml.j2
|
|
||||||
dest: "{{ data_dir }}/monitoring/promtail/promtail-config.yaml"
|
|
||||||
- name: Create Prometheus Configuration
|
|
||||||
template:
|
|
||||||
src: templates/monitoring/prometheus.yml.j2
|
|
||||||
dest: "{{ data_dir }}/monitoring/prometheus/prometheus.yml"
|
|
||||||
|
|
||||||
- name: Deploy Prometheus
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: monitoring_prometheus
|
|
||||||
network_name: "monitoring"
|
|
||||||
networks:
|
|
||||||
- name: "monitoring"
|
|
||||||
- name: "homelab"
|
|
||||||
image:
|
|
||||||
name: prom/prometheus
|
|
||||||
tag: latest
|
|
||||||
volumes:
|
|
||||||
- "{{ data_dir }}/monitoring/prometheus:/etc/prometheus"
|
|
||||||
- "{{ data_dir }}/monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.prom.rule: Host(`prom.fntz.net`)
|
|
||||||
traefik.http.routers.prom.entrypoints: webSecure
|
|
||||||
traefik.http.routers.prom.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.prom.loadbalancer.server.port: "9090"
|
|
||||||
|
|
||||||
- name: Deploy Promtail
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: monitoring_promtail
|
|
||||||
image:
|
|
||||||
name: grafana/promtail
|
|
||||||
tag: latest
|
|
||||||
networks:
|
|
||||||
- name: monitoring
|
|
||||||
command: -config.file=/etc/promtail/config.yaml
|
|
||||||
volumes:
|
|
||||||
- "{{ data_dir }}/monitoring/promtail/promtail-config.yaml:/etc/promtail/config.yaml"
|
|
||||||
- "/var/log:/var/log:ro"
|
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
||||||
- "/var/lib/docker/containers:/var/lib/docker/containers:ro"
|
|
||||||
|
|
||||||
- name: Deploy Loki
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: monitoring_loki
|
|
||||||
volume_name: grafana-loki
|
|
||||||
image:
|
|
||||||
name: grafana/loki
|
|
||||||
tag: latest
|
|
||||||
volumes:
|
|
||||||
- "{{ data_dir }}/monitoring/loki/loki-config.yaml:/etc/loki/local-config.yaml"
|
|
||||||
- "grafana-loki:/loki"
|
|
||||||
networks:
|
|
||||||
- name: "monitoring"
|
|
||||||
|
|
||||||
- name: Deploy Node Exporter
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: monitoring_node-exporter
|
|
||||||
image:
|
|
||||||
name: prom/node-exporter
|
|
||||||
tag: latest
|
|
||||||
command:
|
|
||||||
- "--path.rootfs=host"
|
|
||||||
network_mode: host
|
|
||||||
pid_mode: host
|
|
||||||
volumes:
|
|
||||||
- "/:/host:ro,rslave"
|
|
||||||
|
|
||||||
- name: Deploy CAdvisor
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: monitoring_cadvisor
|
|
||||||
image:
|
|
||||||
name: ghcr.io/google/cadvisor
|
|
||||||
tag: 0.55.1
|
|
||||||
networks:
|
|
||||||
- name: "monitoring"
|
|
||||||
volumes:
|
|
||||||
- "/:/rootfs:ro"
|
|
||||||
- "/var/run:/var/run:ro"
|
|
||||||
- "/sys:/sys:ro"
|
|
||||||
- "/var/lib/docker:/var/lib/docker:ro"
|
|
||||||
- "/dev/disk:/dev/disk:ro"
|
|
||||||
privileged: true
|
|
||||||
devices:
|
|
||||||
- /dev/kmsg
|
|
||||||
|
|
||||||
- name: Deploy Grafana
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: monitoring_grafana
|
|
||||||
volume_name: "grafana-storage"
|
|
||||||
networks:
|
|
||||||
- name: "monitoring"
|
|
||||||
- name: "homelab"
|
|
||||||
image:
|
|
||||||
name: grafana/grafana
|
|
||||||
tag: latest
|
|
||||||
user: "{{ PUID }}"
|
|
||||||
volumes:
|
|
||||||
- "grafana-storage:/var/lib/grafana"
|
|
||||||
env:
|
|
||||||
GF_AUTH_ANONYMOUS_ENABLED: "{{ GRAFANA_AUTH_ANONYMOUS_ENABLED }}"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.grafana.rule: Host(`grafana.fntz.net`)
|
|
||||||
traefik.http.routers.grafana.entrypoints: webSecure
|
|
||||||
traefik.http.routers.grafana.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.grafana.loadbalancer.server.port: "3000"
|
|
||||||
traefik.http.routers.grafana.middlewares: tinyauth
|
|
||||||
54
tasks/nextcloud.yml
Normal file
54
tasks/nextcloud.yml
Normal file
@@ -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"
|
||||||
23
tasks/nfl-proxy.yml
Normal file
23
tasks/nfl-proxy.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
- name: Create folder structure
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/nfl-proxy"
|
||||||
|
|
||||||
|
- name: "Clone latest NFL-Proxy"
|
||||||
|
git:
|
||||||
|
repo: "git@git.alexav.gg:alex/nfl-proxy.git"
|
||||||
|
dest: "{{ data_dir }}/nfl-proxy"
|
||||||
|
|
||||||
|
- name: "Stop & remove existing PM2 containers"
|
||||||
|
ignore_errors: yes
|
||||||
|
shell: |
|
||||||
|
/home/alex/.nvm/versions/node/v24.4.0/bin/pm2 delete "nfl-proxy"
|
||||||
|
|
||||||
|
- name: "Start new PM2 container"
|
||||||
|
args:
|
||||||
|
chdir: "{{ data_dir }}/nfl-proxy"
|
||||||
|
shell: |
|
||||||
|
/home/alex/.nvm/versions/node/v24.4.0/bin/pm2 start --name="nfl-proxy" "venv/bin/activate && venv/bin/python main.py"
|
||||||
36
tasks/ntfy.yml
Normal file
36
tasks/ntfy.yml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
---
|
||||||
|
- name: Create folder structure
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/ntfy"
|
||||||
|
- "{{ data_dir }}/ntfy/cache"
|
||||||
|
- "{{ data_dir }}/ntfy/data"
|
||||||
|
|
||||||
|
- name: Pull latest Ntfy Docker Image
|
||||||
|
docker_image:
|
||||||
|
name: binwiederhier/ntfy
|
||||||
|
tag: latest
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Ntfy Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: ntfy
|
||||||
|
image: binwiederhier/ntfy
|
||||||
|
command: serve
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: true
|
||||||
|
networks:
|
||||||
|
- name: homelab
|
||||||
|
volumes:
|
||||||
|
- "{{ data_dir }}/ntfy/cache:/var/cache/ntfy"
|
||||||
|
- "{{ data_dir }}/ntfy/data:/etc/ntfy"
|
||||||
|
env:
|
||||||
|
UPSTREAM_BASE_URL: "{{ NTFY_UPSTREAM_BASE_URL }}"
|
||||||
|
BASE_URL: "{{ NTFY_BASE_URL }}"
|
||||||
|
labels:
|
||||||
|
traefik.enable: "true"
|
||||||
|
traefik.http.routers.ntfy.rule: Host(`push.fntz.net`)
|
||||||
|
traefik.http.routers.ntfy.entrypoints: webSecure
|
||||||
|
traefik.http.routers.ntfy.tls.certresolver: letsencrypt
|
||||||
@@ -1,25 +1,34 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy NZBGet
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/nzbget"
|
||||||
|
|
||||||
|
- 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
|
name: nzbget
|
||||||
directories:
|
image: lscr.io/linuxserver/nzbget:latest
|
||||||
- "{{ data_dir }}/nzbget"
|
restart_policy: unless-stopped
|
||||||
image:
|
recreate: true
|
||||||
name: lscr.io/linuxserver/nzbget
|
|
||||||
tag: latest
|
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/nzbget:/config"
|
- "{{ data_dir }}/nzbget:/config"
|
||||||
- "{{ media_path }}/Downloads:/downloads"
|
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
|
||||||
env:
|
env:
|
||||||
NZBGET_USER: "{{ NZBGET_USER }}"
|
NZBGET_USER: "{{ NZBGET_USER }}"
|
||||||
NZBGET_PASS: "{{ NZBGET_PASS }}"
|
NZBGET_PASS: "{{ NZBGET_PASS }}"
|
||||||
TZ: "{{ TZ }}"
|
TZ: "{{ TZ }}"
|
||||||
PUID: "1000"
|
PUID: "{{ PUID }}"
|
||||||
PGID: "1000"
|
PGID: "{{ PGID }}"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.nzb.rule: Host(`nzb.fntz.net`)
|
traefik.http.routers.nzb.rule: Host(`nzb.fntz.net`)
|
||||||
|
|||||||
36
tasks/obsidian.yml
Normal file
36
tasks/obsidian.yml
Normal file
@@ -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"
|
||||||
93
tasks/owncloud.yml
Normal file
93
tasks/owncloud.yml
Normal file
@@ -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"
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Deploy Pelican Panel
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: Pelican
|
|
||||||
directories:
|
|
||||||
- "{{ data_dir }}/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.21.0.0/16"
|
|
||||||
APP_URL: "https://{{ PELICAN_APP_URL }}"
|
|
||||||
ADMIN_EMAIL: "{{ PELICAN_EMAIL }}"
|
|
||||||
PUID: "{{ PUID }}"
|
|
||||||
PGID: "{{ PGID }}"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.pelican.rule: Host(`panel.landite.games`)
|
|
||||||
traefik.http.routers.pelican.entrypoints: webSecure
|
|
||||||
traefik.http.routers.pelican.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.pelican.loadbalancer.server.port: "80"
|
|
||||||
36
tasks/pihole.yml
Normal file
36
tasks/pihole.yml
Normal file
@@ -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:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
|
owner: 999
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_dir }}/plausible"
|
- "{{ data_dir }}/plausible"
|
||||||
- "{{ data_dir }}/plausible/app"
|
- "{{ data_dir }}/plausible/app"
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
devices:
|
devices:
|
||||||
- /dev/dri:/dev/dri
|
- /dev/dri:/dev/dri
|
||||||
env:
|
env:
|
||||||
PUID: "1000"
|
PUID: "{{ PUID }}"
|
||||||
PGID: "1000"
|
PGID: "{{ PGID }}"
|
||||||
TZ: "{{ TZ }}"
|
TZ: "{{ TZ }}"
|
||||||
VERSION: "docker"
|
VERSION: "docker"
|
||||||
PLEX_CLAIM: "{{ PLEX_CLAIM_TOKEN }}"
|
PLEX_CLAIM: "{{ PLEX_CLAIM_TOKEN }}"
|
||||||
|
|||||||
@@ -1,20 +1,28 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy PocketID
|
- name: Create Folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/pocketid"
|
||||||
|
|
||||||
|
- name: Pull latest PocketID Docker Image
|
||||||
|
docker_image:
|
||||||
|
name: ghcr.io/pocket-id/pocket-id
|
||||||
|
tag: v1
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create PocketID Docker Container
|
||||||
|
docker_container:
|
||||||
name: pocketid
|
name: pocketid
|
||||||
directories:
|
image: ghcr.io/pocket-id/pocket-id:v1
|
||||||
- "{{ data_dir }}/pocketid"
|
restart_policy: unless-stopped
|
||||||
image:
|
recreate: true
|
||||||
name: ghcr.io/pocket-id/pocket-id
|
|
||||||
tag: v2
|
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/pocketid:/app/data"
|
- "{{ data_dir }}/pocketid:/app/data"
|
||||||
env:
|
env:
|
||||||
ENCRYPTION_KEY: "{{ POCKETID_ENCRYPTION_KEY }}"
|
|
||||||
APP_URL: "{{ POCKETID_APP_URL }}"
|
APP_URL: "{{ POCKETID_APP_URL }}"
|
||||||
TRUST_PROXY: "{{ POCKETID_TRUST_PROXY }}"
|
TRUST_PROXY: "{{ POCKETID_TRUST_PROXY }}"
|
||||||
PUID: "{{ PUID }}"
|
PUID: "{{ PUID }}"
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Deploy Postgres
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: postgres
|
|
||||||
image:
|
|
||||||
name: postgres
|
|
||||||
tag: 18-alpine
|
|
||||||
published_ports:
|
|
||||||
- "5432:5432"
|
|
||||||
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,89 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create folder structure
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/pterodactyl"
|
|
||||||
- "{{ data_dir }}/pterodactyl/var"
|
|
||||||
- "{{ data_dir }}/pterodactyl/logs"
|
|
||||||
- "{{ data_dir }}/pterodactyl/nginx"
|
|
||||||
- "{{ data_dir }}/pterodactyl/db"
|
|
||||||
|
|
||||||
- name: Create Pterodactyl Network
|
|
||||||
docker_network:
|
|
||||||
name: pterodactyl
|
|
||||||
|
|
||||||
- name: Pull latest MariaDB Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: mariadb
|
|
||||||
tag: "10.5"
|
|
||||||
source: pull
|
|
||||||
- name: Pull latest Redis Docker image
|
|
||||||
docker_image:
|
|
||||||
name: redis
|
|
||||||
tag: 7-alpine
|
|
||||||
source: pull
|
|
||||||
- name: Pull latest Pterodactyl Docker image
|
|
||||||
docker_image:
|
|
||||||
name: ghcr.io/pterodactyl/panel
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Redis Container
|
|
||||||
docker_container:
|
|
||||||
name: pterodactyl_redis
|
|
||||||
image: redis:7-alpine
|
|
||||||
recreate: true
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
networks:
|
|
||||||
- name: pterodactyl
|
|
||||||
|
|
||||||
- name: Create Database Container
|
|
||||||
docker_container:
|
|
||||||
name: pterodactyl_db
|
|
||||||
image: mariadb:10.5
|
|
||||||
command: --default-authentication-plugin=mysql_native_password
|
|
||||||
recreate: true
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- "{{ data_dir }}/pterodactyl/db:/var/lib/mysql"
|
|
||||||
networks:
|
|
||||||
- name: pterodactyl
|
|
||||||
env:
|
|
||||||
MYSQL_DATABASE: "panel"
|
|
||||||
MYSQL_USER: "pterodactyl"
|
|
||||||
MYSQL_ROOT_PASSWORD: "{{ PTERODACTYL_MYSQL_ROOT_PASSWORD }}"
|
|
||||||
MYSQL_PASSWORD: "{{ PTERODACTYL_MYSQL_PASSWORD }}"
|
|
||||||
|
|
||||||
- name: Create Pterodactyl Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: pterodactyl
|
|
||||||
image: ghcr.io/pterodactyl/panel:latest
|
|
||||||
recreate: true
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
networks:
|
|
||||||
- name: pterodactyl
|
|
||||||
- name: "{{ docker_network_name }}"
|
|
||||||
volumes:
|
|
||||||
- "{{ data_dir }}/pterodactyl/nginx:/etc/nginx/http.d"
|
|
||||||
- "{{ data_dir }}/pterodactyl/logs:/app/storage/logs"
|
|
||||||
- "{{ data_dir }}/pterodactyl/var:/app/var"
|
|
||||||
env:
|
|
||||||
APP_URL: "{{ PTERODACTYL_APP_URL }}"
|
|
||||||
APP_ENVIRONMENT_ONLY: "false"
|
|
||||||
APP_TIMEZONE: "{{ TZ }}"
|
|
||||||
DB_PASSWORD: "{{ PTERODACTYL_MYSQL_PASSWORD }}"
|
|
||||||
APP_ENV: "production"
|
|
||||||
CACHE_DRIVER: "redis"
|
|
||||||
SESSION_DRIVER: "redis"
|
|
||||||
QUEUE_DRIVER: "redis"
|
|
||||||
REDIS_HOST: "pterodactyl_redis"
|
|
||||||
DB_HOST: "pterodactyl_db"
|
|
||||||
TRUSTED_PROXIES: "*"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.panel.rule: Host(`{{ PTERODACTYL_APP_URL }}`)
|
|
||||||
traefik.http.routers.panel.entrypoints: webSecure
|
|
||||||
traefik.http.routers.panel.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.panel.loadbalancer.server.port: "80"
|
|
||||||
@@ -1,19 +1,52 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Romm
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
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
|
name: romm
|
||||||
directories:
|
image: rommapp/romm:latest
|
||||||
- "{{ data_dir }}/romm"
|
restart_policy: unless-stopped
|
||||||
- "{{ data_dir }}/romm/igdb"
|
recreate: true
|
||||||
- "{{ data_dir }}/romm/assets"
|
|
||||||
- "{{ data_dir }}/romm/config"
|
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
image:
|
- name: romm
|
||||||
name: rommapp/romm
|
|
||||||
tag: latest
|
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/romm/igdb:/romm/resources"
|
- "{{ data_dir }}/romm/igdb:/romm/resources"
|
||||||
- "{{ data_dir }}/romm/redis:/redis-data"
|
- "{{ data_dir }}/romm/redis:/redis-data"
|
||||||
@@ -21,19 +54,19 @@
|
|||||||
- "{{ data_dir }}/romm/config:/romm/config"
|
- "{{ data_dir }}/romm/config:/romm/config"
|
||||||
- "{{ ROMM_LIBRARY_PATH }}:/romm/library"
|
- "{{ ROMM_LIBRARY_PATH }}:/romm/library"
|
||||||
env:
|
env:
|
||||||
DB_HOST: 172.16.0.44
|
DB_HOST: romm-db
|
||||||
DB_NAME: romm
|
DB_NAME: romm
|
||||||
DB_USER: rommuser
|
DB_USER: romm-user
|
||||||
DB_PASSWD: romm
|
DB_PASSWD: romm
|
||||||
ROMM_AUTH_SECRET_KEY: "{{ ROMM_AUTH_SECRET_KEY }}"
|
AUTH_SECRET_KEY: "{{ ROMM_AUTH_SECRET_KEY }}"
|
||||||
IGDB_CLIENT_ID: "{{ ROMM_IGDB_CLIENT_ID }}"
|
IGDB_CLIENT_ID: "{{ ROMM_IGDB_CLIENT_ID }}"
|
||||||
IGDB_CLIENT_SECRET: "{{ ROMM_IGDB_CLIENT_SECRET }}"
|
IGDB_CLIENT_SECRET: "{{ ROMM_IGDB_CLIENT_SECRET }}"
|
||||||
OIDC_ENABLED: "{{ ROMM_OIDC_ENABLED }}"
|
OIDC_ENABLED: "{{ ROMM_OIDC_ENABLED }}"
|
||||||
OIDC_PROVIDER: "{{ ROMM_OIDC_PROVIDER }}"
|
OIDC_PROVIDER: "{{ ROMM_OIDC_PROVIDER }}"
|
||||||
OIDC_CLIENT_ID: "{{ ROMM_OIDC_CLIENT_ID }}"
|
OIDC_CLIENT_ID: "{{ ROMM_OIDC_CLIENT_ID }}"
|
||||||
OIDC_CLIENT_SECRET: "{{ ROMM_OIDC_CLIENT_SECRET }}"
|
OIDC_CLIENT_SECRET: "{{ ROMM_OIDC_CLIENT_SECRET }}"
|
||||||
OIDC_REDIRECT_URI: "{{ ROMM_OIDC_REDIRECT_URL }}"
|
OIDC_REDIRECT_URL: "{{ ROMM_OIDC_REDIRECT_URL }}"
|
||||||
OIDC_SERVER_APPLICATION_URL: "{{ ROMM_SERVER_APPLICATION_URL }}"
|
SERVER_APPLICATION_URL: "{{ ROMM_SERVER_APPLICATION_URL }}"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.emu.rule: Host(`emu.fntz.net`)
|
traefik.http.routers.emu.rule: Host(`emu.fntz.net`)
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create Gitea Runner Configuration
|
|
||||||
template:
|
|
||||||
src: templates/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"
|
|
||||||
@@ -1,62 +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_kotio
|
|
||||||
network_name: scrobbling
|
|
||||||
networks:
|
|
||||||
- name: scrobbling
|
|
||||||
- name: homelab
|
|
||||||
image:
|
|
||||||
name: gabehf/koito
|
|
||||||
tag: latest
|
|
||||||
env:
|
|
||||||
KOITO_DATABASE_URL: "postgres://koito:{{ KOTIO_DB_PASS }}@172.16.0.44:5432/koito"
|
|
||||||
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,26 +1,45 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Radarr
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
name: servarr_radarr
|
with_items:
|
||||||
directories:
|
- "{{ data_dir }}/servarr"
|
||||||
- "{{ data_dir }}/servarr"
|
- "{{ data_dir }}/servarr/sonarr_config"
|
||||||
- "{{ data_dir }}/servarr/sonarr_config"
|
- "{{ data_dir }}/servarr/radarr_config"
|
||||||
- "{{ data_dir }}/servarr/radarr_config"
|
- "{{ data_dir }}/servarr/lidarr_config"
|
||||||
- "{{ data_dir }}/servarr/lidarr_config"
|
|
||||||
image:
|
- name: Pull latest Radarr Docker Image
|
||||||
name: lscr.io/linuxserver/radarr
|
docker_image:
|
||||||
tag: latest
|
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:
|
volumes:
|
||||||
- "{{ data_dir }}/servarr/radarr_config:/config"
|
- "{{ data_dir }}/servarr/radarr_config:/config"
|
||||||
- "{{ media_path }}:/media"
|
- "{{ SERVARR_MEDIA_PATH }}:/media"
|
||||||
- "{{ media_path }}/Downloads:/downloads"
|
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
env:
|
env:
|
||||||
PUID: "1000"
|
PUID: "{{ PUID }}"
|
||||||
PGID: "1000"
|
PGID: "{{ PGID }}"
|
||||||
TZ: "{{ TZ }}"
|
TZ: "{{ TZ }}"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
@@ -29,21 +48,19 @@
|
|||||||
traefik.http.routers.radarr.tls.certresolver: letsencrypt
|
traefik.http.routers.radarr.tls.certresolver: letsencrypt
|
||||||
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
||||||
|
|
||||||
- name: Deploy Sonarr
|
- name: Deploy Sonarr Container
|
||||||
include_role:
|
docker_container:
|
||||||
name: docker
|
name: sonarr
|
||||||
vars:
|
image: lscr.io/linuxserver/sonarr:latest
|
||||||
name: servarr_sonarr
|
restart_policy: unless-stopped
|
||||||
image:
|
recreate: true
|
||||||
name: lscr.io/linuxserver/sonarr
|
|
||||||
tag: latest
|
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/servarr/sonarr_config:/config"
|
- "{{ data_dir }}/servarr/sonarr_config:/config"
|
||||||
- "{{ media_path }}:/data"
|
- "{{ SERVARR_MEDIA_PATH }}:/data"
|
||||||
- "{{ media_path }}/Downloads:/downloads"
|
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
|
||||||
env:
|
env:
|
||||||
PUID: "1000"
|
PUID: "{{ PUID }}"
|
||||||
PGID: "1000"
|
PGID: "{{ PGID }}"
|
||||||
TZ: "{{ TZ }}"
|
TZ: "{{ TZ }}"
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
@@ -53,3 +70,26 @@
|
|||||||
traefik.http.routers.sonarr.entrypoints: webSecure
|
traefik.http.routers.sonarr.entrypoints: webSecure
|
||||||
traefik.http.routers.sonarr.tls.certresolver: letsencrypt
|
traefik.http.routers.sonarr.tls.certresolver: letsencrypt
|
||||||
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
|
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"
|
||||||
|
|||||||
@@ -1,20 +1,34 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Storage API
|
- name: "Create file structure"
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
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
|
name: storage-api
|
||||||
directories:
|
tag: "latest"
|
||||||
- "{{ data_dir }}/storage-api"
|
|
||||||
- "{{ data_dir }}/storage-api/app"
|
|
||||||
- "{{ data_dir }}/storage-api/files"
|
|
||||||
image:
|
|
||||||
name: storage-api
|
|
||||||
tag: latest
|
|
||||||
build:
|
build:
|
||||||
git:
|
path: "{{ data_dir }}/storage-api/app"
|
||||||
repo: git@git.alexav.gg:alex/storage-api.git
|
dockerfile: Dockerfile
|
||||||
dest: "{{ data_dir }}/storage-api/app"
|
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:
|
networks:
|
||||||
- name: "{{ docker_network_name }}"
|
- name: "{{ docker_network_name }}"
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,14 +1,23 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Tautulli
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
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
|
name: tautulli
|
||||||
directories:
|
image: ghcr.io/tautulli/tautulli
|
||||||
- "{{ data_dir }}/tautulli"
|
restart_policy: unless-stopped
|
||||||
image:
|
recreate: true
|
||||||
name: ghcr.io/tautulli/tautulli
|
|
||||||
tag: latest
|
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,34 +1,35 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Tinyauth
|
- name: Pull latest Tinyauth Docker Image
|
||||||
include_role:
|
docker_image:
|
||||||
name: docker
|
name: ghcr.io/steveiliop56/tinyauth
|
||||||
vars:
|
tag: v3
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Tinyauth Docker Container
|
||||||
|
docker_container:
|
||||||
name: tinyauth
|
name: tinyauth
|
||||||
image:
|
image: ghcr.io/steveiliop56/tinyauth:v3
|
||||||
name: ghcr.io/steveiliop56/tinyauth
|
restart_policy: unless-stopped
|
||||||
tag: v4
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
- name: "{{ docker_network_name }}"
|
- name: homelab
|
||||||
volumes:
|
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
||||||
env:
|
env:
|
||||||
USERS: "{{ TINYAUTH_USERS }}"
|
USERS: "{{ TINYAUTH_USERS }}"
|
||||||
SECRET: "{{ TINYAUTH_SECRET }}"
|
SECRET: "{{ TINYAUTH_SECRET }}"
|
||||||
APP_URL: "{{ TINYAUTH_APP_URL }}"
|
APP_URL: "{{ TINYAUTH_APP_URL }}"
|
||||||
PROVIDERS_POCKETID_CLIENT_ID: "{{ TINYAUTH_GENERIC_CLIENT_ID }}"
|
GENERIC_CLIENT_ID: "{{ TINYAUTH_GENERIC_CLIENT_ID }}"
|
||||||
PROVIDERS_POCKETID_CLIENT_SECRET: "{{ TINYAUTH_GENERIC_CLIENT_SECRET }}"
|
GENERIC_CLIENT_SECRET: "{{ TINYAUTH_GENERIC_CLIENT_SECRET }}"
|
||||||
PROVIDERS_POCKETID_AUTH_URL: "{{ TINYAUTH_GENERIC_AUTH_URL }}"
|
GENERIC_AUTH_URL: "{{ TINYAUTH_GENERIC_AUTH_URL }}"
|
||||||
PROVIDERS_POCKETID_TOKEN_URL: "{{ TINYAUTH_GENERIC_TOKEN_URL }}"
|
GENERIC_TOKEN_URL: "{{ TINYAUTH_GENERIC_TOKEN_URL }}"
|
||||||
PROVIDERS_POCKETID_USER_INFO_URL: "{{ TINYAUTH_GENERIC_USER_URL }}"
|
GENERIC_USER_URL: "{{ TINYAUTH_GENERIC_USER_URL }}"
|
||||||
PROVIDERS_POCKETID_SCOPES: "{{ TINYAUTH_GENERIC_SCOPES }}"
|
GENERIC_SCOPES: "{{ TINYAUTH_GENERIC_SCOPES }}"
|
||||||
PROVIDERS_POCKETID_NAME: "{{ TINYAUTH_GENERIC_NAME }}"
|
GENERIC_NAME: "{{ TINYAUTH_GENERIC_NAME }}"
|
||||||
PROVIDERS_POCKETID_REDIRECT_URL: "{{ TINYAUTH_REDIRECT_URL }}"
|
|
||||||
OAUTH_WHITELIST: "{{ TINYAUTH_OAUTH_WHITELIST }}"
|
OAUTH_WHITELIST: "{{ TINYAUTH_OAUTH_WHITELIST }}"
|
||||||
APP_TITLE: "{{ TINYAUTH_APP_TITLE }}"
|
APP_TITLE: "{{ TINYAUTH_APP_TITLE }}"
|
||||||
BACKGROUND_IMAGE: "{{ TINYAUTH_BACKGROUND_IMAGE }}"
|
BACKGROUND_IMAGE: "{{ TINYAUTH_BACKGROUND_IMAGE }}"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.tinyauth.rule: Host(`{{ TINYAUTH_HOSTNAME }}`)
|
traefik.http.routers.tinyauth.rule: Host(`auth.fntz.net`)
|
||||||
traefik.http.routers.tinyauth.entrypoints: webSecure
|
traefik.http.routers.tinyauth.entrypoints: webSecure
|
||||||
traefik.http.routers.tinyauth.tls.certresolver: letsencrypt
|
traefik.http.routers.tinyauth.tls.certresolver: letsencrypt
|
||||||
traefik.http.middlewares.tinyauth.forwardauth.address: http://tinyauth:3000/api/auth/traefik
|
traefik.http.middlewares.tinyauth.forwardauth.address: http://tinyauth:3000/api/auth/traefik
|
||||||
|
|||||||
@@ -1,14 +1,23 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Uptime Kuma
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/uptime-kuma"
|
||||||
|
|
||||||
|
- 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
|
name: uptime-kuma
|
||||||
directories:
|
image: louislam/uptime-kuma
|
||||||
- "{{ data_dir }}/uptime-kuma"
|
restart_policy: unless-stopped
|
||||||
image:
|
recreate: true
|
||||||
name: louislam/uptime-kuma
|
|
||||||
tag: latest
|
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,14 +1,23 @@
|
|||||||
---
|
---
|
||||||
- name: Deploy Vaultwarden
|
- name: Create folder structure
|
||||||
include_role:
|
file:
|
||||||
name: docker
|
path: "{{ item }}"
|
||||||
vars:
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/vaultwarden"
|
||||||
|
|
||||||
|
- name: Pull latest Vaultwarden Docker Image
|
||||||
|
docker_image:
|
||||||
|
name: vaultwarden/server
|
||||||
|
tag: latest
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Vaultwarden Docker Container
|
||||||
|
docker_container:
|
||||||
name: vaultwarden
|
name: vaultwarden
|
||||||
directories:
|
image: vaultwarden/server:latest
|
||||||
- "{{ data_dir }}/vaultwarden"
|
restart_policy: unless-stopped
|
||||||
image:
|
recreate: true
|
||||||
name: vaultwarden/server
|
|
||||||
tag: latest
|
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,51 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create folder structure
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/wings"
|
|
||||||
- "{{ data_dir }}/wings/lib"
|
|
||||||
|
|
||||||
- name: Pull latest Wings Docker image
|
|
||||||
docker_image:
|
|
||||||
name: ghcr.io/pterodactyl/wings
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Wings Network
|
|
||||||
docker_network:
|
|
||||||
name: wings
|
|
||||||
driver: bridge
|
|
||||||
ipam_config:
|
|
||||||
- subnet: "172.55.0.0/16"
|
|
||||||
|
|
||||||
- name: Create Wings Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: pterodactyl_wings
|
|
||||||
image: ghcr.io/pterodactyl/wings:latest
|
|
||||||
recreate: true
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
networks:
|
|
||||||
- name: wings
|
|
||||||
- name: "{{ docker_network_name }}"
|
|
||||||
volumes:
|
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
||||||
- "/etc/pterodactyl:/etc/pterodactyl"
|
|
||||||
- "{{ data_dir }}/wings/lib:{{ data_dir }}/wings/lib"
|
|
||||||
- "{{ WINGS_CONTAINER_DIR }}:{{ WINGS_CONTAINER_DIR }}"
|
|
||||||
- "/var/log/pterodactyl:/var/log/pterodactyl"
|
|
||||||
- "/tmp/pterodactyl:/tmp/pterodactyl"
|
|
||||||
env:
|
|
||||||
TZ: "{{ TZ }}"
|
|
||||||
WINGS_UID: "988"
|
|
||||||
WINGS_GID: "988"
|
|
||||||
WINGS_USERNAME: pterodactyl
|
|
||||||
published_ports:
|
|
||||||
- "2022:2022"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.wings.rule: Host(`{{ WINGS_URL }}`)
|
|
||||||
traefik.http.routers.wings.entrypoints: webSecure
|
|
||||||
traefik.http.routers.wings.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.wings.loadbalancer.server.port: "8080"
|
|
||||||
@@ -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,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