Compare commits

36 Commits

Author SHA1 Message Date
48690c04a4 Automated template extraction 2025-11-21 08:05:44 +00:00
903e786b99 test
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-21 03:04:08 -05:00
465d46fd45 wait no that doesn't make sense
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-21 03:01:58 -05:00
cd68af81c6 delete branch after creation
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-21 03:01:44 -05:00
447f06dd8e don't auto-run template generation
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-21 02:59:27 -05:00
949b82b67f lmao forgot my placeholders
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-21 02:59:13 -05:00
3d3c4c109d clean up deployment script
Some checks failed
Deploy Containers / Prepare (push) Has been cancelled
2025-11-21 02:58:25 -05:00
3e07981021 remove helium
All checks were successful
Deploy Containers / Prepare (push) Successful in 16s
2025-11-19 17:06:57 -05:00
d60435c66e migrate glance
All checks were successful
Deploy Containers / Prepare (push) Successful in 20s
2025-11-19 17:05:42 -05:00
e41f2ba5be migrate excalidraw
All checks were successful
Deploy Containers / Prepare (push) Successful in 18s
2025-11-19 17:04:33 -05:00
3a812ce86f migrate dozzle
All checks were successful
Deploy Containers / Prepare (push) Successful in 19s
2025-11-19 17:03:16 -05:00
0a9ac7cfaf migrate dashdot
All checks were successful
Deploy Containers / Prepare (push) Successful in 30s
2025-11-19 17:01:20 -05:00
118bd4bcbd migrate cup
All checks were successful
Deploy Containers / Prepare (push) Successful in 19s
2025-11-19 16:51:12 -05:00
70ecb1f6d6 make some fields optional
All checks were successful
Deploy Containers / Prepare (push) Successful in 56s
2025-11-19 16:48:42 -05:00
31f2b51b37 add ability to build image
Some checks failed
Deploy Containers / Prepare (push) Failing after 19s
2025-11-19 16:44:47 -05:00
a8e6ed70ab add docker role, convert codeserver
All checks were successful
Deploy Containers / Prepare (push) Successful in 24s
2025-11-19 16:36:15 -05:00
57efba5cb3 add remote config for traefik
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-19 16:21:50 -05:00
2c7eb799f8 add tinyauth middleware to file provider
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-19 15:59:39 -05:00
fa6e8c4b5c update traefik url
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-19 15:51:11 -05:00
4b93172b53 update cf key
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
Create New Secrets Template / Extract updated template (push) Successful in 6s
2025-11-19 12:39:42 -05:00
ecd7285ff7 use docker network name
All checks were successful
Deploy Containers / Prepare (push) Successful in 29s
2025-11-19 10:38:38 -05:00
8a04d9adaf update wings url
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
Create New Secrets Template / Extract updated template (push) Successful in 7s
2025-11-19 10:38:13 -05:00
095bb14b00 add wings to jackson
Some checks failed
Deploy Containers / Prepare (push) Failing after 23s
Create New Secrets Template / Extract updated template (push) Successful in 6s
2025-11-19 10:36:36 -05:00
2f4c43cb96 add script to update containers
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-13 12:22:49 -05:00
ecb7963443 additional guard
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-13 11:29:28 -05:00
80b1fbe629 guard
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-13 11:29:14 -05:00
09cfb8e0d2 add tinyauth to nvr, remove from cup
Some checks failed
Deploy Containers / Prepare (push) Failing after 5s
2025-11-13 11:28:23 -05:00
c0ff714238 don't use owner
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m13s
2025-11-12 18:58:45 -08:00
84d088443b add termix
Some checks failed
Deploy Containers / Prepare (push) Failing after 10s
2025-11-12 18:56:25 -08:00
00429c89fe sync mirror
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-07 02:13:54 -05:00
d19b952c16 sync mirror 2
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-07 02:07:36 -05:00
6bf421bdc8 sync mirror
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-07 02:06:52 -05:00
4d5922ca58 don't run deployment if task was removed
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-07 02:04:25 -05:00
2eb2fc9eb0 remove some unused services
All checks were successful
Deploy Containers / Prepare (push) Successful in 38s
2025-11-07 02:01:49 -05:00
7bc5fa6e2c Merge pull request 'Automated Template Extraction' (#7) from template-extraction-229 into main
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
Reviewed-on: #7
Reviewed-by: Alex Frantz <alex@alexav.gg>
2025-11-04 03:46:44 +00:00
fb96864437 Automated template extraction 2025-11-04 03:46:26 +00:00
25 changed files with 719 additions and 828 deletions

View File

@@ -0,0 +1,17 @@
name: Update Images
on:
workflow_dispatch:
jobs:
run-update:
name: Run update script
runs-on: runner
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

View File

@@ -1,13 +1,6 @@
name: Create New Secrets Template name: Create New Secrets Template
on: on:
push:
branches:
- main
paths:
- "host_vars/jackson.yml"
- "host_vars/jade.yml"
- "host_vars/nas.yml"
workflow_dispatch: workflow_dispatch:
jobs: jobs:

View File

@@ -1,21 +1,9 @@
ansible_user: ansible_user:
data_dir: data_dir:
docker_network_name:
TZ:
PUID: PUID:
PGID: PGID:
TZ:
docker_network_name:
media_path:
# frigate
FRIGATE_RECORDINGS_PATH:
# traefik
TRAEFIK_CF_API_EMAIL:
TRAEFIK_CF_API_KEY:
TRAEFIK_DASH_URL:
# plex
PLEX_CLAIM_TOKEN:
# api # api
API_CONTACT_WEBHOOK: API_CONTACT_WEBHOOK:
@@ -38,12 +26,39 @@ OWNCLOUD_DB_DATABASE:
OWNCLOUD_DB_HOST: OWNCLOUD_DB_HOST:
OWNCLOUD_ADMIN_USERNAME: OWNCLOUD_ADMIN_USERNAME:
OWNCLOUD_ADMIN_PASSWORD: OWNCLOUD_ADMIN_PASSWORD:
# traefik
TRAEFIK_DASH_URL:
TRAEFIK_CF_API_EMAIL:
TRAEFIK_CF_API_KEY:
TRAEFIK_HOST_IP: TRAEFIK_HOST_IP:
TRAEFIK_VIDEO_MACHINE: TRAEFIK_VIDEO_MACHINE:
TRAEFIK_ENABLE_DASH: TRAEFIK_ENABLE_DASH:
# fivem # fivem
FIVEM_LICENSE_KEY: FIVEM_LICENSE_KEY:
# mastodon
MASTODON_DB_PASS:
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
WINGS_URL:
WINGS_CONTAINER_DIR:
media_path:
# frigate
FRIGATE_RECORDINGS_PATH:
# plex
PLEX_CLAIM_TOKEN:
ansible_become_pass: ansible_become_pass:
# glance # glance
@@ -63,6 +78,7 @@ 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:
@@ -153,3 +169,8 @@ 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:

View File

@@ -1,109 +1,113 @@
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
65383533373138633437386332666563393764366230636566366431653133666237366334373639 38663262326664303464653331306266333862363635643761346638366633666563303035346662
6634306238306337613364396361373663303639666439350a333035633439666164393236663232 6230313164666332623438636464313435323532393636650a333039326661383864373838333634
35373531653039313134356165303534383139653837333561333336333935626533343438306231 34653135643737393966353932343066653166653339313939666161363735636634643466363036
3062393330653339640a646533363532633632643563343162316561383335633662666230633837 3630633764646438650a393562343335316363616564383733363233343463356633353837353138
64376532333436336531303432303131356363373830646533323061623662393762623766666236 65376435343730626466393062656233326330303565376639386332306265306266356634383830
65373062613034306361373665353039366533316266396363393933333434313739613335623864 32613432386561346634633334666365323061313833396364313465326664353064653237623136
34383761306432346535623137613930333634373239663338346433313564373865313566373162 31343762383838316161306565323432643630343537346166616666353738343034346233313266
36373531383534643236623235613432343434393263643939643931376135646365633738663261 62353933323432343564303633636532396439643937306366313333626430313639653162333364
38656132616661376133656464626631316639356663353632343132666333383136666666313039 36646463353964323139613339326462666334376132633834313537653761333832333436663738
37633834646363366162386365643363666535623735336138376361336636393364333732653164 35393939326530353064633333323139356234643031653130633665303434313365663238643434
34396134303735653463306434643461636463343330363663333731383333386239346632663935 31663630313036343939646631326239343361653238646636363234353062346534363039373637
33373536333566366138643635363235313963373837646336373965636637326532663966373635 31313562666133343732626438353062663863336638323037373361616665613831616165393835
32363038666464343632313933626663336634386335303737323766616133343561366131633934 32336334393739666366623933626265643964663831336337343632643732383264623534383964
38303163336362343839353739366631333761386631376134656634643362333738373932663637 34313030336339613934303637363964653064653231666139353836653734626338333331383961
31336338363464653139343037666366643936316262363035333031356431623435383634346134 39646331623636613332393663663135363139653663383764333433316430313136356433326235
30636430386265663237316239613666313539313761623236326235663164366131613838626463 35303962646463323534623263623730313166643232303566343135323537386635396165383539
63623562383139613830333461663765373639633366366234353132656463333464313163383433 64393165623466633936393232363730313233656139383935343561343236343763623232343736
31613438643239666464376161636534656464383637363635363739663862333537346639383761 39383765633662653434383965646461663730373864326561343265663838643339616539396364
63376232383866623738393063366162376233646164346464316636346136323661376137303437 38313566343836363530613336326262373736643566323866386565346363363333636262613331
66343738346137643836653339316161636134653630393435316537313333353465643361303935 38613065333465363931623462653732626633316638626632353338373636383835653165336666
64343937643966623363656531366133343462663934623130613234633032393937343861356230 62646133383639663934656332613666663031623530336362633234633534363738363664623236
36656538656431303464333965303266373761356135366666653136323164623335303762386439 62316332363432346534353336343561303066633965373130626664343935393833663363393062
33653866663262666230613638373937323039306636326535383563323862333039616266633730 30333739626636323839623663393666393239663562653333383066303130363638366566666532
35323534393764363438353836353461313465663164623035313637663364636336623964396132 65346361636537393335393330313635336665636638366530346335313761323035623666623734
35323062383937363235383764313239313866396665396639386264356233363265616563646530 30396531383064376661363363323161353132356164636132343531336337613837613931656136
39623431393430353961323731323764633265653739386539663736626263363965376134316630 64303034626261643635356165636463326565653035316335353730396431663261363333656265
65663639613261356232653038343233313530303262393866303162633266633130373666303964 38626664636637623866343138303131643462366639336237363566386235656438343138666237
61633966623164313034336463383133656430363830353462663436343331376535316137356261 61653164376663326663646631393666386630666531666465373433393734653737343765363964
62396136303062393039643332613732613238396236346431326234666665666434666261376363 64313337336539336664303262343333623161646135633039376637653932626432333533356532
38636439626136323561616365656264383236376363356538306235353838393137343566656632 35306561323464623762336432366530343661363037383939383035653237353466336531653434
64353936373461336134663933643935613435643633323633373065616238356362323865363963 36383530633661616564333230363633383665376139353836643334646262323938643139663138
38353833396165346135386437376539313734373538313333616433343539346133393738346164 33653766666233393332333134386631316535643163323362356539633932323738353636393164
63373366626635646465326137393039333937323635393139663666336237316131653263363432 66646466613864633631656565303038613639633534306438303731356232663332316633623361
34356265633335633164366333326638333664663161303565626137616630333362383832386166 39303262353565383636616131333032306531646566313066373231313730386331633435336133
61623631313639353635623132313235656362626230326532396339616535356534343433633161 30626564643965303131666234663630653237373566653633343662623864393138353265646333
36366336373035373563383862353366376535653631643732373134653466613039333163393036 34336338356163323139616234323137366365656662633931666534303439326636333562366530
62653430353062323765376264326130333661356531306439346238663834633031356538613664 35363266633334616463623635666632386338653432653832326636336337626437643061623638
35353863316236653965616337303638626335326236363866346264613736613765653438376665 61646561666162616330623333346230613965316461383034333734383763383635396433373335
34633032616165643935643933333737326662333233333734343964623631653564396535386166 37653362636132313139316336356264373763333361333630366535336339623166306663623433
31616364366466623263393064316538346235643636643366386166346335366665333966396336 63333338613261633163613865303962383238383963353530633136623362313561316533343737
38376463613635333433366462376233333061343436316138383861623965616131323536326634 66336231323763353964376339613531613939336238656364353536346436663464636637303337
32626239303865373433636337666366353733646465623634656466333731303034653466373931 39313066613164656431383162326562353036613165613635346639656233626439623939393663
35363335336561393765666435343131383733346165366236326665396661363066626338343833 66306136656236663766643738303738616230626534333132666331316439363136326264386635
32396134613836616630366364643961336139656234656366636438313166663264313561306566 64616337613639306536373366366235633766613033313464353538376363663239333930363139
38363763396239666639316431323536356163623863666363653735623364343730376262396631 37666231626334373132363863346232623866353032626138353838333764633738386166666265
64393839383530643330373162386364613366343532383631323037656638646134333330643539 38393461633832306465633130343634323763346464643262653330356337353534636566353935
66393961626162323666363132363831616534393562636331373336336162346536383063626439 36333936343130653861303432626135383438653134326162613833336261613839376161616136
65636532313063363834613230363131623332343962616331613763323535373066333363356336 31666436353361303438303735623139613063333162303566623431373031646434643766363335
32313262303063616366373733333435306565656366383663616263653839323566653765336636 32363835376438613163666330333732353432396661666632663633393965396531653830333737
62646432366439313762376537616363353233393362643439646234636631373135616465373033 63356238613537643033643765616561666163386364376236353031656465333661333830626230
31363564316665346235383835386466316234383230343561326439303563653534336164666331 32346431633464636663366364643239386135396235336663626335383663373761383165646262
34646339313562623337613865636538336464626164656235633463353864636338653631383738 37313330376336373462623266343632393637663066313531646333666531653132633164353266
61343666653536346234633331393837613734613965376138366532626662363764346365626463 37636238623637363166323731653739373764343965626530333834366233323435646339636233
31633432303933646638366430333137656533353139356438623937333335386531616239353031 39626164653331643036386130663539663532643232333338656661333130376537333261346135
37643932366161623265323663326461636364663038633166396536366334376563653734623364 34373565643535616333326333383231346162383032636132333166376163373761306337643235
36623231363661363430383461386566663864623666363837303931383531363064306266666131 61636363323761366236326139373763306561383331303563333461386130353039333862336363
65656361653539646162656562376130643037353233376434313038316364636639643966656233 65323532623538346638333036316430303130316366376632623133643933393466353162643335
38353066616663346563633132363233656132333339633238303738643463653865633137633131 37383836323631393664636262333839323336353835663138653061623037636262333432613131
61383862633335383739393039633664383663396363616530323334393139656530623634323765 62303162646133376263306361663161636131323030396164313435356164386239393032633061
34633039623363613339333162376138313636363638336564343431346563343538396434386239 33346438373036306365363935626539653930386638383265373733386366663036393637656264
38313936616261333538336230666564383633356530363133666336306561323363306166623761 61303235326462626630366335373561313730613163623339333630313561663636353366393564
62613131356662393039653862633239356631346262326436656261356539356161333633666566 33303861623038623135346164376636323661373431653962363332653766663438323664376561
62666239386433373438363131366166363337643437323561316138306130623839353964376231 65313835386464616361306438316434656331653632346330333131626536323064386664633430
64323534613439626239373565363961626136666335383636653332393166393562366630633333 63353062336630663935353838316366316138323037383566613166336138306262313766383630
63663964366433663563653631393731333066353063646563663030653639313530633265666438 66336163666262636435326231326437336333666265663434316635313430623437306230646534
35616432616264353962373738366262646432326561643534323135396532653732376234613938 33643039376230643163303562376261316163626436626363316234396263633864376331353230
64313533353631326633343231313265613635373332633662323332346332613066343062313438 66656531646366633163336636343665393838666166643966306636363462666361303839656433
34373437383761656436643264653830326338326434613234616163303431333664646537666262 37353061656162653336363333343631633865636566646534306231353064643336383365376335
62653663333939303963336663343432626636303834646339383335343063646634613965626135 66396339376666623561393731633462643330363331623934643935303563393463346563373964
32326334326662336539373631393239373737363662366563663666393165373866323931366332 63623063376365646663386431653533373739343962656236356461383930373366383163666432
62623137346464656637383533393961356239663432636262373563396636613666323534323861 65353664363565646235393134316562643230383962636136633866376534326165343864383736
31333865303335306161636634316262326533623838616333653435333232356630303130373738 62306333386636306330373562336137386338303836303365353834303239336464613966313638
65663937323063363035356233636131346232366535656534393765343534663135333736383361 38333437313635653866396435656239313535376461623663343663333466393136313936353831
65323332353831633837303766346136333765343436613061303439356361393833373037616464 66646465663632323866376330316266343033646466316564613261656666313634663735616535
36613963396437323130336439326665643264346432356465326539306138623565626237383433 37393664613033346234633163373965393763356661636437626263326666643934653931393931
34643633653263336632636534343030383038383366356536376265653738623330336131613265 66373338636463393536633231663564386561313231323463343638383630396362336239333437
38363238633936346137356433316230653032323033386362636663363238333463643634656538 39343635663830313234316538636131653765616636613631353432646163376338346565383038
34366363646531386234393234383735623734363639326565656633343039303834393935313333 39306631646563636130643530353865393337373066336666353732633161383933626635623735
36396332336134303936623730373334613166393664353863613862313633353034316532653631 63623736613538396635306633393030613434373433663563643065613935376230363935343563
64623563656631396134633261643936633631616338303062626539666635303262663065313435 31316639333664303361626661353034396138623864373164383362356666633763323333363936
30636432356332313331333838636562313532343636666432666564663965386239356231666566 32366635633162376436393738663535313338363665383566656634323932303834656639363566
32383266663139663833613930363137373562343463316230303338303435323363383233656238 33663637643866333535646662643339383339353934383738343138323466313130666563633433
33353264366164623637383462356137313562353562376131343030636332346230373532376537 61383033616338646665323166623461366635636666326365326666393739303963353365636662
38303032376135613963373733616338333463633964303163356632636666623565346366393731 64653132376239636630396430346462626136323734353631356238303838663563643433643833
33346137666463646666323933323863666331643633366664646565396635356332366536376362 34656635373431623639653062386562623539303938336334303238666565363137613638626339
62373838363337383266396333323935633866663361356438643534616665666232626537313234 61666439303339323061326337623435383662613761336165336361343762373935626131383135
66323137383437376465656232616130336661336434343362393931376335633231376632656539 39633562353339363936646263313763326366623833333530373032393537373539386636616532
31363137666538323261653263393736613662316232373336653065336462346164323437366331 34663963646234356136653261386138356638393335626365333263396232613361306239323439
33386234346438363365313530346233366361336462393263313765663564353966373737626539 61663937646561336637313831373730316635383564346536663533656130323863393566386261
64343131396637643461316539313834613738633761353364313534373061323361313633623730 37343563333035333233666362653765333037353636646265366235316163646430616635336534
61663835663066646164633731633532616366633063616230616265633137383930336231393230 63663330303535663237373466666162356236613137623663343262626431316363356439643734
35623264326462623736666565366532306664396432626233303337383263383730346361306664 33646537383963316336353132366639306136353566313038363366666261313730303837643434
32353432366264343035366439363863396264663639383364396665323732626666653037663365 35663638616333346365313939303636656361363634373837383965373932663565666434383636
31333735393334663765656330303939613566343232306137303265663063633065343161346533 65333138666466356334353837303838303831353063333336393335343033373539383662363832
62326235666636636639366265383361343733386232343930623139643937326537306366366639 31303834366531393436303834316139663533333836376136326364383333393164656164353630
31396631393561343535616637663530623838336339303761363939313430303365626230376566 64646535363231303137303732643863616237666562363763363265326131356361333961356133
32356563663936623731303130333961656334396633313865373465353362616364636338356236 63396638636330393938613839383061616166373865316536323835363565613937363161323631
66386131303766303931646635623636636136383064613964316561333763373030396532616235 39343865393861373136383763646438616537373866663466303165616461373365656130613661
39313862396539336364366561303835346138323238393432343030313164323566613463353564 38663734376639623966633239376134386239383638653730643439656333326532303535373735
35353763336132633463306633383730666436353834316332383261363433653635363864633863 63663233663963333661643734316337323263666531373665343561396631396563306161373964
35343039616131626465656365663266346266626330323166323965386366366633396534323130 62653236366136353463363735376434343061643732636533636634653363386336303034393266
31643330386432616331643539313563623363653232643331363162323536316364363333643832 34616263376537383230653263323962366164643939646366653635663735373939633532323138
62333335653035326330346264646538313232643337386433353935636532386536333636353237 64393637326131666262316639353337666632646662663935393037303335353762326163353931
64346464616166386663613635386637346563356630663535633431356431616332323834353366 34663535363232383232356635633963626637333132366337356537313964616434323261653936
32386266656464353664353636623965393232363464353765396563333364386638633231616261 35316462373631626438343538363533393964333463666566323135643165633863633331653765
31323763373932663164636631343633666663323631346234383139313336663665306130663032 36373861386232303739636438653735396538623336366236353238643065353732643136333561
64356461303366393030363038326333613663333734633664623266386463633464656237633235 37663336636138306335356630313231373732333936656231626537376564313064653433313337
62393338373765383433 62343763343036636432613534346461386532626139346164633738346361653634353636623831
31626566336234656661303466623364626261356331623235306265333937316539333539373133
38373532353734653337313834323037656431666362333333666237386334373063653530623831
66343065303761303035346664653761376335363334373166393861373236666565373131303539
32373431613532643236

View File

@@ -1,221 +1,221 @@
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
35346139646661333531663264666639343165303434653366313263633735313830663430613731 62383466373737653035333232303338326366323539316363336337393862373265666333356433
3165363032633834396364626436646537386336376135390a636532653061383133663263633864 3261393563633166343066346436363532336261376134350a353937653561346237666134343561
37663632616364636363666563616636383533656130636266373335623862613464343834383737 32623332613731343631666563663731663739323633636239353035366335386366626366343934
3032373633613161630a613434656331373135396632323738363062306265613730613463633637 3333313835326639340a333463326635643561393464643063613530396430333838666234353538
36313933316335653033306263646638313835393738323333663864303730343931373232383361 32643366326165383435366266303463626330343533346561646232383337323332623663353131
30373036623130653236363533643539316330383734343638643030393866386262623937623437 66306538353864356466663233353237356132616161373166393736336438353066303963663764
37616163613031323937633935633062303335353131663037623939373933393066653833303163 65643465626461393232396461356132383939353035643736633437316132386461313131623961
65646137333331346465356438323739333764343465313265366463653132646535663035623736 35366464356133373333663530613066613233303161623534653331393864376333303937333037
36653861303438353837663064366466323262356361306466656337643333336665343563313337 61663239633030626339653062663939633662316633376135626466623637656239616234373461
31383739623635323366646261376363643033363834313662663438323633313738376331323533 64353633386638363132643530366237396335333263306136373939343565323765313565643666
62353937363864363164663863383138343138396236393363396534336333363131363739646334 30366162373337366331313232373333393939653561626238373236393430363464633333313562
64313665636561616539376631363362383134313137653561366261646335396531643861373264 63626463313336363961663431366364303065623933303261303963326266386131346566323638
38376539346664613533373834343761303265616332313133386662646465323730633730613337 36316161343738386436383731383961656336363137303566366335653538663432323765663062
39343034396566656233386630376437303466653630393331343136366562333364396133633536 34626232383533643363383039643762626337316636626438633438383037353432323132663464
35326162336334363565363261316661303138373562353435363566626533613338336161656534 38616532316534356632643630326534643962353634383162313338396538643862313061613838
32646435643937363734626536623431356635363861323633373634376161346233653162346236 35636165366337623532623737393738343230626530623330303465383263393763623664343466
66306365393464373061396666306530616538626661633664363962363435393839373835633234 63666135353663363961306366626162373836653461316537373961333364373236373361383238
66353464613665393835616432666334363337616362353666623136393134666363303861613438 66656636646665623739326638623061663765363030316263613666666364663261343830393330
31353930366163343664663537613235633761316439646133333136313336656566646436336666 65366366306333323837343666633935613635396663623962386430613937626366313232363962
64623565393539663533346639393334656331643233346461656266656264373861636236363139 65613064303731613865366432353866326135386464386637363335653135343665623632663066
36346230306331356237636139356136613861343835396264313866613861306261623965303536 66663165633163396264303236613734383464633966663663333731616665333037663538636530
66303136643438356137306239356362333736353233313830616134363430646136306638323439 32323830303864616565363862316132303131636635326431303261313131646234346164653862
34366365323539393339386435643535376161656132343161343564396130383563633632613463 62396666303961633165333931653061613132396433393436623665383033396130336231323337
38666664643039346165323161303433343735633837336537343636666662346638333165323334 39333563313137623035376139396261343432666130306566326662376636663938326439663235
34333966613939333463346535636361616637326664303364313034303839643464633365623563 66636561663464336637323663363363333338393665616339643864633839656463626665666664
36643165376161636562323330646332373232323663623138326633343832363038313533626165 30373463363135326134613730366430326666623766613131326562366265663662323438333563
38663263396564303836643930313863343463626364323663343262356265323232613738383036 62363037356231656664623332626562346266363035393562336262373363333366383739616636
34323136646261613038653639613234376432303835613833646633663266633836336234343931 63333763303038353234643564303132353834353439656239396463313862363464366634646439
33633338626138356563373632393062653230373835306530323232353239306461363235323535 32643638623035366632396234626134393461633163616664303934623861383462623438323831
64386132386561383133396239383065623461633232626631373162633039613231303935353737 33316361363830353062353832336366363161653630323735356239663037616364636665636330
35643232623336323562306562656664363531326261383230663962373336356165643031323735 65313531396530323064353862353939393565376662356138653736386637623265326632306561
63623663656462643532643130306635313133313137333831623962376537303761663337303432 61343764393034633461353432343830326661353663373965373961663330313035396437663738
61643631353762613861653865333465656265323234326561613738393661666363333435326439 66333539626565313635663531323366323636336237306561346234323962613636653864383532
35656564333938313037633133386563656437306637303661643333363932323330313332623337 36326138383566666434393932343439653263393332663766626261653336333432623337343439
32396436303534613463373733343961336262306166323163333231363964363139356338653430 30316336346466383333313332303238383761303033336164613462366532353761383333666665
61316364656566316638643236353661653864326430616562613539396431623762396637636361 36306661303832646432626461616236333730353538663765653539303561343534643862356463
38646633306436356530663231353830313239343861333330326462343562636131613932313834 61646361653464653462346334313232316633376539643836326462336236366330323061373538
31613532383866316234323037666232636565643264633638343236323837386165656463323130 63363638643862343539643639383935326439356534653339393835383139626539373834653238
35333539643133316639336533656365613537306130613363633066656130356466623236633330 62396464373766316132376136343631316132396661336233623637396166376466353936666263
35346539356165336563333365383662376664616134303938356462306565633630343539656333 31613261356366356130306437613364333866333830643665333866646263333034326336373563
30663064633139323063316335343131356262626532323933373132336432613036333261383632 66343764633164666666353161636236376163626262373536353464363032333561363963376266
36636465356233643637663037346164393365393461326535656366376662303238373939363335 37646539316163336637313863373064393466613863653834636639626566383535363663393866
33333062626639333534346434646630663162653336373833356363376161373137633438333064 31633737376532316165333531656166646533386439323130396430323431376662626661383564
61636363333136306165303039636632363432636539356634646163633334306531326631626139 63323265383933626631326133636163363630666538316331623733663535326261323438383263
34313539343364616462643039326439643263313133646465356435356465643131303263303332 66623035343132646466613063396561323164323336636639636535393832383234623062626630
64653739393232393731386662373635343735326265636565303561616262313534376333656531 66383739336565643563653438376430353961383062386539353965323462356462353266306163
30623261393330373666373865653337353966616466633835646339636635653030633430633134 35383964616562653563666262366264343735333461646564646264306365373933656565363136
63616439393232653032626333323063623863376266633634323430346536646465393431373765 64313530356536336665393333323464336238333637306562396635383835306135326165373763
66333736643432303262643336306662623265396439656239336634343731646464376531396539 63336665366461663137383834643136383034646238643463656539386330363761363064613434
66376633326563623864386361393437373764643361376665373433643532323239323035663364 65623836323732633262643062396366633264396334353938633463623462383563343631303239
33653535313662383637646633383132316532666364376363323533623962376163616638656663 37363263383935333665336334366334323166306165333466326232656637646132613339323239
35383264343532613332613561646137306339386566343462663263656633366562343034353939 66303830356330396432613163616166323261643861646264336436313733363362343835646464
39353435373939633836363264646366313562333762613863316534333532626561653762653638 66383762613665306465643938363631343630633733376137383133346465653662313938623237
32633731303762636132306336386232326531666537306664376431376433613436613034633835 63313333383933393131373039323065333635353030396163623130303462343764656533643936
39303765613638663166303131633033633932663232616330366331616464306333373039663166 65333239333236393537373863386435623231376163323261326331306263326662653132623032
64356332343361343334666538303265346138383632613238396539386137646433333233313266 61663532383865636566623761356533656363343863633161343230633433306533633130323131
37623965623662306537353962303433313366616535613030323232316237343063363830386664 37366234376565666633353962353939343634653662336139353662356337393438363261353636
61343165393536316466313166653433393264356466376665376131346531336464343365303865 35643563316165376233383134653363343262633035326261666633383437626237373637663932
33653738353063313036313963653161623565333533613961623561613066386432366536356332 66326636643662636539346138663530623365376330343833363263616666623938623736303030
61373038393866656466313538663830326432393034333466393631623239313935636136653036 62393135626565303464666138613365623632666638653265666139333930333737663965323631
61343265376334646266393064626462663137336132616665323032666133313939666234386339 39613330363561363366333765313837343462316633613835313865656363333132326336626539
62316435396334383062613035323263363737306432653535366463383162336362313031656466 39623364343131306263363863323730323939353261646335366133393962623137653864373131
37336635646435363965373631316238303362613266343264303638333434353331313365633633 62383935313265363937313664336432393965653463643466646137373630373631363736636431
63356231346430343136316338326637373831323336386134323132353461376664353138636565 35323432636633663138376339383131383461656465643766636636306565663639623163636234
35636266353830343736643437316662303361326564636461396364343231383135333763363237 33626237353334396432656530663833633235666239326336316139323439633337663433643331
31643865386331373561666237616633656161613030663937653164643531373665333539343636 35643766323361393064336137666664396465373765393034303462653737663063373065316465
38326239363839383136333530383436326232373831623639663037343261383039343839343364 61336363353831316338663536653063613061333034613237306531663037653835663538666337
37356566363533306531306463336266666139623264653432366463313838623436613939373337 37613834343164396133343736393165663263653161663537313234613366653532646630373766
66313962626666343231633039366435616163656131653938613064316135656633333266323635 37636331326338383039663030346666323234393632363233323037383863313564363563346338
34646631616133316461653964306361393730663066333964643435613863633436613165663134 63656261653464663663643231653833346130386433373562623662633963346630336533316435
32616134383335633135653831356538356432636638643536323135363034353832343466336338 66333439396638343563633138326431346131373439396566633232356535393565656231663737
34313934373837373765343831346539326136656235323164613563623264336564303332326666 36376163393133643337613639303039623832666438666661383436636661393233366663333838
37363365396665366335366636343063333762343636636639653332633564373462313839663135 64653564623562363339656162353836306437303738373439303933313637393464306265323336
32636339383534386361626539326533366562343261396338353039373337623737663633353630 63326436393364373931653563356363313139343734633663316362323738653738343732363138
65333232346263623661393565373431656332616664393834616435386464366461636261643161 61393761326138653036643332383235626236356564633232323462333135326264353937336463
38623861306166663635343430366537656132663439363136303833333266633332653266376234 31313965366132623737353232373134323433306564333862326634663362356238353465653364
30623431613261303738643839663439666336323033636334633165313134396132376564386263 31623933316465666331653831393461316538393537386636376461653236336434626134616662
32336134366639323639623663353539666636353533333766396464376563623134396663386134 62623634366336333739373332376239386336336631396263303535373564303862663666663562
64383036633161356231333564383765363961653335373132653066663561343031623163343731 61313830386438616262633533336334353735333331346436373230613363356166353430386430
37326636383437393465353566613766613339343961646335363864643937313862306564373264 62343735373231656139343035396562386661356538376661643435353237353962333930363939
38313336306537623334613431643837663462636363663865663063646365373534653563313062 61613733653064343833396530343432663238363537373631306132666235613330343866353031
38623332663138643433633634633164643761623936396536303961343034393235353764626464 64396531363337373236656235633261623239663439303834356139623833623339353862663230
64633234363737653131313265643833653731336165663837373362386361353166356365663065 31363039663033323663353766616465393063356263323239353461616239346332396532633066
39653336353065346136356432613036323636336464646662356237663536313132663435666661 64346563613934633937333433383764363731366132626365323661313962636464396539386236
32336338326235363566656136653830363130646661623637643336303634306339386261363835 63316563353661376330346139663737306162366661656461353862326666373030336136366632
35393339633132306432306535313637656332343335643061633561323631313234313133306636 63616439616630366435623065386430646537363333393965663534383531323462373833363965
37376331386339353339326530373535393662383034303262656236656265616261323536633430 64323931383534643730303466373366393435313663306631666364376665626434623430326164
33663539393362356365323932636334343938363330643465373264653138303833306634353361 64366437626634643362396565306665313231326336366630326163356630373663653633376434
32643965356361653336353263643636643461653639343366663735346238393335633737353065 64393033336463326631303862653337656163343932363661303862346133373562663537663930
61346663303734313639363435626539623231613861373530346233303032333663306438366664 34373761373537633130366661653539343931383663653234333663323738356535306664656664
63613133396139333433636265373333363462373038306464346530393464343234656131643466 61383337323238636634373830626138393466336666386262393039393963633835366531643831
34373565333030393862333535306265306434326466326637383364306238323461353234353436 35313531613832663637386566313436363566346432346536313263633038393438666431663737
63313634353632303865623664356432373466626633336630363066333662393862646335633638 62633631656534353961306663613634616336393833616166613836373539333131633066666365
37303461303065373838386430306562373561626161353666343139666266376631366334306437 63656264353831353630343834356239653331376539376331386663386334366463363935656431
39373235356164666139626431663337393437646662353633623063336634633934333539343436 64386439656135383139626136653066613166353738613262623231323132626330366561643030
39393362326234323539653864666139303734336366613462313030316338646437623662386264 36613765336339383863666535303930626534643934383731336461383432376461636230343030
30383834323061646664663366366433393933376362316565323539393330643632383632663761 36383330376231336661653735373961643936303064373365616333663836323663333361376462
32303165653037363836356338643232353766323032323935316464666633343565356638613162 34616538343235366332633430613130633237303363353932346366636631366466306533373063
63663062646435316631636364313466373465373634383462613739313634653235343435653233 66363832623237636266643861363238396534666164393735303165393933623766313262323333
63653033626466623738663032643766333033393965363266366165613936653433626164373732 37623830613733333162303061383166363838303965666664633861376238343165633234633232
61663639646238363236346536616231333738663039333862306136643130396339366666656266 63636633353937376131306435383061343030666361323061616262353935643030333966626433
30383536653537663637336632346436663363663336376665366264333538613462366133303930 35356562316336343932313539623239363036336361326234666339366335343033643435346536
63336335663537613439363131616334623466303462363466633763333333303437303064626464 65346261663338326465316237353934633334353033646433353035653530396232666638636262
66663136313139626331353635333438393938363264623466653438633534613064373337616139 37393532656561643839373333363331316235636566316531393865633131373936316236663839
61643932636136363338643361616662653834353830393938623538656339626566396538306562 63663835633437346336626432326235356432616364316465376239363864323561383636623338
62636663343336636330636431623936613965333238333066306366376533623361623363343262 39646266396162313938613062623430663237633465633261626562626636396637373137366465
62623166393639623038653864633932386363373134326536326135373465643735616633303733 65643134666236386538643062663135643266303861396337353638306532306236636136623039
65373862356262386665633336326435623235323839666262303863363965313138363435376637 34336130666633313661653761393536346661343063653562326462363434366531656430353232
66613463303938373438333835343637346166613465363165383266383235313231623132353866 32643164303364613362616631356364643835346561383962316265336637353837383462653037
37346461313462323166353031366332373862643537373633373064306336323034396162653165 34633031346261633835373131656166386439306361356636663338613731393434323039353665
64633065643365643234346566373336633731356462383462623665333430623137353336393934 35636365303365353833623463626463326632383737373235353464323939616539636531383665
62323739666637653532363561336439306135303363393138336333396336396336313264633861 32333761313439626339613834316464363835636331373331363730373861313739363164313330
66633665333338613662323531653566663334623136656465313063623832653566306538616166 33326136326566336633316437316132613430393166333130623335393232653065376131666465
33373131656232366562393762666561353363363963363364303636313061303936316131373337 31303132353465313761633265313266373132633231353766346633386639336464613134353832
30356165393535633932336135353031303864383962643437363031663430346561353164303730 34613035396165633864616664636563353265316432336636326632386234633263393261323136
33373635613666656530343539623461343330383564653036616661303566393233316136316137 66356338613666303863393937626365376631643666363830613836333236383466353835306535
31613762666135356233303866363834656330386365633638303632353434356434643231393436 63313939386335313936376233626231343062323662313565653439306534386133396336623265
61383534613632346235323135633065626431393465343139623935333536376162353735616537 30326334373433386639626362396138346234346630383930373636616239353734356432356237
33326430623139613463666265323031316237353534376439333662333136636163643637643766 33636135353736313961303730386433346433663332363465343732353132356162383936343238
30613532323332636664666439363461303761353136353438336234316339643363323330396663 35633866303031663238666662366137316366333564336134393465383438616465656666653664
32333562653564633431633838623434363233383938616336663636633163383034323433663864 37383231623136363163663562343938653631316131613864663936363336343465343931613830
31633536646264623934376534333763396238646637656437643663663761363939306366363932 61633166663534643765306337316635633163326238353561376631353661386437363935353636
37363936353463666364333834346538396633386461386365376338613261356566663635653130 35623831366532393061343764633735396363623161373661316238303639396166643430323432
62396132666630366235353663646130373931616530323066356437393638336432663364616562 36363137303834643233616331623764343161623264653531373431646364376662376238353233
31333562383530383363363934386133343331346136363935313238653336623463376137386437 62626464393336653530383434353066353865333139323363396635393530616332383463373032
36316530353732626236316430643933306632333738336565386364636534303236643565346638 36363665653234313263333334393535333961393063303366393034333734626235313835313665
36643762646238666365383936373632643339656134633966343034306530656438643033336239 39376330346132343035653531396430656231646631653131633064643530363561393665663661
66653833396262396437656461656334646261653431373666313036366432653530316465353839 64636133623231396663393662333738653631356436646166356531303066636139376166353830
37636432343732373166376630383232346233333465636634663836653563313062383961633232 36626461646635323730326463323065393061356633653931663334633532663834323332363534
66623236396630613037376365323266626562396265383165383231396165303261666631323939 34306539386532386365313766343462656264653332346363366231663764633436343334343235
65666165376264383730383431386161343066626235656136633930656663356636333638623765 61653465303635353062333232396261336139633561373034396533383933373933356462666134
35353831666462303162346639366363616130643465383661323837616533356363353063366536 32323631353536663761663439353162633539346561396166303738376432383533643766366465
36343363393031383739313032353433366234323534633461653536373330653265396239313035 61373536663836613237366666646133343532376461323139643565396135366533356439306438
37393331336530306535326537343935653964343037326130396664653836653134643561613462 62643235316231663564326238386238353536356330363236313064333862366336636363323834
38363239633837636264356330386131316334636132303466616337666236653964643461323939 33336236313939316162393964346363363236383263363638336531623463643338323461326338
63306630343637336661626264353966316536343666623662633361313162323930303863613065 33626430343834623466666461396534326466393934643631306637633562623531643636343031
39646334633337326261383337376132623936393434373138383762313833333564613631636334 35626637363265306563643463666337316633613263353363306330613064306664343735353265
32313537353562353831366538366561326133323339306239303339343662666335396466383339 38623033623364626437353434653732636161303732326239633837346336343666386138383935
37636237636661336165336530646437346364333032346166656465313464336231613763636137 63626238663630366630366635356531303564663866616563393164346564643338666561396432
37396461383566643663396665353466326162336139393832386631343336373132396636383163 37396439393866666661353463623865333863613765353264306633636239656530303230373537
36393265313339333938333266323865343165363661356663336238643738626230653863616364 61336634383861633165366265313136343464396464663136393864623436626537313935663831
38643464666364623461353835336330366431643332363265376433303530653837643064373230 64386162356665616331383839373533363161623630663431663136643732353065376161336564
65613561386435666164356366656462383931346438636232633435373461323439313965303065 36663931383033313130643831306364663365313265313831373636643861303261626130326234
31633935386438333032653133353237363533376132373762366339383035356133353738383665 36613038356132343936346463636463356332303261663830373333346435316364383161643065
66306262653739333537326537633531393165353032396632346365303635303063653234656362 35323262373736626636343562313731646234373464633664663562366364656466323737356435
62613331646438323966623436343635323132653361623339393031653739333062623836386637 63653266356265633163386337333731316266663032656131346134353264306436366466393464
36346631363531333362313837643830393435316436363432666561313739643265353432363065 66653662333464646437636439313565333465366339383365666538376464653563313835343561
30613230333965366530373463383031363932623337313135333461356235386432643233393664 35373661353832643363363266343561613066343138636339633033343932643633633035616232
31646163663731353239323966396131363532373637396332393234656537633139313834323136 39336635636135666461643134636435326433613331353035656232313662343735663833353234
63363262396431386636653663393330313132386366653033636661313763336139336637353530 39653337386430353364373237313533373933383333346536356337356535653531303532663235
37376632326263663062656438633731303834643463376539636637613034336338666661656434 36323531643735666538323838323932623438646236613330383863393836393365363636626232
65663331633265336635343337643933343065613837353261313833376133356266663239626235 34393239383236626537303666393532626335396434363763356466326633363464646565323431
31323637656538366330303138663731666536303065633639623332373036363437343763613534 35383934613964663839343332353539653136306566653763396564343538643663366636306331
38326335306465353033386266623134636164316236363634366437396436303532636233326464 63386531326635373134353564316532353333383834376332306237336366616532363034383866
39666539393739653832373839313234366131376635393135363162656632376539346665643163 32326133333932323861373433376662343537343935663864346537633063316561316538666431
34663135346465653338653466643839623033383863643337663236653165346532636432346165 32623863373432363264373637373864396363353933303762373662626364653434363738393234
35653364333465353134346261376135613963646130343039313564313363376362613966343464 64616464633433376336356236376635623232306264316464616465636139363861666435316563
30366339633062356235656139396633663665356664333832386362336635623438326263633030 66396630346437616433613665303462653662376563623763633466653166643536376466323133
61313833613335643538356661316164316238386663333735303731636632623934353661363263 64626630376338666164353839323062303132663633343937643761356535633238356634626165
38666432353866646137663138326534623132323936316365336538313664396237646435626135 62363237336264623932613835303236623333316564393338633861313333666466346435323766
33346236323133336365646362643632656165623731666338313637653334373938386331353739 35626432373737653138653931616562396161363037613339323961633534623537666637626133
62333030643261353138626362353836623063646134333531653936666135663065323963663162 61653637306531646239383639333366643937393932623131383335616436663863393064323833
32643931663231313366316130346138323563393338643263346665616664376531623039306237 35306635386336613037383761653638643930303334386139623135313434346232316233373632
65616166373138663633333438326630353962646631613465333435383732303162363532373635 38393737636132333138636534383565666230323831303964333132656663383838386538656537
30653862333236343462633131386435366630373532326461383732396134313137393766313238 36316166653239323162326333383035346636366163636233393936613563333032653339623264
30323263643335326335346438303264323862663434356463363565323638653664323766386335 35303766623730653939383439643265343365363064336430356431666163656661666330323563
63623535643530633232666162616433393264303138663431303631623131616465393062343431 33383761326562333937396535303366373136653163643138393931323838313531383264386463
31346566343435643463393731666561656233396166373230316230336266313936353635333965 63316230333735396538613561313132613861336166663238613730323438383830643963356230
37623663393566393261383663666230326231336334643661613431656631626630626237626133 66343933656536356136633065663037663233623662393133353739343065333438333235333836
34326234366363623231626561353165316566636531366236303030353434636361306232663764 39613962376238643933653131363261313164333333383032613235653136326262623461663032
66356130376564333161316535373834666239306261663361396161633131633661306333306632 36326164323036386562313638623331663166633039373264323333386635363437373839393432
63636265373361643935373463333236373632646361656264323264373935303437626434643839 31363564643536613530383066383530643537353263366565346533343761353530313739346137
65313337356461336235613139323362643238633239643037316263336361376364626561383737 38616335386539363861306232326330386563663433663132383938323866646564383864333864
39396630646364373531353735326439326161393538653666613836343661386561393839663532 64663733333961373730366137656563376562366366646135383662333831636462623762356563
37323036393536633734363434326130323866336531383130656562353530343831616332373735 65313433363633343662316337306638383132613131393765653135366631633561356138353730
65343766643931356462656361656134323461303363613231366534366265313231333166306130 61313135326366373837303130663466353563313465613932633863383664306262653833346462
30663034343365376434633734613533306637363734376461613130616462666361393735333038 32393566666566656339326531343265316631623230383130343633333535643939343733343161
65646564343033363031363739613633616337623235623737633835323535633439613035326362 64336639666233383865386533326437613630613536303063656631346463353564613030366662
61623263653337303133636533636631336563396637616538363636323764376431353761656630 35313331303564663835393439623730633031363435366363376230346432333834663933313834
37353039666531613639386533313165646463623264383433636465343836356238633839393665 37653561626430363962646136633865353138323835633062666631626436653461303966386164
36623765353630373533333066363036663331663666333262313438303365393864303564373133 31616235623932356136663763623263626331343131323933356439316430336564653630653836
66396138623864333464663763613266323161303164336138333736376465336236363439353964 38326538666265306230396461376635386464656637363461623639356531313939613363373461
35633165646434396539343134616136343630313337336230623630653134326264393963363036 34366136616238373731333962613437383563653161323337336135356462346431343064386463
33376134656439636536393864646433343966633230316362626266366536396565333465363131 36613235353263623430333035376133353966373130316134303639303865323534386239386632
37386338303362643161643764383135653561376639323935666433353337623937663531666530 31313935343336303535653861363036363461373537336561363532626137623066663932343037
65353131383766643033363364663730333838363934363662336634313336383832663836366238 37333164356232343763613464326234343230616362326333643665643261656266336638303330
32663334326263316333646562336336323862636232353938653338616365393532613663343734 36626133333166386661393833356661383337336136336537656233326666383133623637396264
62623530383030336665326630356133653230346237313962333238313363343038316537383537 64316264616439313565306666616238336661363365633833623263333363623132383830346130
39613261313464633263643866646165326638623863663265633830303332306132383338656230 35366234323837646531366330333632616133333364343766393233333237373836323837666161
37653764623038313039313139323732393238653239393639626432323730623463616238393230 63643138376538363639353330373136376564643261623731313931333666353239333561663432
32386634323034346435373039636435363461363239376339353039363361343933373963383761 65396663373436666236376434666632376335353566353530393533633132366130663038643264
64356337363631336165636662663435323266306131373030313966366564646238396662363737 37313832613732353230306135363466616162313137343436653064343231356433366563303738
63386561363835333066303531323335373133643334336638346633396363636130633330326439 35623531636631613061653963656664313038633434316336333633316661306563643262646334
31363564353136356133353734386663633334383562626236333262633030376462306631346639 33613563386330376333663133653138336234386366316538383362383665643361386366386538
66333665356534393061633663346363306537303533653065666161623861306339633237613034 65396534643064303332366532663834366537626261316139326236356136343136383638333339
36393639663161653830336465303738373630393064636236393130343666653637356137383133 36346530356565666332613037373364353366386130313464626565323730316132336262323264
65623765653066333238383537616538323131646532336233623634323836363763313466303431 36633532326534343362656465306535653539613265323634393865646235653363626637383339
64383732343538313133633564373562383061343134663632363864643263623264626162396462 32346264306561383332366462613236316364393931316132323937623763393935313830346430
36613432313930636231316165646366396262353535393835626431653636303063373038626332 64383236333664353431363934303132313434326534646239363366626530643536646230663139
64323931326666643033393135376664346465373064386464666437333537643061656236316439 65316466313562316266653665636361363734393461396630643637623462343866646265633838
37383265396138353161346434353762633130623039316332633733353939373261353233343435 39633137643937656438643433663765363430313337343166366161323434663439353562666132
61316131323163303037616232303830376562626332623832393731333036656334343835333235 38623464623962343534393064376237373231333939323666306465306134336234383932353635
32326237623034386132313632363064613866653333386665336365626566336239393034656565 62656337636465326532613139626462323162303730663837313935633437313265353930663463
39343766666365663866353236336161333034353461636336633663343338326532643233313633 38626231323462363461373131306261326463313763623737303466353835643931653334653132
35336332313561643431333135373835343037636366343136623734613736653164333462316162 65626639396365646333653064396662626566646666306362366334363934646237663830393962
66393539656231386135383635393532623437646365383961373866613935366131306364363438 31343561613162396632396336653834616663643130363131383463613265393337613866353365
36316437326539303964393263343263356565616663373333303539616433313766323966373239 62653737373132616335643731646236363263366433653965393736333766393262613836333365
64636531306235336666363034353733343532313262663330346166306430653739383437336134 34306635666366636430393365626364633061356165353661326563636366346562643733353334
37393163333938636431613263303565356638633132633135346261346436373435303065386234 63316437376330656661633661393362323133666434366565633436363034363039373761633032
32633831316462613464636233343034613838613864383261626465306138323965373436373136 37393163613131383537616434373730303664663562656333653232313937633164363236303663
39663138656131326137646661386231316232343835313164313332306533376366626336363838 32363065366634363731313534343566623830663361663430333061383765363137366662623139
32633364366639373630626438396636383539623239366464336561643633396535636364363261 66346334333061303437396532343330346366396362366362323535306639333962636232363730
32633730633764316637353238623865323362346534306661333366323861336439356232616666 33343236636163666136373264666236386361306337653564623637626135613562303636613535
64616164663235646631323466323262363337323766653632343233303138383036353934396566 38633130396532313362616666636238343035313233323661373032646432626262643662616262
64356561363339333132343431303763326461393632626462306634666334633934353134373036 61353166363330323665616561643736326236363438353636373063373738383361653539303131
37633233623863353566656233366133326239613135333934386462613332653961393333323164 30366364653464373662653066363865626338613433316362393564653739636635333562333036
38313630306538343131326662393238656437633439343861623466346137383333663135626138 30376530323462626264373235313231313163393838633437326265646638373439336638636166
65363463346330663163303763386138393433623731643635306130613863626133373633666465 64323762373835316138636137363166616161616633613632333063323632626637653630346562
39316266326533326530633165363366653861396533383839646639383633613334643938616361 33376334616439376161643038666438373833343632643934303164353866613231346262346261
63393830656132336564 61663265366461613634

View File

@@ -1,26 +1,31 @@
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
34633334666530383466643739336536363136366631613464383161656535656466616261663232 62303937306432656235663330303934363930356632333966343535366438343261323139386135
6237633664336364643136643738643563653637613136360a363431663336626432616538623435 6238653639363962373032656433623835313834366431380a653866666266313861643035653638
35373839383830393334663037353262653763353935623332383534376436613161313934316338 62343639336336353130363537356635653661333463386637333331353162636438393462353161
3930623638356537630a616339653631666163376134343535313235363234356664366234663038 3531386264373537340a653431633436353030303733343738616431663831316238613930633038
30376239633164643335336166663737346262313864626234663839333132386232346139666131 62353466313762366561396366376363633132383438646362386239616362306563316461626438
33633463353330343037306365666463653039643235333566663164313730663738663036623539 37316232373664656165396237306333336433656464306664653566383761393636396537653331
64636663613566656338636638383066353562306137376432346639316533303665613463333832 30666631383234353064313061306164613364326638356636633636343133666638653261366339
37313361623639653533343536616566613865353733656338633833666263323433306431633635 37376632336133333736626130336165313735313033373138343662396265636563663234376138
35393333346134333466323239666335613862663935353662373833343635393532633461653932 32303137646437626435376463323539636264666663636533363733616637653934333936633139
38303034613166336632376264313961336665303332306165636663306237653336316330376236 36363162306237303931343133363238346231633732656535343963636262316363613434336363
31313362616434663861333264306661653532316365306138333131643731346636646365353733 36373339336332633332626534643762643264653365353062646663623837626463376363363161
62366335643566636631633630336231353666363965623664376231363164313362366164333431 31383865383166396663366230333334373037376333383938363738383862313736313261336234
33323632366335646137666466316530613862373162376461623633333238616637373336333064 65326434383165363861343131363139666238646562383837653233656365313932653163626564
39303761353139656333663362303365316131646633303238623031386137656263646364373163 38633761343338666662393333393165316563346636636135663133613062333836313561333963
36336633323266393663336462626236353466353266656264343639303739313362313537396238 39663733393738336336626438323365366566333331373433326539653565616230643936383737
36303637386266386665663163633438633763386232313861653438303965393938656166656562 38356434323433326432316265396661323964653039393164663533653731626162376134616261
63373064396135346361633739663534666230356566366333636266643932316264343339303833 39613666393764636331353764306531396339373032636531353165316437616464653237356536
38313233643536356232363636306363333463323133656536366662323963643637343365643035 66396661306235333732326136306439316362363063313837383663316361313731303634383331
30393061343630633263303864336438653339323264396434623038363464366235626235326464 30626239633235623164396666396533613734613962653030343334343832323664353431393636
62623861333264616331396230383831346163303433653236663738396164643937643663363834 38623838306239326537383765643036643830303066616232313935376635346237366434396162
30316530623433313633653639363065343264353630613436393237363930326632343230343538 66303932656265316463363432623037383462333638376430616562313238393762616263663138
64356230316530353663663534343739376138653266323037336163386130623361613632393037 63326239623666326636396361353764386363613364643935666339336565393830613435373231
33376232666337316536613763623066653431303366656333646361613839323831623562613266 64383265666661633664383031646530653539323037613837356638643335653235323135323361
36323263616364653666343264303338373232343063313266653661323933656662386237323637 37333731316234646135303566393439363338323264386635336432623862353661313962663965
66666337356337343864613034633934656461653834306338313031366432353263 35333631336233366364633537396234656430373832326334653030363635626439646532643032
30636666383865313737353962326665383936613434353830636561323439373537613538393836
31353164613631386665353762343938383766323739363363633634363433623039376564346333
64323939356238323462346562616335383437326233363838383930396238343261633863393232
39346165656662626631376362623663343164376634363532376363623737613962323434313339
3133306237396463313938383035643034616133336662636234

View File

@@ -28,9 +28,6 @@
- name: Deploy PocketID - name: Deploy PocketID
import_tasks: tasks/pocketid.yml import_tasks: tasks/pocketid.yml
tags: pocketid_deploy tags: pocketid_deploy
- name: Deploy Ntfy
import_tasks: tasks/ntfy.yml
tags: ntfy_deploy
- name: Deploy NZBGet - name: Deploy NZBGet
import_tasks: tasks/nzbget.yml import_tasks: tasks/nzbget.yml
tags: nzbget_deploy tags: nzbget_deploy
@@ -73,21 +70,18 @@
- name: Deploy Jackett - name: Deploy Jackett
import_tasks: tasks/jackett.yml import_tasks: tasks/jackett.yml
tags: jackett_deploy tags: jackett_deploy
- name: Deploy NFL Proxy
import_tasks: tasks/nfl-proxy.yml
tags: nfl-proxy_deploy
- name: Deploy Uptime Kuma - name: Deploy Uptime Kuma
import_tasks: tasks/uptime-kuma.yml import_tasks: tasks/uptime-kuma.yml
tags: uptime-kuma_deploy tags: uptime-kuma_deploy
- name: Deploy CouchDB for obsidian - name: Deploy CouchDB for obsidian
import_tasks: tasks/obsidian.yml import_tasks: tasks/obsidian.yml
tags: obsidian_deploy tags: obsidian_deploy
- name: Deploy Helium services
import_tasks: tasks/helium.yml
tags: helium_deploy
- name: Deploy Pterodactyl - name: Deploy Pterodactyl
import_tasks: tasks/pterodactyl.yml import_tasks: tasks/pterodactyl.yml
tags: pterodactyl_deploy tags: pterodactyl_deploy
- name: Deploy Termix
import_tasks: tasks/termix.yml
tags: termix_deploy
- hosts: jackson - hosts: jackson
@@ -115,9 +109,9 @@
- name: Deploy Owncloud - name: Deploy Owncloud
import_tasks: tasks/owncloud.yml import_tasks: tasks/owncloud.yml
tags: owncloud_deploy tags: owncloud_deploy
- name: Deploy Mastodon - name: Deploy Wings
import_tasks: tasks/mastodon.yml import_tasks: tasks/wings.yml
tags: mastodon_deploy tags: wings_deploy
- hosts: nas - hosts: nas

View File

@@ -0,0 +1,49 @@
---
- 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: 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: Pull latest Docker image
docker_image:
name: "{{ image.name }}"
tag: "{{ image.tag }}"
source: pull
- name: Create Docker Network
docker_network:
name: "{{ network_name }}"
when: network_name is defined
- name: Create Docker Container
docker_container:
name: "{{ name }}"
image: "{{ image.name }}:{{ image.tag }}"
command: "{{ command | default(omit) }}"
recreate: true
restart_policy: unless-stopped
networks: "{{ networks }}"
volumes: "{{ volumes | default(omit) }}"
env: "{{ env | default(omit) }}"
labels: "{{ labels | default(omit) }}"

View File

@@ -1,4 +1,9 @@
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`)"
@@ -31,6 +36,7 @@ http:
nvr: nvr:
rule: "Host(`nvr.fntz.net`)" rule: "Host(`nvr.fntz.net`)"
service: nvr service: nvr
middlewares: tinyauth
entryPoints: entryPoints:
- webSecure - webSecure
tls: tls:
@@ -64,7 +70,7 @@ http:
nvr: nvr:
loadBalancer: loadBalancer:
servers: servers:
- url: "http://nas:5000/" - url: "http://172.16.0.29:5000/"
iptv: iptv:
loadBalancer: loadBalancer:
servers: servers:

View File

@@ -0,0 +1,18 @@
http:
middlewares:
landiteRedirect:
redirectRegex:
regex: ".*"
replacement: "https://alexav.gg/?ref=landite"
permanent: true
routers:
landite:
rule: "Host(`landite.games`)"
middlewares:
- landiteRedirect
service: noop@internal
entryPoints:
- webSecure
tls:
certResolver: letsencrypt

View File

@@ -5,7 +5,7 @@ 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 or "host_vars" in x] return [x for x in res.stdout.strip().split("\n") if "tasks/" in x or "roles/" in x]
def construct_command(tag = None, host = None): 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" command = f"ANSIBLE_CONFIG=ansible.cfg /usr/bin/ansible-playbook main.yml --vault-password-file ~/.vault_pass.txt"
@@ -24,77 +24,80 @@ def deploy(tag = None, host = None):
print(f"Deploying {tag}...\n") print(f"Deploying {tag}...\n")
else: else:
print(f"Deploying {host}...\n") print(f"Deploying {host}...\n")
res = subprocess.run(command, shell=True) res = subprocess.run(command, shell=True, stdout=subprocess.DEVNULL)
return res.returncode == 0 return res.returncode == 0
def main(): def main():
tasks_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../tasks") dir_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), '../')
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"
] ]
managed_roles = [
"roles/fivem",
"roles/gitea-runner",
"roles/traefik"
]
# because these containers rely on gluetun for network, they need to be recreated when gluetun is recreated # special actions
if "tasks/gluetun.yml" in diff: if "tasks/gluetun.yml" in diff:
print("Gluetun detected in diff, queuing dependent containers for recreation") print("[MAIN] Detected Gluetun in diff, recreating dependent containers..")
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)
# when variables update for a host & there are no other modified containers, recreate containers on host # clean up the diff
# for file in diff: new_diff = []
# if "host_vars" in file: for file in diff:
# hostname = file.split("/")[1].split(".")[0] task_name = f"{file.split("/")[0]}/{file.split("/")[1]}"
# 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
if not os.path.exists(os.path.join(dir_path, file)):
if "roles" in file and not os.path.exists(os.path.join(dir_path, task_name)) and task_name in managed_roles:
print(f"[MAIN] '{task_name}' role removed, marking for cleanup..")
removed_containers.append(task_name)
elif "tasks" in task_name:
print(f"[MAIN] '{task_name}' non-existent, marking for cleanup..")
removed_containers.append(task_name)
elif "roles" in file:
if task_name in managed_roles:
if task_name not in new_diff:
new_diff.append(task_name)
elif "tasks" in file:
new_diff.append(file.split(".")[0])
else:
new_diff.append(file)
deployed = [] deployed = []
failed = [] failed = []
for file in diff: for task in new_diff:
# separating these for now because roles will typically deployment = deploy(tag=task)
# have a bunch of other things tied to them
if "roles/" not in file and "host_vars/" not in file:
task_name = file.split("/")[1].split(".")[0]
task_file_path = os.path.join(tasks_path, file.split("/")[1])
if not os.path.exists(task_file_path): if not deployment:
print(f"{task_name} doesn't exist, running cleanup") failed.append(task)
res = subprocess.run(f"/usr/bin/docker container stop {task_name}", shell=True) else:
if res.returncode == 0: deployed.append(task)
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)
print(f"Cleaned up container {task_name}") for task in removed_containers:
print(f"[MAIN] Attempting to remove containers related to '{task}'...")
task_name = task.split("/")[1].split(".")[0]
if "host_vars" not in file: containers = subprocess.Popen(f"docker container list | grep {task_name}_", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# deploy the task, regardless of its status for line in containers.stdout:
if "roles/" not in file: docker_container_id = line.rstrip().decode('utf8').split(" ")[0]
if task_name not in deployed: if docker_container_id and docker_container_id.strip() != "":
task = deploy(tag=task_name) print(f"[MAIN] Found Docker container {docker_container_id} related to {task}, removing..")
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)
# clean up containers & dangling images
subprocess.run(f"/usr/bin/docker container stop {docker_container_id}", shell=True, stdout=subprocess.DEVNULL)
subprocess.run(f"/usr/bin/docker container rm {docker_container_id}", shell=True, stdout=subprocess.DEVNULL)
subprocess.run("/usr/bin/docker image prune -f", shell=True, stdout=subprocess.DEVNULL)
subprocess.run("/usr/bin/docker container prune -f", shell=True, stdout=subprocess.DEVNULL)
if len(failed) <= 0 and len(deployed) > 0: if len(failed) <= 0 and len(deployed) > 0:
print("\n---------------------") print("\n---------------------")
@@ -110,7 +113,7 @@ def main():
print("---------------------\n") print("---------------------\n")
sys.exit(1) sys.exit(1)
elif len(deployed) <= 0: elif len(deployed) <= 0:
print("Successfully executed, no tasks required execution") print("[MAIN] Successfully executed, no tasks required execution")
sys.exit(0) sys.exit(0)
if __name__ == "__main__": if __name__ == "__main__":

52
scripts/run_updates.py Normal file
View File

@@ -0,0 +1,52 @@
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 "docker_image" in key:
if image_name in key["docker_image"]["name"]:
return f"{task.split(".")[0]}_deploy"
def main():
update_list = requests.get("https://cup.fntz.net/api/v3/json")
update_list.raise_for_status()
update_list = update_list.json()
deployable_tags = []
with open("main.yml", 'r') as file:
data = yaml.safe_load(file)
for host in data:
for task in host['tasks']:
deployable_tags.append(task['tags'])
if len(update_list["images"]) <= 0:
print("No images to update!")
else:
print(f"Updating {update_list["metrics"]["updates_available"]} image(s)..\n")
for image in update_list["images"]:
if image['result']['has_update']:
if "remote_digest" in image["result"]["info"]:
image_name = image["parts"]["repository"]
ansible_tag = search_for_image(image_name)
if ansible_tag and ansible_tag in deployable_tags:
print(f"Updating '{image_name}' ({ansible_tag})..")
subprocess.run(f'docker image pull {image_name}', shell=True)
subprocess.run(f'ANSIBLE_CONFIG=ansible.cfg ansible-playbook main.yml --tags {ansible_tag} --vault-password-file=~/.vault_pass.txt', shell=True)
print("\nAll images updated, refreshing Cup")
requests.get("https://cup.fntz.net/api/v3/refresh")
if __name__ == "__main__":
main()

View File

@@ -1,49 +1,15 @@
--- ---
- name: "Create file structure" - name: Deploy API Database
file: include_role:
path: "{{ item }}" name: docker
state: directory vars:
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
image: postgres:latest network_name: api
restart_policy: unless-stopped directories:
recreate: true - "{{ data_dir }}/api/db"
image:
name: postgres
tag: latest
networks: networks:
- name: api - name: api
volumes: volumes:
@@ -53,15 +19,34 @@
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 Container - name: Deploy API Redis
docker_container: include_role:
name: docker
vars:
name: api_redis
network_name: api
image:
name: redis
tag: latest
networks:
- name: api
- name: Deploy API
include_role:
name: docker
vars:
name: api name: api
image: api:latest network_name: api
recreate: true
restart_policy: unless-stopped
networks: networks:
- name: api - name: api
- name: "{{ docker_network_name }}" - name: "{{ docker_network_name }}"
build:
git:
repo: git@git.alexav.gg:alex/api.git
dest: "{{ data_dir }}/api/app"
image:
name: api
tag: latest
env: env:
NODE_ENV: "production" NODE_ENV: "production"
VERSION: "v4" VERSION: "v4"

View File

@@ -1,23 +1,14 @@
--- ---
- name: Create folder structure - name: Deploy Code Server
file: include_role:
path: "{{ item }}" name: docker
state: directory vars:
with_items: name: "codeserver"
- "{{ data_dir }}/code-server" directories:
- "{{ data_dir }}/code-server"
- name: Pull latest Code Server Docker Image image:
docker_image: name: lscr.io/linuxserver/code-server
name: lscr.io/linuxserver/code-server tag: latest
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:

View File

@@ -1,17 +1,10 @@
--- ---
- name: Pull latest Cup Docker Image - name: Deploy Cup
docker_image: include_role:
name: ghcr.io/sergi0g/cup name: docker
tag: latest vars:
source: pull name: cup
- 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:
@@ -22,4 +15,6 @@
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"
traefik.http.routers.cup.middlewares: tinyauth image:
name: ghcr.io/sergi0g/cup
tag: latest

View File

@@ -1,16 +1,12 @@
--- ---
- name: Pull latest Dashdot Docker Image - name: Deploy Dashdot
docker_image: include_role:
name: mauricenino/dashdot name: docker
tag: latest vars:
source: pull
- name: Create Dashdot Docker Container
docker_container:
name: dashdot name: dashdot
image: mauricenino/dashdot image:
restart_policy: unless-stopped name: mauricenino/dashdot
recreate: true tag: latest
networks: networks:
- name: homelab - name: homelab
volumes: volumes:

View File

@@ -1,18 +1,14 @@
--- ---
- name: Pull latest Dozzle Docker Image - name: Deploy Dozzle
docker_image: include_role:
name: amir20/dozzle name: docker
tag: latest vars:
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:

View File

@@ -1,16 +1,12 @@
--- ---
- name: Pull latest Excalidraw Docker Image - name: Deploy Excalidraw
docker_image: include_role:
name: excalidraw/excalidraw name: docker
tag: latest vars:
source: pull
- name: Create Excalidraw Docker Container
docker_container:
name: excalidraw name: excalidraw
image: excalidraw/excalidraw image:
restart_policy: unless-stopped name: excalidraw/excalidraw
recreate: true tag: latest
networks: networks:
- name: homelab - name: homelab
labels: labels:

View File

@@ -1,25 +1,16 @@
--- ---
- name: Create folder structure - name: Deploy Glance
file: include_role:
path: "{{ item }}" name: docker
state: directory vars:
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: glanceapp/glance image:
restart_policy: unless-stopped name: glanceapp/glance
recreate: true tag: latest
directories:
- "{{ data_dir }}/glance"
- "{{ data_dir }}/glance/config"
- "{{ data_dir }}/glance/assets"
networks: networks:
- name: homelab - name: homelab
env: env:

View File

@@ -1,95 +0,0 @@
---
- 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"

View File

@@ -1,99 +0,0 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/mastodon"
- "{{ data_dir }}/mastodon/db"
- "{{ data_dir }}/mastodon/redis"
- "{{ data_dir }}/mastodon/public"
- name: Create Mastodon Network
docker_network:
name: mastodon
- name: Pull latest Postgres Docker Image
docker_image:
name: postgres
tag: 14-alpine
source: pull
- name: Pull latest Redis Docker Image
docker_image:
name: redis
tag: 7-alpine
source: pull
- name: Pull latest Mastodon Docker Image
docker_image:
name: lscr.io/linuxserver/mastodon
tag: latest
source: pull
- name: Create Mastodon DB Container
docker_container:
name: mastodon_db
image: postgres:14-alpine
recreate: true
restart_policy: unless-stopped
networks:
- name: mastodon
volumes:
- "{{ data_dir }}/mastodon/db:/var/lib/postgresql/data"
healthcheck:
test: CMD pg_isready -U postgres
env:
POSTGRES_HOST_AUTH_METHOD: "trust"
POSTGRES_USER: mastodon
POSTGRES_PASSWORD: "{{ MASTODON_DB_PASS }}"
POSTGRES_DB: mastodon
- name: Create Mastodon Redis Container
docker_container:
name: mastodon_redis
image: redis:7-alpine
recreate: true
restart_policy: unless-stopped
healthcheck:
test: CMD redis-cli ping
networks:
- name: mastodon
volumes:
- "{{ data_dir }}/mastodon/redis:/data"
- name: Create Mastodon Container
docker_container:
name: mastodon
image: lscr.io/linuxserver/mastodon:latest
recreate: true
restart_policy: unless-stopped
networks:
- name: mastodon
- name: "{{ docker_network_name }}"
volumes:
- "{{ data_dir }}/mastodon/public:/config"
env:
PUID: "{{ PUID }}"
PGID: "{{ PGID }}"
TZ: "{{ TZ }}"
LOCAL_DOMAIN: "{{ MASTODON_LOCAL_DOMAIN }}"
REDIS_HOST: "mastodon_redis"
REDIS_PORT: "6379"
DB_HOST: "mastodon_db"
DB_USER: "mastodon"
DB_PASS: "{{ MASTODON_DB_PASS }}"
DB_PORT: "5432"
ES_ENABLED: "false"
SECRET_KEY_BASE: "{{ MASTODON_SECRET_KEY_BASE }}"
VAPID_PRIVATE_KEY: "{{ MASTODON_VAPID_PRIVATE_KEY }}"
VAPID_PUBLIC_KEY: "{{ MASTODON_VAPID_PUBLIC_KEY }}"
OTP_SECRET: "{{ MASTODON_OTP_SECRET }}"
S3_ENABLED: "false"
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY: "{{ MASTODON_ARE_DETERMINISTIC }}"
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT: "{{ MASTODON_ARE_KEY_DERIVATION }}"
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY: "{{ MASTODON_ARE_PRIMARY }}"
labels:
traefik.enable: "true"
traefik.http.routers.mst.rule: Host(`mst.fntz.net`)
traefik.http.routers.mst.entrypoints: webSecure
traefik.http.routers.mst.tls.certresolver: letsencrypt
traefik.http.services.mst.loadbalancer.server.url: "https://mastodon"

View File

@@ -1,23 +0,0 @@
---
- 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"

View File

@@ -1,36 +0,0 @@
---
- 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

32
tasks/termix.yml Normal file
View File

@@ -0,0 +1,32 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/termix"
- name: Pull latest Termix Docker Image
docker_image:
name: ghcr.io/lukegus/termix
tag: latest
source: pull
- name: Create Termix Docker Container
docker_container:
name: termix
image: ghcr.io/lukegus/termix:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: homelab
volumes:
- "{{ data_dir }}/termix:/app/data"
env:
PORT: "8080"
labels:
traefik.enable: "true"
traefik.http.routers.termix.rule: Host(`ssh.fntz.net`)
traefik.http.routers.termix.entrypoints: webSecure
traefik.http.routers.termix.tls.certresolver: letsencrypt
traefik.http.services.termix.loadbalancer.server.port: "8080"

View File

@@ -28,12 +28,12 @@
restart_policy: unless-stopped restart_policy: unless-stopped
networks: networks:
- name: wings - name: wings
- name: homelab - name: "{{ docker_network_name }}"
volumes: volumes:
- "/var/run/docker.sock:/var/run/docker.sock" - "/var/run/docker.sock:/var/run/docker.sock"
- "/etc/pterodactyl:/etc/pterodactyl" - "/etc/pterodactyl:/etc/pterodactyl"
- "{{ data_dir }}/wings/lib:{{ data_dir }}/wings/lib" - "{{ data_dir }}/wings/lib:{{ data_dir }}/wings/lib"
- "/storage-pool/Docker/containers:/storage-pool/Docker/containers" - "{{ WINGS_CONTAINER_DIR }}:{{ WINGS_CONTAINER_DIR }}"
- "/var/log/pterodactyl:/var/log/pterodactyl" - "/var/log/pterodactyl:/var/log/pterodactyl"
- "/tmp/pterodactyl:/tmp/pterodactyl" - "/tmp/pterodactyl:/tmp/pterodactyl"
env: env:
@@ -45,7 +45,7 @@
- "2022:2022" - "2022:2022"
labels: labels:
traefik.enable: "true" traefik.enable: "true"
traefik.http.routers.wings.rule: Host(`wings.fntz.net`) traefik.http.routers.wings.rule: Host(`{{ WINGS_URL }}`)
traefik.http.routers.wings.entrypoints: webSecure traefik.http.routers.wings.entrypoints: webSecure
traefik.http.routers.wings.tls.certresolver: letsencrypt traefik.http.routers.wings.tls.certresolver: letsencrypt
traefik.http.services.wings.loadbalancer.server.port: "8080" traefik.http.services.wings.loadbalancer.server.port: "8080"