Compare commits
69 Commits
template-e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
9d643b8eb1
|
|||
|
61474c72fc
|
|||
|
581be1e7ca
|
|||
|
845291b499
|
|||
|
a00f93c2df
|
|||
|
7b384c6358
|
|||
|
a04a4ebded
|
|||
|
7a828308d4
|
|||
|
8cd245121d
|
|||
|
04ee0f97e7
|
|||
|
71b1939f98
|
|||
|
c653c2ac43
|
|||
|
75fd16c532
|
|||
|
9634a94cd4
|
|||
|
a5fcd5463e
|
|||
|
7e5ebad8c6
|
|||
|
6c2f523779
|
|||
|
9ebe5268f9
|
|||
|
fcc42b9b7c
|
|||
|
83268558ae
|
|||
|
a11bd28c4e
|
|||
|
62e149632e
|
|||
|
018a212ad1
|
|||
|
6474804095
|
|||
|
5cdfe44d6c
|
|||
|
008cd10523
|
|||
|
9472336a4b
|
|||
|
16b6d9467d
|
|||
|
4d54e0b5d1
|
|||
|
ff54cc17c1
|
|||
|
f48d7b1d4c
|
|||
|
7f1afe75b0
|
|||
|
c1d083d51c
|
|||
|
8c6f545195
|
|||
| 2ab47a4085 | |||
| 4808bafb15 | |||
|
7806dbb7ef
|
|||
|
610c62b75a
|
|||
|
60ef84f37d
|
|||
|
993fd8eee7
|
|||
|
a32a59ca0a
|
|||
|
909631952b
|
|||
|
5995621767
|
|||
|
77504eeffd
|
|||
|
078cb8edff
|
|||
|
023b48ace0
|
|||
|
20362a069a
|
|||
|
4c878661e8
|
|||
|
fb19e9eefe
|
|||
|
9c32a10144
|
|||
|
18d632e4ce
|
|||
|
ea30d599a9
|
|||
|
390a571fa4
|
|||
|
70fa7c77a8
|
|||
|
1b1d0181c7
|
|||
|
7724c47528
|
|||
|
2ed283ae54
|
|||
|
f5a2b4c6c8
|
|||
|
f6b850574d
|
|||
|
5ea7ad74cd
|
|||
|
2897d67957
|
|||
|
681a876dae
|
|||
|
a19de4c6a5
|
|||
|
5efa6934e3
|
|||
|
183fb0f237
|
|||
|
4805cca2ce
|
|||
|
30cb6e8786
|
|||
|
a8e6ec48a6
|
|||
|
50c6c57372
|
@@ -1,22 +1,12 @@
|
||||
ansible_user:
|
||||
data_dir:
|
||||
docker_network_name:
|
||||
TZ:
|
||||
PUID:
|
||||
PGID:
|
||||
TZ:
|
||||
docker_network_name:
|
||||
ansible_become_pass:
|
||||
media_path:
|
||||
|
||||
# frigate
|
||||
FRIGATE_RECORDINGS_PATH:
|
||||
|
||||
# traefik
|
||||
TRAEFIK_CF_API_EMAIL:
|
||||
TRAEFIK_CF_API_KEY:
|
||||
TRAEFIK_DASH_URL:
|
||||
|
||||
# plex
|
||||
PLEX_CLAIM_TOKEN:
|
||||
|
||||
# api
|
||||
API_CONTACT_WEBHOOK:
|
||||
API_JWT_KEY:
|
||||
@@ -38,6 +28,11 @@ OWNCLOUD_DB_DATABASE:
|
||||
OWNCLOUD_DB_HOST:
|
||||
OWNCLOUD_ADMIN_USERNAME:
|
||||
OWNCLOUD_ADMIN_PASSWORD:
|
||||
|
||||
# traefik
|
||||
TRAEFIK_DASH_URL:
|
||||
TRAEFIK_CF_API_EMAIL:
|
||||
TRAEFIK_CF_API_KEY:
|
||||
TRAEFIK_HOST_IP:
|
||||
TRAEFIK_VIDEO_MACHINE:
|
||||
TRAEFIK_ENABLE_DASH:
|
||||
@@ -55,7 +50,10 @@ MASTODON_VAPID_PUBLIC_KEY:
|
||||
MASTODON_ARE_DETERMINISTIC:
|
||||
MASTODON_ARE_KEY_DERIVATION:
|
||||
MASTODON_ARE_PRIMARY:
|
||||
ansible_become_pass:
|
||||
|
||||
# wings
|
||||
WINGS_URL:
|
||||
WINGS_CONTAINER_DIR:
|
||||
|
||||
# glance
|
||||
GLANCE_PIHOLE_TOKEN:
|
||||
@@ -170,3 +168,9 @@ HELIUM_EXT_HMAC_SECRET:
|
||||
PTERODACTYL_APP_URL:
|
||||
PTERODACTYL_MYSQL_PASSWORD:
|
||||
PTERODACTYL_MYSQL_ROOT_PASSWORD:
|
||||
|
||||
# frigate
|
||||
FRIGATE_RECORDINGS_PATH:
|
||||
|
||||
# plex
|
||||
PLEX_CLAIM_TOKEN:
|
||||
|
||||
20
host_vars/ash-1.yml
Normal file
20
host_vars/ash-1.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
$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,113 +1,150 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
38663262326664303464653331306266333862363635643761346638366633666563303035346662
|
||||
6230313164666332623438636464313435323532393636650a333039326661383864373838333634
|
||||
34653135643737393966353932343066653166653339313939666161363735636634643466363036
|
||||
3630633764646438650a393562343335316363616564383733363233343463356633353837353138
|
||||
65376435343730626466393062656233326330303565376639386332306265306266356634383830
|
||||
32613432386561346634633334666365323061313833396364313465326664353064653237623136
|
||||
31343762383838316161306565323432643630343537346166616666353738343034346233313266
|
||||
62353933323432343564303633636532396439643937306366313333626430313639653162333364
|
||||
36646463353964323139613339326462666334376132633834313537653761333832333436663738
|
||||
35393939326530353064633333323139356234643031653130633665303434313365663238643434
|
||||
31663630313036343939646631326239343361653238646636363234353062346534363039373637
|
||||
31313562666133343732626438353062663863336638323037373361616665613831616165393835
|
||||
32336334393739666366623933626265643964663831336337343632643732383264623534383964
|
||||
34313030336339613934303637363964653064653231666139353836653734626338333331383961
|
||||
39646331623636613332393663663135363139653663383764333433316430313136356433326235
|
||||
35303962646463323534623263623730313166643232303566343135323537386635396165383539
|
||||
64393165623466633936393232363730313233656139383935343561343236343763623232343736
|
||||
39383765633662653434383965646461663730373864326561343265663838643339616539396364
|
||||
38313566343836363530613336326262373736643566323866386565346363363333636262613331
|
||||
38613065333465363931623462653732626633316638626632353338373636383835653165336666
|
||||
62646133383639663934656332613666663031623530336362633234633534363738363664623236
|
||||
62316332363432346534353336343561303066633965373130626664343935393833663363393062
|
||||
30333739626636323839623663393666393239663562653333383066303130363638366566666532
|
||||
65346361636537393335393330313635336665636638366530346335313761323035623666623734
|
||||
30396531383064376661363363323161353132356164636132343531336337613837613931656136
|
||||
64303034626261643635356165636463326565653035316335353730396431663261363333656265
|
||||
38626664636637623866343138303131643462366639336237363566386235656438343138666237
|
||||
61653164376663326663646631393666386630666531666465373433393734653737343765363964
|
||||
64313337336539336664303262343333623161646135633039376637653932626432333533356532
|
||||
35306561323464623762336432366530343661363037383939383035653237353466336531653434
|
||||
36383530633661616564333230363633383665376139353836643334646262323938643139663138
|
||||
33653766666233393332333134386631316535643163323362356539633932323738353636393164
|
||||
66646466613864633631656565303038613639633534306438303731356232663332316633623361
|
||||
39303262353565383636616131333032306531646566313066373231313730386331633435336133
|
||||
30626564643965303131666234663630653237373566653633343662623864393138353265646333
|
||||
34336338356163323139616234323137366365656662633931666534303439326636333562366530
|
||||
35363266633334616463623635666632386338653432653832326636336337626437643061623638
|
||||
61646561666162616330623333346230613965316461383034333734383763383635396433373335
|
||||
37653362636132313139316336356264373763333361333630366535336339623166306663623433
|
||||
63333338613261633163613865303962383238383963353530633136623362313561316533343737
|
||||
66336231323763353964376339613531613939336238656364353536346436663464636637303337
|
||||
39313066613164656431383162326562353036613165613635346639656233626439623939393663
|
||||
66306136656236663766643738303738616230626534333132666331316439363136326264386635
|
||||
64616337613639306536373366366235633766613033313464353538376363663239333930363139
|
||||
37666231626334373132363863346232623866353032626138353838333764633738386166666265
|
||||
38393461633832306465633130343634323763346464643262653330356337353534636566353935
|
||||
36333936343130653861303432626135383438653134326162613833336261613839376161616136
|
||||
31666436353361303438303735623139613063333162303566623431373031646434643766363335
|
||||
32363835376438613163666330333732353432396661666632663633393965396531653830333737
|
||||
63356238613537643033643765616561666163386364376236353031656465333661333830626230
|
||||
32346431633464636663366364643239386135396235336663626335383663373761383165646262
|
||||
37313330376336373462623266343632393637663066313531646333666531653132633164353266
|
||||
37636238623637363166323731653739373764343965626530333834366233323435646339636233
|
||||
39626164653331643036386130663539663532643232333338656661333130376537333261346135
|
||||
34373565643535616333326333383231346162383032636132333166376163373761306337643235
|
||||
61636363323761366236326139373763306561383331303563333461386130353039333862336363
|
||||
65323532623538346638333036316430303130316366376632623133643933393466353162643335
|
||||
37383836323631393664636262333839323336353835663138653061623037636262333432613131
|
||||
62303162646133376263306361663161636131323030396164313435356164386239393032633061
|
||||
33346438373036306365363935626539653930386638383265373733386366663036393637656264
|
||||
61303235326462626630366335373561313730613163623339333630313561663636353366393564
|
||||
33303861623038623135346164376636323661373431653962363332653766663438323664376561
|
||||
65313835386464616361306438316434656331653632346330333131626536323064386664633430
|
||||
63353062336630663935353838316366316138323037383566613166336138306262313766383630
|
||||
66336163666262636435326231326437336333666265663434316635313430623437306230646534
|
||||
33643039376230643163303562376261316163626436626363316234396263633864376331353230
|
||||
66656531646366633163336636343665393838666166643966306636363462666361303839656433
|
||||
37353061656162653336363333343631633865636566646534306231353064643336383365376335
|
||||
66396339376666623561393731633462643330363331623934643935303563393463346563373964
|
||||
63623063376365646663386431653533373739343962656236356461383930373366383163666432
|
||||
65353664363565646235393134316562643230383962636136633866376534326165343864383736
|
||||
62306333386636306330373562336137386338303836303365353834303239336464613966313638
|
||||
38333437313635653866396435656239313535376461623663343663333466393136313936353831
|
||||
66646465663632323866376330316266343033646466316564613261656666313634663735616535
|
||||
37393664613033346234633163373965393763356661636437626263326666643934653931393931
|
||||
66373338636463393536633231663564386561313231323463343638383630396362336239333437
|
||||
39343635663830313234316538636131653765616636613631353432646163376338346565383038
|
||||
39306631646563636130643530353865393337373066336666353732633161383933626635623735
|
||||
63623736613538396635306633393030613434373433663563643065613935376230363935343563
|
||||
31316639333664303361626661353034396138623864373164383362356666633763323333363936
|
||||
32366635633162376436393738663535313338363665383566656634323932303834656639363566
|
||||
33663637643866333535646662643339383339353934383738343138323466313130666563633433
|
||||
61383033616338646665323166623461366635636666326365326666393739303963353365636662
|
||||
64653132376239636630396430346462626136323734353631356238303838663563643433643833
|
||||
34656635373431623639653062386562623539303938336334303238666565363137613638626339
|
||||
61666439303339323061326337623435383662613761336165336361343762373935626131383135
|
||||
39633562353339363936646263313763326366623833333530373032393537373539386636616532
|
||||
34663963646234356136653261386138356638393335626365333263396232613361306239323439
|
||||
61663937646561336637313831373730316635383564346536663533656130323863393566386261
|
||||
37343563333035333233666362653765333037353636646265366235316163646430616635336534
|
||||
63663330303535663237373466666162356236613137623663343262626431316363356439643734
|
||||
33646537383963316336353132366639306136353566313038363366666261313730303837643434
|
||||
35663638616333346365313939303636656361363634373837383965373932663565666434383636
|
||||
65333138666466356334353837303838303831353063333336393335343033373539383662363832
|
||||
31303834366531393436303834316139663533333836376136326364383333393164656164353630
|
||||
64646535363231303137303732643863616237666562363763363265326131356361333961356133
|
||||
63396638636330393938613839383061616166373865316536323835363565613937363161323631
|
||||
39343865393861373136383763646438616537373866663466303165616461373365656130613661
|
||||
38663734376639623966633239376134386239383638653730643439656333326532303535373735
|
||||
63663233663963333661643734316337323263666531373665343561396631396563306161373964
|
||||
62653236366136353463363735376434343061643732636533636634653363386336303034393266
|
||||
34616263376537383230653263323962366164643939646366653635663735373939633532323138
|
||||
64393637326131666262316639353337666632646662663935393037303335353762326163353931
|
||||
34663535363232383232356635633963626637333132366337356537313964616434323261653936
|
||||
35316462373631626438343538363533393964333463666566323135643165633863633331653765
|
||||
36373861386232303739636438653735396538623336366236353238643065353732643136333561
|
||||
37663336636138306335356630313231373732333936656231626537376564313064653433313337
|
||||
62343763343036636432613534346461386532626139346164633738346361653634353636623831
|
||||
31626566336234656661303466623364626261356331623235306265333937316539333539373133
|
||||
38373532353734653337313834323037656431666362333333666237386334373063653530623831
|
||||
66343065303761303035346664653761376335363334373166393861373236666565373131303539
|
||||
32373431613532643236
|
||||
37643962356232333837626335333837656531656363366365306436653930373333393939653239
|
||||
6464373031336361323535383731396538323539646335610a396166353437663437633034323663
|
||||
38633966666230653963613661623333373430346135613039656531643664363531383266653463
|
||||
3431613963653938640a363637613966323132303039313037653962623438656139386631363233
|
||||
34346561653037326566636138626664666461346433323230663235626265363235626364373532
|
||||
61366533623135653134383064396366356164393666333763333532386163343532333032353334
|
||||
30626635323565313735353964316139653835303631623738653033396561663839653237656635
|
||||
31616663323164383365333837623537313332363065383430653138373062633335633834373161
|
||||
32653230313839326165623563363161353934326264313461303966393833663465386265333233
|
||||
33363038336562386238303366353261366233646438353439323064386264373832663534336331
|
||||
32396264346662653661356665396539633633336631653738313131663639303662383463356339
|
||||
61343131666536316636626432633266643139393639306239626662333335646164633738616363
|
||||
31393964666438613161366665643036346562376139376362356636626462626431643331656634
|
||||
35646237663931646264306433323737316434646331646363303165633938646437656137323337
|
||||
63613131396364623234333433626336386630333461306232623632343630616163616161643734
|
||||
38353036373134623934633337323335653438333163303539643239666164666435343134643035
|
||||
38653166646632376161323065393463656566613434353962333265636135653939366135393263
|
||||
64663737313166326238646138663330653334623930373035633262383334656631663236316363
|
||||
31363134316462373637643833343030393536313335316261323332656363363032316631613236
|
||||
62653034356539646165633335393665616237633030376462313234623035633662383739613662
|
||||
34366364366636393264353737333832343035356664386239326332333138626662613962666462
|
||||
37323463653435373864303934633336396566633066313239663364656638646234623236646436
|
||||
65613632623566646330396130373639306161653264663161336531663939633739313663356231
|
||||
36343765343862323864356166303630333538383433326436356136666164393861646661623139
|
||||
34343731623562303135613035303730656565316532663030616463396330663839313961633035
|
||||
32326635356232383638653834386632316235613332323861613739383335313066383739613263
|
||||
31373537643630623866303333313735356633633162343365316337376366353734326363623063
|
||||
65346365613936356332373063336338323438613366643634326136376238383830316635626231
|
||||
66353966393539666434376436616162633462623636326139653461386432366464303334376237
|
||||
30393331633431353532373463663933646262646433666565313663643964333765396633336134
|
||||
33636166623337323061336563363131663461643633393930333339613865303466356465353231
|
||||
31356630376664616232333633306636326130633638303539643633656266343634353733373633
|
||||
36366266646632653964333537643865303535643265326537373366356361373765636136386439
|
||||
66383734346566333931646363353633323765633461326633626333393439633166313635316436
|
||||
31616436633231396164663233653961613630616463313261616533666437643232373562316634
|
||||
34366164383639313134383134383962633964356162646631353064353264363932376661623534
|
||||
65313363353363623831623265393463623066303234663733333432343231383937323136376339
|
||||
35656539343531313936313137646133356666316630376534366534663335656164363737383963
|
||||
33353530373935353230366166343364646335633236333766613665383930366437353763613339
|
||||
61653161653165373965373434333138383638613734616166323133346466656636643163303566
|
||||
35653331376464323331323337656630323639656434333364366230653432333537636566643261
|
||||
30623632656338366266383962663864373863623438363830376361376134303436373465636632
|
||||
38643263663437316333383431366365303437633264383239353438326631373133376539383638
|
||||
32643666633965396666343239636361323635336338386438313065383263653063393436326434
|
||||
31366636633436303835326639663830356466356432656134376161646632323134356230323364
|
||||
65393663323138633638343638626434656466623563653939663665303161616631306337616537
|
||||
64613365363966653964626138303935643835383763316634663561656432383436336135656131
|
||||
38653962306530343933663038353738306261336463623635323861623937386463306363666338
|
||||
30353462656135396135633037376561636133643834633966306365623938366238383439656531
|
||||
63323534626364393761313835386636353335616166666131646136643839636439633161616331
|
||||
38643264313433366335326563613339356161383663623864656434376532363966646434326633
|
||||
31393163353163343139333039336631363839343631376463623866656132306161666537666364
|
||||
62663033663838383134643339616631396637383565633930376262333263396463356133323831
|
||||
66663866646536653064343663343938346332323863356430323430623538386136636237366436
|
||||
39663237383364326164373263386435646434303736303931366134373964653566623135363532
|
||||
61366464393032653031386636316661306565313036366562616233393064396432653636363434
|
||||
32396335353233313435643032313065373465373635333134373635316664656162666262396430
|
||||
34383933323731326238626234653266636563623661343437643263346365626465643833656564
|
||||
66363130353931393861363731646430373937316265646633613531306563396431373737633562
|
||||
33653137393761656339333034366436346534663338616562616636643762613462346232626161
|
||||
64616436343663646233653138613230353432316435616333313236326162633239653964393562
|
||||
66306230663038366230633262393936343435383864623238353935393061326661363132386561
|
||||
35666163323332333637323363333534626330343831303132326231393630633539366635396630
|
||||
32636162616330326237386332636339336237326266663761643933636365613030643539323635
|
||||
64653664313337623438383131343430373038303333663330666333616533626437333433656530
|
||||
33346461366231343763346165663432376233623963613265393033373832623736356635623238
|
||||
30323230326331316537346133386630326135383534303636396639383437373764623835306635
|
||||
63643836333334666231653164646566663063333361396431346665336236613164633566623732
|
||||
37626561366636356538626533663134316362616464356438313333633134343433613033323035
|
||||
64396538383833313461383136666163663262666261386664323533633938323439643036383737
|
||||
33313330663833376463653439376639336534313833336161333336633965616366386433373237
|
||||
61343661353166653362363830643935366662653330646431323665306239303435653864313664
|
||||
31333332363335323563353835373938313031663037343861613232363436616138633336623730
|
||||
33343630326461616635333265333430613433323362373134626538366139333530306235303736
|
||||
32346537316163313766366663373438653233303031333136393835636631313932393631323138
|
||||
37663534353032626262393965393232616431323661663030303062383066613564313335643631
|
||||
34633365383564623034663537643832623836393936303765363065373734333031383162323330
|
||||
65336239386664633936616433653833386336386131393962666537653235363638323465626431
|
||||
34366138323835343830303832386539323362653761616366336435643832366438333331613331
|
||||
65366264613262366438316266353763326434353565653861343234396638616464346466373531
|
||||
33323961633461363135653537306461373532636166376333363737353038653236643462346362
|
||||
62366631613966373636666665383165313763626430346266306163323137316531306532613232
|
||||
32393564353531316464656162356139613237323139613337666532346537646365613464353739
|
||||
33393962346465623863646333663037663361326236353063663962643461663838316566653434
|
||||
37303064396230353664396539643231653664353230643733336439616537633339313535363662
|
||||
37356137336139326161386532383230653931303230366534383439343232383337313065383964
|
||||
36623563643530396364336435646338656538663432396462306538396565356664383330623238
|
||||
38383930353762623637313139656439393662636237383633623236626438663132366562353261
|
||||
63643736376262333336393165373534393835383836386461376563396133623231343434363237
|
||||
66383036303233366365386266333366316236353533303331633663623161656532323535386137
|
||||
62333039646462323638346632373137393035343064303562643033346462363938363265363063
|
||||
64306238633563613535313464663238343861333166353730303831313836633662306432663131
|
||||
31626534333364643832333539643663353763323639633565373639353131613463613737656434
|
||||
62386134326438393565646562636333386639353430316637386361386161386165306665343932
|
||||
66396363383830336266643130656665653330323334666363346539343462353963373264656530
|
||||
66623166633439356638343837353764366364313764303937663134373434343066373537633266
|
||||
31353865343465636561336538346137303130356132316232353533373837616563626633643138
|
||||
32303136383765303637343561336265623634643334333930653639633964383564386338373037
|
||||
32303930623839343064353432306566303533646239633335343464333434323664636435306431
|
||||
65653837353036303735333830383438653530386331343961623339616664653530616236393562
|
||||
35353764323334306265393331303837656536613636663166393336356637383165393365383665
|
||||
33346337346566393066636464366333366538376161353336366232353063376562356239616362
|
||||
37653630396636303933613161316561353532663965363465633636666364333234376638373734
|
||||
63303635353365303536393534303861383761616638633635633732383137373537333933656238
|
||||
30613564363832323164376231333131353132626439663866373432343563343632613163353237
|
||||
30333332663935396137613633626634363063333364613336343166376236373939303032616662
|
||||
39346366333261383636303438336237356563316333636234356639663731653334363935316337
|
||||
62643736666365623063616636613266346630363365386161346339373164356165653461636232
|
||||
63313162616366316331353532383338373430623832613935303430346164613936303335633936
|
||||
31303136643735613635303735633835626262363637326231323161363031373564396266633465
|
||||
30343464363439653162623737643363376234663162636262653534316638343361303664653239
|
||||
35663763323761353035633334343038363066373365316463303766353266356165313265366663
|
||||
66346433316534373938653261623930303633633630366664643761363237643831373238626133
|
||||
62306661616439346438663532363232356638313134663737343066373736333164646432303631
|
||||
35393837383665343336653766616263643563666165616631353836333565323165656264316332
|
||||
36353961626637353939633539326137323461376632653435353665613832366530646265313130
|
||||
62316366316566386666363964303538613935323936633461383231376161373632306434623962
|
||||
32316332363364363366373739353838353236643334366236336565303633306266396432353961
|
||||
64343863376337396134656132653431653764646466636165613936333838613132396636643932
|
||||
33383236333034393165376532346566646238323661323561623030303238353439626333343663
|
||||
38323733663538643666386537643533303031346264633138306439636236323336656336613766
|
||||
35653433343932386237636633373635633265366163346439373733663338313662313038343063
|
||||
38316164363433373964376463636162616464646462393534343734353861306630393330303531
|
||||
36353263346432323666353463376430333166613466303435363666346164656232643430303363
|
||||
35656237666564656264366632666464326530666637613764323762303964643138346433326233
|
||||
38346230656164653530386436653461396563373938626537303563623136313033316135326161
|
||||
62346139633462666661396639346464623532376535623239366333333038393330373838386532
|
||||
36666265653331313130323662383933333034386538616133306634376565653936653664636131
|
||||
30623839336238333537666662336431396633396362376630376361636565343732313262623065
|
||||
65616138333538616635326639303863613462623163663664653263303139373138376134643165
|
||||
34663933666166343135366562623861343037303364393562313635633465623463633164653031
|
||||
62386332336633326339656663633630663762643430376262323531626137353838353764643939
|
||||
36626565653339653365383337633865386165313538666635613738343139383338613239393866
|
||||
39363634303533386633353234373736353633313636323231636331646363636164396530653566
|
||||
35656462336532656666363333393335396663653064613761363565386561646463353363656463
|
||||
38663161353433353936376336326132336533623837343230613737393439346632353766383939
|
||||
35346135626632306233616332346230323663366634396165666362626130656531646462363865
|
||||
63666266633937376237373837633237636638363333346437663037373339613062366435653062
|
||||
36613836373962623930333733326463636666376132633463343366653365393963383564373564
|
||||
63316431303165383263343330656361346165313938356431636563396161653533666339653762
|
||||
37316331303764663366613738363862336236353763613661656666376139333635306331376263
|
||||
64306565373438343134613531653938373338326161363634653339653864373861623939336439
|
||||
63386535623230326237653064313038316163626166373135623533306562346665326137346637
|
||||
38316566376463323663336665306538656430363638653362616530643639616266633362636539
|
||||
38313132643538326132323566323361363138316664616431626435353435613937353134383061
|
||||
38393663323164393737663133353732316461366634663564383239393436363965343237636537
|
||||
62313833333464636662643838366434373464626165343934333236363232313037653661366631
|
||||
39313438663565613233323937336130343861383034376664333631623432643834373138386230
|
||||
37313235373239353630623262386564356433363730623831643066303831666266
|
||||
|
||||
3
hosts
3
hosts
@@ -1,4 +1,5 @@
|
||||
[ungrouped]
|
||||
jade ansible_host=fntz.net ansible_user=alex
|
||||
jade ansible_host=172.16.0.25 ansible_user=alex
|
||||
jackson ansible_host=direct.jackson.alexav.gg ansible_user=root
|
||||
ash-1 ansible_host=ash-1.landite.games ansible_user=root
|
||||
nas ansible_host=172.16.0.29 ansible_user=alex
|
||||
23
main.yml
23
main.yml
@@ -61,12 +61,6 @@
|
||||
- name: Deploy Drop
|
||||
import_tasks: tasks/drop.yml
|
||||
tags: drop_deploy
|
||||
- name: Deploy Gluetun
|
||||
import_tasks: tasks/gluetun.yml
|
||||
tags: gluetun_deploy
|
||||
- name: Deploy QBittorrent
|
||||
import_tasks: tasks/qbittorrent.yml
|
||||
tags: qbittorrent_deploy
|
||||
- name: Deploy Jackett
|
||||
import_tasks: tasks/jackett.yml
|
||||
tags: jackett_deploy
|
||||
@@ -109,9 +103,12 @@
|
||||
- name: Deploy Owncloud
|
||||
import_tasks: tasks/owncloud.yml
|
||||
tags: owncloud_deploy
|
||||
- name: Deploy Wings
|
||||
import_tasks: tasks/wings.yml
|
||||
tags: wings_deploy
|
||||
- name: Deploy Pelican
|
||||
import_tasks: tasks/pelican.yml
|
||||
tags: pelican_deploy
|
||||
- name: Deploy Database
|
||||
import_tasks: tasks/mariadb.yml
|
||||
tags: mariadb_deploy
|
||||
|
||||
- hosts: nas
|
||||
|
||||
@@ -134,3 +131,11 @@
|
||||
- name: Deploy Wings
|
||||
import_tasks: tasks/wings.yml
|
||||
tags: wings_deploy
|
||||
|
||||
- hosts: ash-1
|
||||
|
||||
roles:
|
||||
- role: traefik
|
||||
tags: traefik_deploy
|
||||
vars:
|
||||
server: "ash-1"
|
||||
|
||||
@@ -25,12 +25,6 @@
|
||||
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 }}"
|
||||
@@ -39,11 +33,19 @@
|
||||
- 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 }}"
|
||||
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) }}"
|
||||
privileged: "{{ privileged | default(omit) }}"
|
||||
|
||||
@@ -31,6 +31,11 @@
|
||||
src: remote-dynamic.yml.j2
|
||||
dest: "{{ data_dir }}/traefik/dynamic.yml"
|
||||
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
|
||||
docker_container:
|
||||
|
||||
@@ -48,7 +48,13 @@ http:
|
||||
- webSecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
wings:
|
||||
rule: "Host(`wings.fntz.net`)"
|
||||
service: wings
|
||||
entryPoints:
|
||||
- webSecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
services:
|
||||
plex:
|
||||
@@ -75,3 +81,7 @@ http:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://nas:8409/"
|
||||
wings:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://jade:8090/"
|
||||
15
roles/traefik/templates/remote-ash-1.yml.j2
Normal file
15
roles/traefik/templates/remote-ash-1.yml.j2
Normal file
@@ -0,0 +1,15 @@
|
||||
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,18 +1,15 @@
|
||||
http:
|
||||
middlewares:
|
||||
landiteRedirect:
|
||||
redirectRegex:
|
||||
regex: ".*"
|
||||
replacement: "https://alexav.gg/?ref=landite"
|
||||
permanent: true
|
||||
|
||||
routers:
|
||||
landite:
|
||||
rule: "Host(`landite.games`)"
|
||||
middlewares:
|
||||
- landiteRedirect
|
||||
service: noop@internal
|
||||
wings:
|
||||
rule: "Host(`wings.landite.games`)"
|
||||
service: wings
|
||||
entryPoints:
|
||||
- webSecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
services:
|
||||
wings:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://5.161.64.174:8090"
|
||||
@@ -21,10 +21,10 @@ def deploy(tag = None, host = None):
|
||||
command = construct_command(tag, host)
|
||||
|
||||
if tag:
|
||||
print(f"Deploying {tag}...\n")
|
||||
print(f"[MAIN] Deploying {tag}...")
|
||||
else:
|
||||
print(f"Deploying {host}...\n")
|
||||
res = subprocess.run(command, shell=True, stdout=subprocess.DEVNULL)
|
||||
print(f"[MAIN] Deploying host {host}...")
|
||||
res = subprocess.run(command, shell=True)
|
||||
|
||||
return res.returncode == 0
|
||||
|
||||
@@ -75,8 +75,9 @@ def main():
|
||||
|
||||
deployed = []
|
||||
failed = []
|
||||
|
||||
for task in new_diff:
|
||||
deployment = deploy(tag=task)
|
||||
deployment = deploy(tag=task.split("/")[1])
|
||||
|
||||
if not deployment:
|
||||
failed.append(task)
|
||||
|
||||
@@ -10,12 +10,30 @@ if os.path.exists(host_vars_path):
|
||||
|
||||
vaults = os.listdir(host_vars_path)
|
||||
|
||||
# 1st run - extract ungrouped, global variables
|
||||
for vault in vaults:
|
||||
vault_path = os.path.join(host_vars_path, vault)
|
||||
vault_contents = subprocess.run(f'ansible-vault decrypt "{vault_path}" --vault-password-file ~/.vault_pass.txt --output -', shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
||||
stdout = vault_contents.stdout.strip().splitlines()
|
||||
|
||||
for line in stdout:
|
||||
if line.startswith("#"):
|
||||
break
|
||||
elif line.split(":")[0] not in file_contents:
|
||||
file_contents += f"{line.split(":")[0]}:\n"
|
||||
|
||||
# 2nd run - extract service-specific variables
|
||||
for vault in vaults:
|
||||
vault_path = os.path.join(host_vars_path, vault)
|
||||
vault_contents = subprocess.run(f'ansible-vault decrypt "{vault_path}" --vault-password-file ~/.vault_pass.txt --output -', shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
||||
stdout = vault_contents.stdout.strip().splitlines()
|
||||
|
||||
has_found_start = False
|
||||
for line in stdout:
|
||||
if has_found_start or line.startswith("#"):
|
||||
if not has_found_start:
|
||||
has_found_start = True
|
||||
|
||||
if line.startswith("#") and line not in file_contents:
|
||||
file_contents += f"\n{line}\n"
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ def search_for_image(image_name):
|
||||
data = yaml.safe_load(file)
|
||||
|
||||
for key in data:
|
||||
if "docker_image" in key:
|
||||
if image_name in key["docker_image"]["name"]:
|
||||
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():
|
||||
@@ -29,24 +29,36 @@ def main():
|
||||
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")
|
||||
if len(update_list["images"]) > 0:
|
||||
already_deployed = []
|
||||
actually_updatable = []
|
||||
blacklist = []
|
||||
|
||||
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 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'] })
|
||||
|
||||
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)
|
||||
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()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
- "{{ data_dir }}/api/db"
|
||||
image:
|
||||
name: postgres
|
||||
tag: latest
|
||||
tag: "17"
|
||||
networks:
|
||||
- name: api
|
||||
volumes:
|
||||
@@ -58,6 +58,13 @@
|
||||
STEAM_API_KEY: "{{ API_STEAM_API_KEY }}"
|
||||
CONTACT_WEBHOOK: "{{ API_CONTACT_WEBHOOK }}"
|
||||
JWT_KEY: "{{ API_JWT_KEY }}"
|
||||
DISCORD_PUBLIC_KEY: "{{ API_DISCORD_PUBLIC_KEY }}"
|
||||
DISCORD_APP_ID: "{{ API_DISCORD_APP_ID }}"
|
||||
DISCORD_BOT_TOKEN: "{{ API_DISCORD_BOT_TOKEN }}"
|
||||
MINECRAFT_HOST: "{{ API_MINECRAFT_HOST }}"
|
||||
MINECRAFT_USER: "{{ API_MINECRAFT_USER }}"
|
||||
MINECRAFT_PASSWORD: "{{ API_MINECRAFT_PASSWORD }}"
|
||||
MINECRAFT_DATABASE: "{{ API_MINECRAFT_DATABASE }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.aapi.rule: Host(`api.alexav.gg`)
|
||||
|
||||
@@ -1,29 +1,16 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Drop Database
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: drop_postgres
|
||||
directories:
|
||||
- "{{ data_dir }}/drop"
|
||||
- "{{ data_dir }}/drop/db"
|
||||
- "{{ data_dir }}/drop/app"
|
||||
|
||||
- name: Create Drop Network
|
||||
docker_network:
|
||||
name: drop
|
||||
|
||||
- name: Pull latest Drop Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/drop-oss/drop
|
||||
tag: v0.3.3
|
||||
source: pull
|
||||
|
||||
- name: Create Drop DB Container
|
||||
docker_container:
|
||||
name: drop_postgres
|
||||
image: postgres:14-alpine
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
image:
|
||||
name: postgres
|
||||
tag: 14-alpine
|
||||
network_name: drop
|
||||
networks:
|
||||
- name: drop
|
||||
healthcheck:
|
||||
@@ -39,12 +26,16 @@
|
||||
POSTGRES_USER: "drop"
|
||||
POSTGRES_DB: "drop"
|
||||
|
||||
- name: Create Drop Container
|
||||
docker_container:
|
||||
- name: Deploy Drop
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: drop
|
||||
image: ghcr.io/drop-oss/drop:latest
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
directories:
|
||||
- "{{ data_dir }}/drop/app"
|
||||
image:
|
||||
name: ghcr.io/drop-oss/drop
|
||||
tag: latest
|
||||
networks:
|
||||
- name: homelab
|
||||
- name: drop
|
||||
|
||||
@@ -1,23 +1,14 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Ersatz
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: ersatztv
|
||||
directories:
|
||||
- "{{ data_dir }}/ersatz"
|
||||
|
||||
- name: Pull latest Docker Image
|
||||
docker_image:
|
||||
image:
|
||||
name: ghcr.io/ersatztv/ersatztv
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Docker Container
|
||||
docker_container:
|
||||
name: ersatztv
|
||||
image: ghcr.io/ersatztv/ersatztv:latest
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
devices:
|
||||
- /dev/dri/renderD128:/dev/dri/renderD128
|
||||
mounts:
|
||||
|
||||
@@ -1,24 +1,15 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Frigate
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: frigate
|
||||
directories:
|
||||
- "{{ data_dir }}/frigate"
|
||||
|
||||
- name: Pull latest Frigate Docker Image
|
||||
docker_image:
|
||||
image:
|
||||
name: ghcr.io/blakeblackshear/frigate
|
||||
tag: stable
|
||||
source: pull
|
||||
|
||||
- name: Deploy Frigate Docker Container
|
||||
docker_container:
|
||||
name: frigate
|
||||
image: ghcr.io/blakeblackshear/frigate:stable
|
||||
recreate: true
|
||||
privileged: true
|
||||
restart_policy: unless-stopped
|
||||
published_ports:
|
||||
- "5000:5000"
|
||||
- "8555:8555/tcp"
|
||||
|
||||
@@ -1,23 +1,14 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Gitea
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: gitea
|
||||
directories:
|
||||
- "{{ data_dir }}/gitea"
|
||||
|
||||
- name: Pull latest Gitea Docker Image
|
||||
docker_image:
|
||||
image:
|
||||
name: docker.gitea.com/gitea
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Gitea Docker Container
|
||||
docker_container:
|
||||
name: gitea
|
||||
image: docker.gitea.com/gitea:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
---
|
||||
- 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,24 +1,15 @@
|
||||
---
|
||||
- name: Create Folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/homebridge"
|
||||
|
||||
- name: Pull latest Homebridge Docker Image
|
||||
docker_image:
|
||||
- name: Deploy Homebridge
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: homebridge
|
||||
directories:
|
||||
- "{{ data_dir }}/homebridge:/homebridge"
|
||||
image:
|
||||
name: homebridge/homebridge
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Homebridge Docker Container
|
||||
docker_container:
|
||||
name: homebridge
|
||||
image: homebridge/homebridge:latest
|
||||
restart_policy: unless-stopped
|
||||
network_mode: host
|
||||
recreate: true
|
||||
volumes:
|
||||
- "{{ data_dir }}/homebridge:/homebridge"
|
||||
labels:
|
||||
|
||||
@@ -1,34 +1,16 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Immich DB
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: immich_postgres
|
||||
directories:
|
||||
- "{{ data_dir }}/immich"
|
||||
- "{{ data_dir }}/immich/model-cache"
|
||||
- "{{ data_dir }}/immich/db"
|
||||
|
||||
- name: Pull latest Immich Server Docker Image
|
||||
docker_image:
|
||||
name: ghcr.io/immich-app/immich-server
|
||||
tag: v2.1.0
|
||||
source: pull
|
||||
|
||||
- name: Create Immich Redis Docker Container
|
||||
docker_container:
|
||||
name: immich_redis
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: immich
|
||||
|
||||
- name: Create Immich DB Docker Container
|
||||
docker_container:
|
||||
name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
image:
|
||||
name: ghcr.io/immich-app/postgres
|
||||
tag: 14-vectorchord0.4.3-pgvectors0.2.0
|
||||
volumes:
|
||||
- "{{ data_dir }}/immich/db:/var/lib/postgresql/data"
|
||||
env:
|
||||
@@ -38,13 +20,27 @@
|
||||
POSTGRES_INITDB_ARGS: "--data-checksums"
|
||||
networks:
|
||||
- name: immich
|
||||
network_name: immich
|
||||
|
||||
- name: Create Immich Server Docker Container
|
||||
docker_container:
|
||||
name: immich_server
|
||||
image: ghcr.io/immich-app/immich-server:v2.1.0
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
- name: Deploy Immich Redis
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: immich_redis
|
||||
image:
|
||||
name: docker.io/valkey/valkey
|
||||
tag: 8-bookworm
|
||||
networks:
|
||||
- name: immich
|
||||
|
||||
- name: Deploy Immich Server
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: immich
|
||||
image:
|
||||
name: ghcr.io/immich-app/immich-server
|
||||
tag: v2.1.0
|
||||
networks:
|
||||
- name: homelab
|
||||
- name: immich
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
---
|
||||
- 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"
|
||||
39
tasks/mariadb.yml
Normal file
39
tasks/mariadb.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
- name: Deploy MariaDB Database
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: mariadb
|
||||
directories:
|
||||
- "{{ data_dir }}/db"
|
||||
image:
|
||||
name: mariadb
|
||||
tag: latest
|
||||
published_ports:
|
||||
- "3306:3306"
|
||||
volumes:
|
||||
- "{{ data_dir }}/db:/var/lib/mysql"
|
||||
- "{{ data_dir }}/db/etc:/etc/mysql"
|
||||
env:
|
||||
MYSQL_USER: "root"
|
||||
MYSQL_ROOT_PASSWORD: "{{ GLOBAL_POSTGRES_PASSWORD }}"
|
||||
|
||||
- name: Deploy PHPMyAdmin
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: phpmyadmin
|
||||
image:
|
||||
name: phpmyadmin
|
||||
tag: latest
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
env:
|
||||
PMA_HOST: "{{ PMA_HOST }}"
|
||||
PMA_PORT: "{{ PMA_PORT }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.pma.rule: Host(`pma.landite.games`)
|
||||
traefik.http.routers.pma.entrypoints: webSecure
|
||||
traefik.http.routers.pma.tls.certresolver: letsencrypt
|
||||
traefik.http.services.pma.loadbalancer.server.port: "80"
|
||||
@@ -1,54 +0,0 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/nextcloud"
|
||||
- "{{ data_dir }}/nextcloud/data"
|
||||
- "{{ data_dir }}/nextcloud/db"
|
||||
|
||||
- name: Create Nextcloud Docker Network
|
||||
docker_network:
|
||||
name: nextcloud
|
||||
|
||||
- name: Pull latest Nextcloud Docker Image
|
||||
docker_image:
|
||||
name: nextcloud
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Nextcloud DB Docker Container
|
||||
docker_container:
|
||||
name: nc_postgresql
|
||||
image: postgres:17-alpine
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: nextcloud
|
||||
volumes:
|
||||
- "{{ data_dir }}/nextcloud/db:/var/lib/postgresql/data"
|
||||
env:
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
POSTGRES_PASSWORD: "{{ NEXTCLOUD_POSTGRES_PASSWORD }}"
|
||||
POSTGRES_DATABASE: "{{ NEXTCLOUD_POSTGRES_DATABASE }}"
|
||||
POSTGRES_USER: "{{ NEXTCLOUD_POSTGRES_USER }}"
|
||||
POSTGRES_HOST: "{{ NEXTCLOUD_POSTGRES_HOST }}"
|
||||
|
||||
- name: Create Nextcloud Docker Container
|
||||
docker_container:
|
||||
name: nextcloud
|
||||
image: nextcloud
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
- name: nextcloud
|
||||
volumes:
|
||||
- "{{ data_dir }}/nextcloud/data:/var/www/html"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.nc.rule: Host(`{{ NEXTCLOUD_APP_URL }}`)
|
||||
traefik.http.routers.nc.entrypoints: webSecure
|
||||
traefik.http.routers.nc.tls.certresolver: letsencrypt
|
||||
traefik.http.services.nc.loadbalancer.server.port: "80"
|
||||
@@ -1,23 +1,14 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy NZBGet
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: nzbget
|
||||
directories:
|
||||
- "{{ data_dir }}/nzbget"
|
||||
|
||||
- name: Pull latest NZBGet Docker Image
|
||||
docker_image:
|
||||
image:
|
||||
name: lscr.io/linuxserver/nzbget
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create NZBGet Docker Container
|
||||
docker_container:
|
||||
name: nzbget
|
||||
image: lscr.io/linuxserver/nzbget:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
|
||||
@@ -1,25 +1,16 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Obsidian
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: obsidian
|
||||
directories:
|
||||
- "{{ data_dir }}/obsidian"
|
||||
- "{{ data_dir }}/obsidian/data"
|
||||
- "{{ data_dir }}/obsidian/etc"
|
||||
|
||||
- name: Pull Docker Image
|
||||
docker_image:
|
||||
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:
|
||||
|
||||
@@ -1,30 +1,18 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Owncloud Database
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: owncloud_database
|
||||
image:
|
||||
name: mariadb
|
||||
tag: latest
|
||||
directories:
|
||||
- "{{ 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
|
||||
network_name: "owncloud"
|
||||
networks:
|
||||
- name: owncloud
|
||||
volumes:
|
||||
@@ -42,12 +30,14 @@
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
- name: Create Owncloud Redis Container
|
||||
docker_container:
|
||||
name: oc_redis
|
||||
image: redis:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
- name: Deploy Owncloud Redis
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: owncloud_redis
|
||||
image:
|
||||
name: redis
|
||||
tag: latest
|
||||
networks:
|
||||
- name: owncloud
|
||||
command: "--databases 1"
|
||||
@@ -59,12 +49,14 @@
|
||||
volumes:
|
||||
- "{{ data_dir }}/owncloud/redis:/data"
|
||||
|
||||
- name: Create Owncloud Docker Container
|
||||
docker_container:
|
||||
- name: Deploy Owncloud
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: owncloud
|
||||
image: owncloud/server:10.15
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
image:
|
||||
name: owncloud/server
|
||||
tag: 10.16
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
- name: owncloud
|
||||
|
||||
32
tasks/pelican.yml
Normal file
32
tasks/pelican.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
- 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"
|
||||
@@ -1,28 +1,19 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy PiHole
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: pihole
|
||||
directories:
|
||||
- "{{ data_dir }}/pihole"
|
||||
|
||||
- name: Pull latest PiHole Docker Image
|
||||
docker_image:
|
||||
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
|
||||
published_ports:
|
||||
- "53:53/tcp"
|
||||
- "53:53/udp"
|
||||
networks:
|
||||
- name: homelab
|
||||
published_ports:
|
||||
- "{{ TRAEFIK_HOST_IP }}:53:53/tcp"
|
||||
- "{{ TRAEFIK_HOST_IP }}:53:53/udp"
|
||||
volumes:
|
||||
- "{{ data_dir }}/pihole:/etc/pihole"
|
||||
env:
|
||||
|
||||
@@ -1,23 +1,14 @@
|
||||
---
|
||||
- name: Create Folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy PocketID
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: pocketid
|
||||
directories:
|
||||
- "{{ data_dir }}/pocketid"
|
||||
|
||||
- name: Pull latest PocketID Docker Image
|
||||
docker_image:
|
||||
image:
|
||||
name: ghcr.io/pocket-id/pocket-id
|
||||
tag: v1
|
||||
source: pull
|
||||
|
||||
- name: Create PocketID Docker Container
|
||||
docker_container:
|
||||
name: pocketid
|
||||
image: ghcr.io/pocket-id/pocket-id:v1
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
restart_policy: unless-stopped
|
||||
networks:
|
||||
- name: pterodactyl
|
||||
- name: homelab
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/pterodactyl/nginx:/etc/nginx/http.d"
|
||||
- "{{ data_dir }}/pterodactyl/logs:/app/storage/logs"
|
||||
@@ -83,7 +83,7 @@
|
||||
TRUSTED_PROXIES: "*"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.panel.rule: Host(`panel.fntz.net`)
|
||||
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,36 +1,17 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Radarr
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: radarr
|
||||
directories:
|
||||
- "{{ data_dir }}/servarr"
|
||||
- "{{ data_dir }}/servarr/sonarr_config"
|
||||
- "{{ data_dir }}/servarr/radarr_config"
|
||||
- "{{ data_dir }}/servarr/lidarr_config"
|
||||
|
||||
- name: Pull latest Radarr Docker Image
|
||||
docker_image:
|
||||
image:
|
||||
name: lscr.io/linuxserver/radarr
|
||||
tag: latest
|
||||
source: pull
|
||||
- name: Pull latest Sonarr Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/sonarr
|
||||
tag: latest
|
||||
source: pull
|
||||
- name: Pull latest Lidarr Docker Image
|
||||
docker_image:
|
||||
name: lscr.io/linuxserver/lidarr
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Deploy Radarr Container
|
||||
docker_container:
|
||||
name: radarr
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
volumes:
|
||||
- "{{ data_dir }}/servarr/radarr_config:/config"
|
||||
- "{{ SERVARR_MEDIA_PATH }}:/media"
|
||||
@@ -48,12 +29,14 @@
|
||||
traefik.http.routers.radarr.tls.certresolver: letsencrypt
|
||||
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
||||
|
||||
- name: Deploy Sonarr Container
|
||||
docker_container:
|
||||
- name: Deploy Sonarr
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: sonarr
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
image:
|
||||
name: lscr.io/linuxserver/sonarr
|
||||
tag: latest
|
||||
volumes:
|
||||
- "{{ data_dir }}/servarr/sonarr_config:/config"
|
||||
- "{{ SERVARR_MEDIA_PATH }}:/data"
|
||||
@@ -71,12 +54,14 @@
|
||||
traefik.http.routers.sonarr.tls.certresolver: letsencrypt
|
||||
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
|
||||
|
||||
- name: Deploy Lidarr Container
|
||||
docker_container:
|
||||
- name: Deploy Lidarr
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: lidarr
|
||||
image: lscr.io/linuxserver/lidarr:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
image:
|
||||
name: lscr.io/linuxserver/lidarr
|
||||
tag: latest
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
|
||||
@@ -1,34 +1,20 @@
|
||||
---
|
||||
- name: "Create file structure"
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Storage API
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: storage-api
|
||||
directories:
|
||||
- "{{ data_dir }}/storage-api"
|
||||
- "{{ data_dir }}/storage-api/app"
|
||||
- "{{ data_dir }}/storage-api/files"
|
||||
|
||||
- name: "Clone latest Storage API"
|
||||
image:
|
||||
name: storage-api
|
||||
tag: latest
|
||||
build:
|
||||
git:
|
||||
repo: git@git.alexav.gg:alex/storage-api.git
|
||||
dest: "{{ data_dir }}/storage-api/app"
|
||||
|
||||
- name: "Build Storage API Docker Image"
|
||||
docker_image:
|
||||
name: storage-api
|
||||
tag: "latest"
|
||||
build:
|
||||
path: "{{ data_dir }}/storage-api/app"
|
||||
dockerfile: Dockerfile
|
||||
source: build
|
||||
state: present
|
||||
|
||||
- name: Deploy Storage API Container
|
||||
docker_container:
|
||||
name: storage_api
|
||||
image: storage-api:latest
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
volumes:
|
||||
|
||||
@@ -1,23 +1,14 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Tautulli
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: tautulli
|
||||
directories:
|
||||
- "{{ data_dir }}/tautulli"
|
||||
|
||||
- name: Pull latest Tautulli Docker Image
|
||||
docker_image:
|
||||
image:
|
||||
name: ghcr.io/tautulli/tautulli
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Tautulli Docker Container
|
||||
docker_container:
|
||||
name: tautulli
|
||||
image: ghcr.io/tautulli/tautulli
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
|
||||
@@ -1,23 +1,14 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Termix
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: termix
|
||||
directories:
|
||||
- "{{ data_dir }}/termix"
|
||||
|
||||
- name: Pull latest Termix Docker Image
|
||||
docker_image:
|
||||
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:
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
---
|
||||
- name: Pull latest Tinyauth Docker Image
|
||||
docker_image:
|
||||
- name: Deploy Tinyauth
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: tinyauth
|
||||
image:
|
||||
name: ghcr.io/steveiliop56/tinyauth
|
||||
tag: v4
|
||||
source: pull
|
||||
|
||||
- name: Create Tinyauth Docker Container
|
||||
docker_container:
|
||||
name: tinyauth
|
||||
image: ghcr.io/steveiliop56/tinyauth:v4
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
env:
|
||||
USERS: "{{ TINYAUTH_USERS }}"
|
||||
SECRET: "{{ TINYAUTH_SECRET }}"
|
||||
@@ -28,8 +26,6 @@
|
||||
OAUTH_WHITELIST: "{{ TINYAUTH_OAUTH_WHITELIST }}"
|
||||
APP_TITLE: "{{ TINYAUTH_APP_TITLE }}"
|
||||
BACKGROUND_IMAGE: "{{ TINYAUTH_BACKGROUND_IMAGE }}"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.tinyauth.rule: Host(`auth.fntz.net`)
|
||||
|
||||
@@ -1,23 +1,14 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Uptime Kuma
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: uptime-kuma
|
||||
directories:
|
||||
- "{{ data_dir }}/uptime-kuma"
|
||||
|
||||
- name: Pull latest Uptime Kuma Docker Image
|
||||
docker_image:
|
||||
image:
|
||||
name: louislam/uptime-kuma
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Uptime Kuma Docker Container
|
||||
docker_container:
|
||||
name: uptime-kuma
|
||||
image: louislam/uptime-kuma
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
|
||||
@@ -1,23 +1,14 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- name: Deploy Vaultwarden
|
||||
include_role:
|
||||
name: docker
|
||||
vars:
|
||||
name: vaultwarden
|
||||
directories:
|
||||
- "{{ data_dir }}/vaultwarden"
|
||||
|
||||
- name: Pull latest Vaultwarden Docker Image
|
||||
docker_image:
|
||||
image:
|
||||
name: vaultwarden/server
|
||||
tag: latest
|
||||
source: pull
|
||||
|
||||
- name: Create Vaultwarden Docker Container
|
||||
docker_container:
|
||||
name: vaultwarden
|
||||
image: vaultwarden/server:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
volumes:
|
||||
|
||||
Reference in New Issue
Block a user