Compare commits
92 Commits
template-e
...
7806dbb7ef
| Author | SHA1 | Date | |
|---|---|---|---|
|
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
|
|||
|
903e786b99
|
|||
|
465d46fd45
|
|||
|
cd68af81c6
|
|||
|
447f06dd8e
|
|||
|
949b82b67f
|
|||
|
3d3c4c109d
|
|||
|
3e07981021
|
|||
|
d60435c66e
|
|||
|
e41f2ba5be
|
|||
|
3a812ce86f
|
|||
|
0a9ac7cfaf
|
|||
|
118bd4bcbd
|
|||
|
70ecb1f6d6
|
|||
|
31f2b51b37
|
|||
|
a8e6ed70ab
|
|||
|
57efba5cb3
|
|||
|
2c7eb799f8
|
|||
|
fa6e8c4b5c
|
|||
|
4b93172b53
|
|||
|
ecd7285ff7
|
|||
|
8a04d9adaf
|
|||
|
095bb14b00
|
|||
|
2f4c43cb96
|
|||
|
ecb7963443
|
|||
|
80b1fbe629
|
|||
|
09cfb8e0d2
|
|||
|
c0ff714238
|
|||
|
84d088443b
|
|||
|
00429c89fe
|
|||
|
d19b952c16
|
|||
|
6bf421bdc8
|
|||
|
4d5922ca58
|
|||
|
2eb2fc9eb0
|
|||
| 7bc5fa6e2c | |||
| fb96864437 | |||
|
d5c5a31bf5
|
|||
|
07534790a3
|
|||
|
d0685d63ed
|
|||
|
7f387d410f
|
|||
|
0ae9867846
|
|||
|
2d633491cb
|
|||
|
4d0a37afbd
|
|||
|
d261c0eb4f
|
|||
|
ad74f0d77b
|
|||
|
6766b01d49
|
|||
|
3081861414
|
|||
|
ce5c2afa85
|
|||
|
c7e1a21363
|
|||
|
2018de4ddb
|
|||
|
b8d1b9432d
|
|||
|
f12104707b
|
|||
|
a7e2ada228
|
|||
|
4de181f01b
|
|||
|
f00be47d24
|
|||
|
fa1b627345
|
|||
|
c578d0c71e
|
|||
|
d176da1e3f
|
|||
| 208e81ee81 | |||
| 32141db102 |
17
.gitea/workflows/update.yml
Normal file
17
.gitea/workflows/update.yml
Normal 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
|
||||||
@@ -1,11 +1,6 @@
|
|||||||
name: Create New Secrets Template
|
name: Create New Secrets Template
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- "host_vars/**"
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
172
host_vars/all.template.yml
Normal file
172
host_vars/all.template.yml
Normal file
@@ -0,0 +1,172 @@
|
|||||||
|
ansible_user:
|
||||||
|
data_dir:
|
||||||
|
PUID:
|
||||||
|
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_CONTACT_WEBHOOK:
|
||||||
|
API_JWT_KEY:
|
||||||
|
API_STEAM_API_KEY:
|
||||||
|
API_LASTFM_API_KEY:
|
||||||
|
API_DATABASE_URL:
|
||||||
|
API_POSTGRES_PASSWORD:
|
||||||
|
API_ADMIN_KEY:
|
||||||
|
|
||||||
|
# plausible
|
||||||
|
PLAUSIBLE_BASE_URL:
|
||||||
|
PLAUSIBLE_SECRET_KEY_BASE:
|
||||||
|
|
||||||
|
# owncloud
|
||||||
|
OWNCLOUD_APP_URL:
|
||||||
|
OWNCLOUD_DB_PASSWORD:
|
||||||
|
OWNCLOUD_DB_USER:
|
||||||
|
OWNCLOUD_DB_DATABASE:
|
||||||
|
OWNCLOUD_DB_HOST:
|
||||||
|
OWNCLOUD_ADMIN_USERNAME:
|
||||||
|
OWNCLOUD_ADMIN_PASSWORD:
|
||||||
|
TRAEFIK_HOST_IP:
|
||||||
|
TRAEFIK_VIDEO_MACHINE:
|
||||||
|
TRAEFIK_ENABLE_DASH:
|
||||||
|
|
||||||
|
# fivem
|
||||||
|
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:
|
||||||
|
ansible_become_pass:
|
||||||
|
|
||||||
|
# glance
|
||||||
|
GLANCE_PIHOLE_TOKEN:
|
||||||
|
GLANCE_VIDEO_MACHINE:
|
||||||
|
GLANCE_JELLYFIN_URL:
|
||||||
|
GLANCE_JELLYFIN_TOKEN:
|
||||||
|
|
||||||
|
# tinyauth
|
||||||
|
TINYAUTH_USERS:
|
||||||
|
TINYAUTH_SECRET:
|
||||||
|
TINYAUTH_APP_URL:
|
||||||
|
TINYAUTH_GENERIC_CLIENT_ID:
|
||||||
|
TINYAUTH_GENERIC_CLIENT_SECRET:
|
||||||
|
TINYAUTH_GENERIC_AUTH_URL:
|
||||||
|
TINYAUTH_GENERIC_TOKEN_URL:
|
||||||
|
TINYAUTH_GENERIC_USER_URL:
|
||||||
|
TINYAUTH_GENERIC_SCOPES:
|
||||||
|
TINYAUTH_GENERIC_NAME:
|
||||||
|
TINYAUTH_REDIRECT_URL:
|
||||||
|
TINYAUTH_OAUTH_WHITELIST:
|
||||||
|
TINYAUTH_APP_TITLE:
|
||||||
|
TINYAUTH_BACKGROUND_IMAGE:
|
||||||
|
|
||||||
|
# code-server
|
||||||
|
CODE_PROXY_DOMAIN:
|
||||||
|
CODE_DEFAULT_WORKSPACE:
|
||||||
|
|
||||||
|
# dozzle
|
||||||
|
DOZZLE_ACTIONS:
|
||||||
|
DOZZLE_SHELL:
|
||||||
|
|
||||||
|
# gluetun
|
||||||
|
GLUETUN_VPN_SERVICE_PROVIDER:
|
||||||
|
GLUETUN_VPN_TYPE:
|
||||||
|
GLUETUN_WIREGUARD_PRIVATE_KEY:
|
||||||
|
GLUETUN_WIREGUARD_ADDRESSES:
|
||||||
|
GLUETUN_SERVER_COUNTRIES:
|
||||||
|
GLUETUN_SERVER_CITIES:
|
||||||
|
GLUETUN_SERVER_HOSTNAMES:
|
||||||
|
|
||||||
|
# immich
|
||||||
|
IMMICH_UPLOAD_LOCATION:
|
||||||
|
IMMICH_DB_DATA_LOCATION:
|
||||||
|
IMMICH_VERSION:
|
||||||
|
IMMICH_DB_PASSWORD:
|
||||||
|
IMMICH_DB_USERNAME:
|
||||||
|
IMMICH_DB_DATABASE_NAME:
|
||||||
|
|
||||||
|
# jellyfin
|
||||||
|
JELLYFIN_TV_PATH:
|
||||||
|
JELLYFIN_MOVIE_PATH:
|
||||||
|
JELLYFIN_MUSIC_PATH:
|
||||||
|
|
||||||
|
# navidrome
|
||||||
|
NAVIDROME_MUSIC_PATH:
|
||||||
|
|
||||||
|
# ntfy
|
||||||
|
NTFY_UPSTREAM_BASE_URL:
|
||||||
|
NTFY_BASE_URL:
|
||||||
|
|
||||||
|
# nzbget
|
||||||
|
NZBGET_USER:
|
||||||
|
NZBGET_PASS:
|
||||||
|
NZBGET_DOWNLOADS_PATH:
|
||||||
|
|
||||||
|
# pihole
|
||||||
|
PIHOLE_FTLCONF_WEBSERVER_API_PASSWORD:
|
||||||
|
|
||||||
|
# pocketid
|
||||||
|
POCKETID_APP_URL:
|
||||||
|
POCKETID_TRUST_PROXY:
|
||||||
|
|
||||||
|
# romm
|
||||||
|
ROMM_AUTH_SECRET_KEY:
|
||||||
|
ROMM_LIBRARY_PATH:
|
||||||
|
ROMM_IGDB_CLIENT_ID:
|
||||||
|
ROMM_IGDB_CLIENT_SECRET:
|
||||||
|
ROMM_OIDC_ENABLED:
|
||||||
|
ROMM_OIDC_PROVIDER:
|
||||||
|
ROMM_OIDC_CLIENT_ID:
|
||||||
|
ROMM_OIDC_CLIENT_SECRET:
|
||||||
|
ROMM_OIDC_REDIRECT_URL:
|
||||||
|
ROMM_SERVER_APPLICATION_URL:
|
||||||
|
|
||||||
|
# servarr
|
||||||
|
SERVARR_MEDIA_PATH:
|
||||||
|
|
||||||
|
# vaultwarden
|
||||||
|
VAULTWARDEN_DOMAIN:
|
||||||
|
|
||||||
|
# gitea runner
|
||||||
|
GITEA_INSTANCE_URL:
|
||||||
|
GITEA_RUNNER_REGISTRATION_TOKEN:
|
||||||
|
GITEA_RUNNER_NAME:
|
||||||
|
GITEA_RUNNER_LABELS:
|
||||||
|
|
||||||
|
# monitoring
|
||||||
|
GRAFANA_AUTH_ANONYMOUS_ENABLED:
|
||||||
|
|
||||||
|
# drop
|
||||||
|
DROP_GIANT_BOMB_API_KEY:
|
||||||
|
|
||||||
|
# obsidian
|
||||||
|
COUCHDB_USER:
|
||||||
|
COUCHDB_PASSWORD:
|
||||||
|
|
||||||
|
# helium
|
||||||
|
HELIUM_BASE_URL:
|
||||||
|
HELIUM_EXT_HMAC_SECRET:
|
||||||
|
|
||||||
|
# pterodactyl
|
||||||
|
PTERODACTYL_APP_URL:
|
||||||
|
PTERODACTYL_MYSQL_PASSWORD:
|
||||||
|
PTERODACTYL_MYSQL_ROOT_PASSWORD:
|
||||||
@@ -1,70 +1,113 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
66306532353835666663633632373037633561613261613139306436626532656366336362343465
|
38663262326664303464653331306266333862363635643761346638366633666563303035346662
|
||||||
3966653330313132663633663462363361373230623262370a623661366633623762656363616537
|
6230313164666332623438636464313435323532393636650a333039326661383864373838333634
|
||||||
66323464363164323131663335313264396538313237303432653532393631306635666138316261
|
34653135643737393966353932343066653166653339313939666161363735636634643466363036
|
||||||
3738653338316132640a643935646530393362346431653966643061643334316238333632346265
|
3630633764646438650a393562343335316363616564383733363233343463356633353837353138
|
||||||
66633336316466356566336132626332623661316337613634373036646236363736376561643733
|
65376435343730626466393062656233326330303565376639386332306265306266356634383830
|
||||||
66383830386336653236633933623037316632326266363136613031373439383834653134336237
|
32613432386561346634633334666365323061313833396364313465326664353064653237623136
|
||||||
66363039316661353837383964363163353433383734656564313139383764346533313564616333
|
31343762383838316161306565323432643630343537346166616666353738343034346233313266
|
||||||
36336231363661326638373963393265323365636665653034373536663232353266656365656338
|
62353933323432343564303633636532396439643937306366313333626430313639653162333364
|
||||||
66313034646236356364323238326265633933346530393430373364393837376437623138306630
|
36646463353964323139613339326462666334376132633834313537653761333832333436663738
|
||||||
35306266643835316136323232393630336330346133313963646539636463323862306236653335
|
35393939326530353064633333323139356234643031653130633665303434313365663238643434
|
||||||
30356335366365356439653130376139616336346363656436356333333538373036313266353163
|
31663630313036343939646631326239343361653238646636363234353062346534363039373637
|
||||||
39306365303630636135373731366334623165363336383261386334313061356461303664343133
|
31313562666133343732626438353062663863336638323037373361616665613831616165393835
|
||||||
63383763633566393662623833346662366235323836353639306266383532333736386161393138
|
32336334393739666366623933626265643964663831336337343632643732383264623534383964
|
||||||
36666662306233306439386639666434353639343137653831343666393463323865316464396636
|
34313030336339613934303637363964653064653231666139353836653734626338333331383961
|
||||||
33646238363236303531323131613731343262353365306232343634313637613634626162363566
|
39646331623636613332393663663135363139653663383764333433316430313136356433326235
|
||||||
64326238383331316365343566623464383732653333326534636365386230343836396234396634
|
35303962646463323534623263623730313166643232303566343135323537386635396165383539
|
||||||
63646235356639363036313839643632333066653634323661313263313331393332656131393065
|
64393165623466633936393232363730313233656139383935343561343236343763623232343736
|
||||||
65303338323466383161333237643433303961613266623134383936663866363337653535326133
|
39383765633662653434383965646461663730373864326561343265663838643339616539396364
|
||||||
62323464636638643163313064373736353263356638666434333135656133336534343932613234
|
38313566343836363530613336326262373736643566323866386565346363363333636262613331
|
||||||
32356361346366316262383232653835396435333837633737356335353837336632376337616364
|
38613065333465363931623462653732626633316638626632353338373636383835653165336666
|
||||||
35616365633738366466623835653866663461393738396633343235316231636138333663383364
|
62646133383639663934656332613666663031623530336362633234633534363738363664623236
|
||||||
63376164646563353335333133333665396132343439363861623734336335356663393735313837
|
62316332363432346534353336343561303066633965373130626664343935393833663363393062
|
||||||
34323034336431643362313332633665653837353635303061376235306665336362323630376132
|
30333739626636323839623663393666393239663562653333383066303130363638366566666532
|
||||||
36313539326336656134633564343538636264623932626164366138653035343732396464633863
|
65346361636537393335393330313635336665636638366530346335313761323035623666623734
|
||||||
32613363383366326332383835316666366430623235636536353337373035386361373236363036
|
30396531383064376661363363323161353132356164636132343531336337613837613931656136
|
||||||
31353865333933356561623661353133353864643038626366666431313831353234653430396331
|
64303034626261643635356165636463326565653035316335353730396431663261363333656265
|
||||||
35653864633263613963333734636364366336613430623032666666666266613538663665623437
|
38626664636637623866343138303131643462366639336237363566386235656438343138666237
|
||||||
30643562333561626636646337626234653936616438623738623364653561396638383564333262
|
61653164376663326663646631393666386630666531666465373433393734653737343765363964
|
||||||
39323265346263366530643132303033343835353334373865373561613539613461343962316663
|
64313337336539336664303262343333623161646135633039376637653932626432333533356532
|
||||||
32636461316234313832313635636431326134323638646164396537383963326439633063313063
|
35306561323464623762336432366530343661363037383939383035653237353466336531653434
|
||||||
37353062616233323932343033376636613039343734336630303139616331626431616330396363
|
36383530633661616564333230363633383665376139353836643334646262323938643139663138
|
||||||
65623565653235303630383534343739346234316337343233366530313238623139666538363430
|
33653766666233393332333134386631316535643163323362356539633932323738353636393164
|
||||||
61613833663666386161356331656131356462376463373432316331626531393136393838313065
|
66646466613864633631656565303038613639633534306438303731356232663332316633623361
|
||||||
34323361323836323561633032663833343537663637346330326337363165306237616335333233
|
39303262353565383636616131333032306531646566313066373231313730386331633435336133
|
||||||
35656530303666633438303732623232383965633038616632633164663461393465336233643635
|
30626564643965303131666234663630653237373566653633343662623864393138353265646333
|
||||||
30363334646161363234393533663064363364343838396562626232383036623236343664313366
|
34336338356163323139616234323137366365656662633931666534303439326636333562366530
|
||||||
35646532383164393365343366633134393061633362303164393034653862653535613761356630
|
35363266633334616463623635666632386338653432653832326636336337626437643061623638
|
||||||
65633634393033653363373235323933333766306165326237636530663737393063623664343031
|
61646561666162616330623333346230613965316461383034333734383763383635396433373335
|
||||||
63643538366238363066666566333236653362633861346136663036373731626136383530356466
|
37653362636132313139316336356264373763333361333630366535336339623166306663623433
|
||||||
33326230303864353838333136373736373963386638663164363139386638396265626365356535
|
63333338613261633163613865303962383238383963353530633136623362313561316533343737
|
||||||
35396236306639316631366461373235326665643565326539333739393264373733363163366537
|
66336231323763353964376339613531613939336238656364353536346436663464636637303337
|
||||||
31656366343831616339393065323331636136346236386131306533383436356566633830623163
|
39313066613164656431383162326562353036613165613635346639656233626439623939393663
|
||||||
37303036663935376132323733353433306361383234343962633165616538626564653239393137
|
66306136656236663766643738303738616230626534333132666331316439363136326264386635
|
||||||
65346236656266383130323662636565643033663933346337663836643765656266623563656430
|
64616337613639306536373366366235633766613033313464353538376363663239333930363139
|
||||||
31386365646437306362643965653631373862623266303165386666626430663130666130323062
|
37666231626334373132363863346232623866353032626138353838333764633738386166666265
|
||||||
36326331313838316339653231666138616332653564323635356366316237313662353531336636
|
38393461633832306465633130343634323763346464643262653330356337353534636566353935
|
||||||
31666263313134656136663862303536366631663965343565646637663566656466646435613839
|
36333936343130653861303432626135383438653134326162613833336261613839376161616136
|
||||||
39656230616465653465316633373561343237356637643336373535653438656137323264643239
|
31666436353361303438303735623139613063333162303566623431373031646434643766363335
|
||||||
66363066666161316362383737333638336565613230306138343735633432356661386631383530
|
32363835376438613163666330333732353432396661666632663633393965396531653830333737
|
||||||
64353161396463313532336430613862396537643436396562633665613736663965356335313131
|
63356238613537643033643765616561666163386364376236353031656465333661333830626230
|
||||||
63303563383734353331656164313638386135343336346263643430323932366133306261663562
|
32346431633464636663366364643239386135396235336663626335383663373761383165646262
|
||||||
32633363373537626633373433396565363032323536336263373835653363323661663834333365
|
37313330376336373462623266343632393637663066313531646333666531653132633164353266
|
||||||
65636332383232653933363736363131653032666135373436663834656337653739333338636437
|
37636238623637363166323731653739373764343965626530333834366233323435646339636233
|
||||||
62613463626437306133333632663662303732376364663339306637653534396433643665353366
|
39626164653331643036386130663539663532643232333338656661333130376537333261346135
|
||||||
30633332383136306230613435346536323434666431653834333639343234613631323031643138
|
34373565643535616333326333383231346162383032636132333166376163373761306337643235
|
||||||
38613536336465656232336238653532636664313766633432363364613937323337653464616461
|
61636363323761366236326139373763306561383331303563333461386130353039333862336363
|
||||||
32653939386537663635653733336463303538333431303537323633623834623637666132613030
|
65323532623538346638333036316430303130316366376632623133643933393466353162643335
|
||||||
31666539353762346335643134333637366533313833383634356266653831663333393661353439
|
37383836323631393664636262333839323336353835663138653061623037636262333432613131
|
||||||
64353432393432333865306535643261376536663064323163393266373235623530626138316237
|
62303162646133376263306361663161636131323030396164313435356164386239393032633061
|
||||||
63333631396234326534386238623937626661663265383631386662383866636231646531633562
|
33346438373036306365363935626539653930386638383265373733386366663036393637656264
|
||||||
64323762616431663664613564366562303630313137353838323064333966323062643233353830
|
61303235326462626630366335373561313730613163623339333630313561663636353366393564
|
||||||
37363763666530643535666235383062646163626164353037346365366332366162636563313361
|
33303861623038623135346164376636323661373431653962363332653766663438323664376561
|
||||||
37343861373764653633393930316666613335393232663332323035386431326566663038613861
|
65313835386464616361306438316434656331653632346330333131626536323064386664633430
|
||||||
37303061653936636234363937623162313731353961343337356663623362306461636438333131
|
63353062336630663935353838316366316138323037383566613166336138306262313766383630
|
||||||
32376633663639333534396162383438373863633664383266626537343165396435346337343935
|
66336163666262636435326231326437336333666265663434316635313430623437306230646534
|
||||||
62623232646432346362623430363665353036376564323734346536393430336135306335613238
|
33643039376230643163303562376261316163626436626363316234396263633864376331353230
|
||||||
35633365333430626134353535623363396330343138616530613333633961303930623633663662
|
66656531646366633163336636343665393838666166643966306636363462666361303839656433
|
||||||
65313032353232653233346665616562363138333639323562653035646431313365623036393665
|
37353061656162653336363333343631633865636566646534306231353064643336383365376335
|
||||||
3363
|
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
|
||||||
|
|||||||
@@ -1,209 +1,221 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
62316431346466333036383039323736336662386634373664343961343732303963323361663530
|
62383466373737653035333232303338326366323539316363336337393862373265666333356433
|
||||||
3038393463616438356133633430393535333335663236350a323064386662623762656138373763
|
3261393563633166343066346436363532336261376134350a353937653561346237666134343561
|
||||||
36343534333364666466656138313034393239626435323163376239333662373538323530646663
|
32623332613731343631666563663731663739323633636239353035366335386366626366343934
|
||||||
3961386133613637320a333536636263646133303231386663386237626430626439373435333233
|
3333313835326639340a333463326635643561393464643063613530396430333838666234353538
|
||||||
66306661326232303032653066353433363839303630376237363538626537303765663065653336
|
32643366326165383435366266303463626330343533346561646232383337323332623663353131
|
||||||
33346335363733343938393335626661626431343134353164396533373562396332616262666362
|
66306538353864356466663233353237356132616161373166393736336438353066303963663764
|
||||||
62396662653461643331373664653735653563396330303165646233363266333562313532303164
|
65643465626461393232396461356132383939353035643736633437316132386461313131623961
|
||||||
63363566353336646664373633376331633465353037656332333562663731373463636133303637
|
35366464356133373333663530613066613233303161623534653331393864376333303937333037
|
||||||
32346231386463353864343465336333623136336663633531343830613935666535306131326666
|
61663239633030626339653062663939633662316633376135626466623637656239616234373461
|
||||||
30353866646264313536333165373638373034346230373738666531613934313762613131333634
|
64353633386638363132643530366237396335333263306136373939343565323765313565643666
|
||||||
36656566376535643833623631383539363163323933343662306365383732303764346665306363
|
30366162373337366331313232373333393939653561626238373236393430363464633333313562
|
||||||
39336162653734303062346335656431366636626262666639393162346430343737376233613761
|
63626463313336363961663431366364303065623933303261303963326266386131346566323638
|
||||||
38366263663062653332366137346235376261356666663331353430663836626339663064396461
|
36316161343738386436383731383961656336363137303566366335653538663432323765663062
|
||||||
65386431646435313038653131633531326631386436333361316233306465333533393163653437
|
34626232383533643363383039643762626337316636626438633438383037353432323132663464
|
||||||
38633765666362383236386130313961386266353463396138353439643232333965643062356334
|
38616532316534356632643630326534643962353634383162313338396538643862313061613838
|
||||||
37326136396133373061323366383631663165396564623631653362623438336464356633303538
|
35636165366337623532623737393738343230626530623330303465383263393763623664343466
|
||||||
64346435613736633839626561363161383435663333383133343030653835323131373937613435
|
63666135353663363961306366626162373836653461316537373961333364373236373361383238
|
||||||
31396661613534636138616336333538663835623531313835616266653662353262616162646431
|
66656636646665623739326638623061663765363030316263613666666364663261343830393330
|
||||||
34393366633433643536666230356635376332393632333531633139396432613463653030623564
|
65366366306333323837343666633935613635396663623962386430613937626366313232363962
|
||||||
64356232653337613535326661633539333663316566616133663338656139656639393538306332
|
65613064303731613865366432353866326135386464386637363335653135343665623632663066
|
||||||
65333036663563333733383439393332386137313437623834633231646433653233623037346535
|
66663165633163396264303236613734383464633966663663333731616665333037663538636530
|
||||||
62386262373032646230303764323138623332353236653461393838316663633033353339623132
|
32323830303864616565363862316132303131636635326431303261313131646234346164653862
|
||||||
39356438653366633464666638656630333438323936333035383764396334326637656238383932
|
62396666303961633165333931653061613132396433393436623665383033396130336231323337
|
||||||
36313165353534336666626664373033616132643536366335333466346631323262616239343564
|
39333563313137623035376139396261343432666130306566326662376636663938326439663235
|
||||||
38376135616264313461323739616663326631636431633937366534646366383430623062316537
|
66636561663464336637323663363363333338393665616339643864633839656463626665666664
|
||||||
37313536663139656235663335636665633634626237303365326665383965636265353262643362
|
30373463363135326134613730366430326666623766613131326562366265663662323438333563
|
||||||
65323963326430353362346235346434306133376334613831396635373936666565633232316465
|
62363037356231656664623332626562346266363035393562336262373363333366383739616636
|
||||||
61316135336633356534356363636130353837653435343032663361363335623164373835613364
|
63333763303038353234643564303132353834353439656239396463313862363464366634646439
|
||||||
64643365616165393436376263323439613637326434666639613164383066306365396463633633
|
32643638623035366632396234626134393461633163616664303934623861383462623438323831
|
||||||
32633332346335623831383734653838323436346463633435333530363036393838346231663932
|
33316361363830353062353832336366363161653630323735356239663037616364636665636330
|
||||||
38356663653066323966626137623334623739666463366166646636306638393638356332336630
|
65313531396530323064353862353939393565376662356138653736386637623265326632306561
|
||||||
39626534666235613237343634313933653931343831316137656439653266393663343930303462
|
61343764393034633461353432343830326661353663373965373961663330313035396437663738
|
||||||
34666266653162323231376564393662326430353965383364326337363333666562326262326233
|
66333539626565313635663531323366323636336237306561346234323962613636653864383532
|
||||||
36383733646362303330303934326533653365643538623039366265663931613031373862366634
|
36326138383566666434393932343439653263393332663766626261653336333432623337343439
|
||||||
31343835626430663962386532326666346261653236613132373535303937386535303432663766
|
30316336346466383333313332303238383761303033336164613462366532353761383333666665
|
||||||
37313932366562643933303434623234393765363464666362323635646462326438303333393132
|
36306661303832646432626461616236333730353538663765653539303561343534643862356463
|
||||||
32393735303039623135613033636532613763396362366565316536323933366631663765333033
|
61646361653464653462346334313232316633376539643836326462336236366330323061373538
|
||||||
34356536646339346130383338316162646530326239373235663632643034616331356533363234
|
63363638643862343539643639383935326439356534653339393835383139626539373834653238
|
||||||
32373365343435343561623265343237376265663039653634663538313062626633373238356262
|
62396464373766316132376136343631316132396661336233623637396166376466353936666263
|
||||||
64356431353936663536363362626165383662343835626238353036393235343034643465653663
|
31613261356366356130306437613364333866333830643665333866646263333034326336373563
|
||||||
30393861363965636436663732616165393231636235316533663264383265323763656536626166
|
66343764633164666666353161636236376163626262373536353464363032333561363963376266
|
||||||
32363562656266656331353262356435353030323330663032653930363437313934633265333861
|
37646539316163336637313863373064393466613863653834636639626566383535363663393866
|
||||||
33616531326633383237323231353866366531636437356230636330393533333331313566383138
|
31633737376532316165333531656166646533386439323130396430323431376662626661383564
|
||||||
38303562643435383736363036353138626561323530393736666236346639326162383638303165
|
63323265383933626631326133636163363630666538316331623733663535326261323438383263
|
||||||
39616361316632323936653734656264333764356431393635613833346434303861646264373337
|
66623035343132646466613063396561323164323336636639636535393832383234623062626630
|
||||||
31623435646463346630336235653762656561633035343332636135393464393332633139643761
|
66383739336565643563653438376430353961383062386539353965323462356462353266306163
|
||||||
66613964663862626664393133326638343336373962343566646231356261386339393162313438
|
35383964616562653563666262366264343735333461646564646264306365373933656565363136
|
||||||
38303036323132353132653633333064346338653566346437356633666565643730343763373137
|
64313530356536336665393333323464336238333637306562396635383835306135326165373763
|
||||||
36363432346633626336373934646635353264623834303431313466346536653839366661646636
|
63336665366461663137383834643136383034646238643463656539386330363761363064613434
|
||||||
30616461653938633562613536393864376230393262313663666634303566333766626435643333
|
65623836323732633262643062396366633264396334353938633463623462383563343631303239
|
||||||
63393461643266643538343132356130383262366463313132383239323838636361653638653437
|
37363263383935333665336334366334323166306165333466326232656637646132613339323239
|
||||||
61383936303836323931666164373963656138343962326135623565623930346136656566373335
|
66303830356330396432613163616166323261643861646264336436313733363362343835646464
|
||||||
35623132613663356430363139323936643137393337653438306361316464363734313135356362
|
66383762613665306465643938363631343630633733376137383133346465653662313938623237
|
||||||
34636566663636363933363462666635643135323631356262323635323932363035323763623734
|
63313333383933393131373039323065333635353030396163623130303462343764656533643936
|
||||||
34316637626263313734326466366364313732383465383062326137646262383130313365356463
|
65333239333236393537373863386435623231376163323261326331306263326662653132623032
|
||||||
38376565396339346463653833303361646430323636623830646233633362353838333131386461
|
61663532383865636566623761356533656363343863633161343230633433306533633130323131
|
||||||
64323464376361333239313739376436623830393937353934386339366339326439386564306434
|
37366234376565666633353962353939343634653662336139353662356337393438363261353636
|
||||||
66396136656463643462353663633233333931316532346162653961383334656337636261663266
|
35643563316165376233383134653363343262633035326261666633383437626237373637663932
|
||||||
39636331353566343966616166363066623561633837313062633038633137633264346663623730
|
66326636643662636539346138663530623365376330343833363263616666623938623736303030
|
||||||
31336438643536396134643338316637333562663639366133663637646236613963353966643938
|
62393135626565303464666138613365623632666638653265666139333930333737663965323631
|
||||||
30366364643165616435353062323330396631326137633034666330376633353466336230643466
|
39613330363561363366333765313837343462316633613835313865656363333132326336626539
|
||||||
36626366313639373331303734353862336665643962303837393164616266323433316665626436
|
39623364343131306263363863323730323939353261646335366133393962623137653864373131
|
||||||
31303137326331646539373863623638663839373461363135326132646632343764656538393035
|
62383935313265363937313664336432393965653463643466646137373630373631363736636431
|
||||||
30663833653236396563393634373364306536323965656331666465643762643036633866343139
|
35323432636633663138376339383131383461656465643766636636306565663639623163636234
|
||||||
33343438333137643733616530666466376563653535326261633933303539383032643439383030
|
33626237353334396432656530663833633235666239326336316139323439633337663433643331
|
||||||
32643033346463366335303663363339323866316437383366393731373034323763363562333033
|
35643766323361393064336137666664396465373765393034303462653737663063373065316465
|
||||||
35663464336636623835333632623166623163323237353831643666343564303632646539623461
|
61336363353831316338663536653063613061333034613237306531663037653835663538666337
|
||||||
61613864326438653935396434613761376234306261396262323732393338376339613866643639
|
37613834343164396133343736393165663263653161663537313234613366653532646630373766
|
||||||
36386537363536376135323862396363323062356161353638393063336466653437323838633862
|
37636331326338383039663030346666323234393632363233323037383863313564363563346338
|
||||||
62663738353235663230636639616638313237313638626334633061633535373733613734626665
|
63656261653464663663643231653833346130386433373562623662633963346630336533316435
|
||||||
38316464643035343261633466343238393632333530323562333066326334663932643337626530
|
66333439396638343563633138326431346131373439396566633232356535393565656231663737
|
||||||
32373366323364306236653465633964326539646265346466633730396236366638313032613363
|
36376163393133643337613639303039623832666438666661383436636661393233366663333838
|
||||||
32323332613562613835363433376562643431623266323131313031316163366137623434323030
|
64653564623562363339656162353836306437303738373439303933313637393464306265323336
|
||||||
34336234363861366435393532616466363631313535303264643765346631396564613432616363
|
63326436393364373931653563356363313139343734633663316362323738653738343732363138
|
||||||
64336364393563396132646166313163323666373638616136313061386561623338656538373033
|
61393761326138653036643332383235626236356564633232323462333135326264353937336463
|
||||||
38373166333762323065326464363134346335653236613530313235333864393265383633663637
|
31313965366132623737353232373134323433306564333862326634663362356238353465653364
|
||||||
32363134313230333039613137306135373964386230326561626137633133326463373935646239
|
31623933316465666331653831393461316538393537386636376461653236336434626134616662
|
||||||
35316536623932323135306233383332333832396338366561666565323462656666363834346431
|
62623634366336333739373332376239386336336631396263303535373564303862663666663562
|
||||||
61316139343634653538396233656262396466376263643236346438306630666534303337323565
|
61313830386438616262633533336334353735333331346436373230613363356166353430386430
|
||||||
61343636303564363132393236363333653263353061376330653534333762346130653561623039
|
62343735373231656139343035396562386661356538376661643435353237353962333930363939
|
||||||
66656135393864313934393233663738386430333534303432396534623831333363393439386135
|
61613733653064343833396530343432663238363537373631306132666235613330343866353031
|
||||||
35616436303439653132356530626138373934383962396564646237316665323538396666366437
|
64396531363337373236656235633261623239663439303834356139623833623339353862663230
|
||||||
30376339383233383664343965306534386166613964313534636261316537316637343631393836
|
31363039663033323663353766616465393063356263323239353461616239346332396532633066
|
||||||
30613761323964636433613036653631303434346633623166636139326637363537613833386165
|
64346563613934633937333433383764363731366132626365323661313962636464396539386236
|
||||||
34303032346137623736373563303464306232663066373931626532373639343535313830613135
|
63316563353661376330346139663737306162366661656461353862326666373030336136366632
|
||||||
66656261646465366366313436313139376136373939396330393464346365383730626466613530
|
63616439616630366435623065386430646537363333393965663534383531323462373833363965
|
||||||
36303663626337633735633636666164366237323635383664333938373362626164386233663165
|
64323931383534643730303466373366393435313663306631666364376665626434623430326164
|
||||||
30643432356433346536663932616530326339383736343036333663383039613132303263646236
|
64366437626634643362396565306665313231326336366630326163356630373663653633376434
|
||||||
38633939383866646534366663393434373464616165633335373034306133393666326439613761
|
64393033336463326631303862653337656163343932363661303862346133373562663537663930
|
||||||
65373661346661366437663236663236663632356466386564376163636636343666303535653661
|
34373761373537633130366661653539343931383663653234333663323738356535306664656664
|
||||||
66646465386133353539323863656131653238363633336239376131613531396336313562623331
|
61383337323238636634373830626138393466336666386262393039393963633835366531643831
|
||||||
66393466613461393931343765303565383730356131663533346133386337316431366461343731
|
35313531613832663637386566313436363566346432346536313263633038393438666431663737
|
||||||
38646562613462653733323163653062663332393438313238316530653165363762313537333961
|
62633631656534353961306663613634616336393833616166613836373539333131633066666365
|
||||||
39666635363534646232386538396530316232363130666231643363336361336339653461326236
|
63656264353831353630343834356239653331376539376331386663386334366463363935656431
|
||||||
61373932346234343537366433386335353636636666326164393364623035656530333036363632
|
64386439656135383139626136653066613166353738613262623231323132626330366561643030
|
||||||
30643836393939646139646134636362336332383836663862663935383536613031316135613137
|
36613765336339383863666535303930626534643934383731336461383432376461636230343030
|
||||||
62613065363265666165363732636437313536383037313863613937656437316331356630636161
|
36383330376231336661653735373961643936303064373365616333663836323663333361376462
|
||||||
37386335303237313365346134356266336330303134646339353432333062303931336639613365
|
34616538343235366332633430613130633237303363353932346366636631366466306533373063
|
||||||
64353431373862616363616330393034396630333232383661353533323034383762353062303538
|
66363832623237636266643861363238396534666164393735303165393933623766313262323333
|
||||||
62326433366439393030373163656332353636343432633133626139613535363063353263393761
|
37623830613733333162303061383166363838303965666664633861376238343165633234633232
|
||||||
65383238636564663061356561616430633033323233336530663335623538643466343165326434
|
63636633353937376131306435383061343030666361323061616262353935643030333966626433
|
||||||
35313835386566326138663736613838613064306238383063376530636362303938656364653436
|
35356562316336343932313539623239363036336361326234666339366335343033643435346536
|
||||||
32313364653439393132353961343264346231333732323537623065303839663939323466613834
|
65346261663338326465316237353934633334353033646433353035653530396232666638636262
|
||||||
30393138346632623236356130346538643934623762663538666432343065643465663164386564
|
37393532656561643839373333363331316235636566316531393865633131373936316236663839
|
||||||
39356565646566353830383338623939306161373437336230373166316530313331626139633039
|
63663835633437346336626432326235356432616364316465376239363864323561383636623338
|
||||||
32336535633839643532626632356464336533623766626233336335366639346666663931306536
|
39646266396162313938613062623430663237633465633261626562626636396637373137366465
|
||||||
64333239613736343534353663383232626638396438653262393835643138353466373936353234
|
65643134666236386538643062663135643266303861396337353638306532306236636136623039
|
||||||
39626439663463636237306630376231343537623262313635316164316539613231343565333532
|
34336130666633313661653761393536346661343063653562326462363434366531656430353232
|
||||||
66363539626638336637396532386437363438373530393165613434616162353561633839366533
|
32643164303364613362616631356364643835346561383962316265336637353837383462653037
|
||||||
35643265646439393563303433386432316663643165613065306461313939636133613733373138
|
34633031346261633835373131656166386439306361356636663338613731393434323039353665
|
||||||
31623965393466363831626135663335646661373136613934316532333964346230633238646539
|
35636365303365353833623463626463326632383737373235353464323939616539636531383665
|
||||||
38613732393135363430663334316162623330663865393234343730653434386462366234343332
|
32333761313439626339613834316464363835636331373331363730373861313739363164313330
|
||||||
39646636646630303964623662663437326161316635646361623833343136373333336463346230
|
33326136326566336633316437316132613430393166333130623335393232653065376131666465
|
||||||
61353830383364393137343134306665306633396632633634326339393331303231343461623364
|
31303132353465313761633265313266373132633231353766346633386639336464613134353832
|
||||||
32353131333133323939656637633664663437316666623438666335376264353637323562343935
|
34613035396165633864616664636563353265316432336636326632386234633263393261323136
|
||||||
32336261653664303965316132353764346663656466323464643434373736393462616166636162
|
66356338613666303863393937626365376631643666363830613836333236383466353835306535
|
||||||
66336563626536656533316165313735386334393533623038656664333438376536396264353030
|
63313939386335313936376233626231343062323662313565653439306534386133396336623265
|
||||||
35366532613733346366353366623630306630623130653331363165346338343832373338393765
|
30326334373433386639626362396138346234346630383930373636616239353734356432356237
|
||||||
30336130326639333334393338366362646235383635343139643136366630373761386438343130
|
33636135353736313961303730386433346433663332363465343732353132356162383936343238
|
||||||
38613831663533626632623632653934653635633366353130663538326538316636383262386433
|
35633866303031663238666662366137316366333564336134393465383438616465656666653664
|
||||||
34326163363136613861646438323132376139306533643765316435356363643235616365303932
|
37383231623136363163663562343938653631316131613864663936363336343465343931613830
|
||||||
65303737306339633330633937363638663337636538623535323637383761666461306363616338
|
61633166663534643765306337316635633163326238353561376631353661386437363935353636
|
||||||
63356364646463346437303665376266656466636265663864663163333032623836646533326437
|
35623831366532393061343764633735396363623161373661316238303639396166643430323432
|
||||||
34316131633031363966316238643163613838653061383734366631653733633438313038333432
|
36363137303834643233616331623764343161623264653531373431646364376662376238353233
|
||||||
36633963653366353431386261303264323931353465343333323339613138313562616464663931
|
62626464393336653530383434353066353865333139323363396635393530616332383463373032
|
||||||
37663636376633333033383666323161656234346261363536343134343566656530346433383766
|
36363665653234313263333334393535333961393063303366393034333734626235313835313665
|
||||||
61373166666530323637303737653733396333313335646666613936623630303262306565343239
|
39376330346132343035653531396430656231646631653131633064643530363561393665663661
|
||||||
35363639393138323062393436306466383831656638666232616466343065363464313333333162
|
64636133623231396663393662333738653631356436646166356531303066636139376166353830
|
||||||
32393539623737373231636235666233656132383966663964343161626563383965616161623666
|
36626461646635323730326463323065393061356633653931663334633532663834323332363534
|
||||||
31356461653264353239356433646132316462386161356330663932353461386339346530653232
|
34306539386532386365313766343462656264653332346363366231663764633436343334343235
|
||||||
33306566663061616133323230643930643030386633666133313132353436336135383336356563
|
61653465303635353062333232396261336139633561373034396533383933373933356462666134
|
||||||
32393838333532383637363531396234623038386665336363303731376461306630663761303139
|
32323631353536663761663439353162633539346561396166303738376432383533643766366465
|
||||||
64333130356538623032373839313864633561316565383434383962353738353666636366333765
|
61373536663836613237366666646133343532376461323139643565396135366533356439306438
|
||||||
34353334646365616234623031393339663666633765636432666666336261343761333733396534
|
62643235316231663564326238386238353536356330363236313064333862366336636363323834
|
||||||
65303064643535383866623363333162303333393461313964396365363666313134333033383233
|
33336236313939316162393964346363363236383263363638336531623463643338323461326338
|
||||||
63393837636161653031633066326662366366663636313666663834376332356336666530396263
|
33626430343834623466666461396534326466393934643631306637633562623531643636343031
|
||||||
66326634376365343635666130333936346133656263343463613763393738393862353934343237
|
35626637363265306563643463666337316633613263353363306330613064306664343735353265
|
||||||
61316437383830636264326564346535646635386562613466323832343665636630346462333863
|
38623033623364626437353434653732636161303732326239633837346336343666386138383935
|
||||||
32623537396538643964663936623031326265373066313637636232363364653538363064613262
|
63626238663630366630366635356531303564663866616563393164346564643338666561396432
|
||||||
62306561373133373532376366336637393131383233393036313161363563303666303339363230
|
37396439393866666661353463623865333863613765353264306633636239656530303230373537
|
||||||
65633263363064633837363362393632383966366337393030353132346465346463636535303062
|
61336634383861633165366265313136343464396464663136393864623436626537313935663831
|
||||||
37316665653230656363313937663636336336333136306536303861303439366531323266336662
|
64386162356665616331383839373533363161623630663431663136643732353065376161336564
|
||||||
62376339646334303233376134323065363938366162316461626566343235303761633132383433
|
36663931383033313130643831306364663365313265313831373636643861303261626130326234
|
||||||
66303435633336313961333734353236623536653739336164353037343334386163326432303031
|
36613038356132343936346463636463356332303261663830373333346435316364383161643065
|
||||||
37353630346164633766353365613662373936663265353962333566336238336533396639373839
|
35323262373736626636343562313731646234373464633664663562366364656466323737356435
|
||||||
62346564646261303762663366303939393963393134303730383038326562353837623130396439
|
63653266356265633163386337333731316266663032656131346134353264306436366466393464
|
||||||
66636535663137333535393864613464636334363132376562393531376132333230346632363230
|
66653662333464646437636439313565333465366339383365666538376464653563313835343561
|
||||||
32306363336638326235663466333236646130336539333533306236653861313465343661613235
|
35373661353832643363363266343561613066343138636339633033343932643633633035616232
|
||||||
32643633633832636336313431653134623234303534363838306337363164326531343061306264
|
39336635636135666461643134636435326433613331353035656232313662343735663833353234
|
||||||
62643033326137643461636534623965343161636437326165303536343135393163643734373936
|
39653337386430353364373237313533373933383333346536356337356535653531303532663235
|
||||||
61373237326663616461326462393431633765346330313136383030323736313533313662633438
|
36323531643735666538323838323932623438646236613330383863393836393365363636626232
|
||||||
30616335373732303931643131383732646261333432323537393736313438616336306439626535
|
34393239383236626537303666393532626335396434363763356466326633363464646565323431
|
||||||
65306137303464636330303765303663366436353063643434383631376462303530643836366632
|
35383934613964663839343332353539653136306566653763396564343538643663366636306331
|
||||||
64613730316439666462613534383561343632323832383336636535626163316535383833313834
|
63386531326635373134353564316532353333383834376332306237336366616532363034383866
|
||||||
61383433643637366561316665346335623135323361346532656139353261663531396464343638
|
32326133333932323861373433376662343537343935663864346537633063316561316538666431
|
||||||
65653137303664613562333661363636623533333735616231623139343661353866623864363533
|
32623863373432363264373637373864396363353933303762373662626364653434363738393234
|
||||||
62636131393364643938363463303465333430386564306531366436316365613063623866666666
|
64616464633433376336356236376635623232306264316464616465636139363861666435316563
|
||||||
65653261363562653363306331666566336462613661646264306361663835633162323032616236
|
66396630346437616433613665303462653662376563623763633466653166643536376466323133
|
||||||
33393663613762313033396136356339356538376633353837613366326634303438373036633362
|
64626630376338666164353839323062303132663633343937643761356535633238356634626165
|
||||||
30613361633037356633376336353539616134663561663462633336373836373736646363306165
|
62363237336264623932613835303236623333316564393338633861313333666466346435323766
|
||||||
33323935313131376531643733353965353761393532333835616534613062373237353932656234
|
35626432373737653138653931616562396161363037613339323961633534623537666637626133
|
||||||
35356538633032383961326562346161356231613564656336343039616339306335666563323464
|
61653637306531646239383639333366643937393932623131383335616436663863393064323833
|
||||||
31393961636330333966306332373837636135646465316235653533626261393865653932613930
|
35306635386336613037383761653638643930303334386139623135313434346232316233373632
|
||||||
32376539343530326138656361356238653238643830663636656435383634336562306339366330
|
38393737636132333138636534383565666230323831303964333132656663383838386538656537
|
||||||
37613663343837626661383235303238653533326436643236653034636139333630393934633462
|
36316166653239323162326333383035346636366163636233393936613563333032653339623264
|
||||||
39613365636262613736316530663732623837653134653133363032623931663933666262323035
|
35303766623730653939383439643265343365363064336430356431666163656661666330323563
|
||||||
38666662333835336464316434303436373663353333396162653333663234643139386332313762
|
33383761326562333937396535303366373136653163643138393931323838313531383264386463
|
||||||
30303365646236653362376464656165366536303331393935303936306639656331636261646530
|
63316230333735396538613561313132613861336166663238613730323438383830643963356230
|
||||||
39333332626565343964623136643734643664383662663133663431353161303639666437386638
|
66343933656536356136633065663037663233623662393133353739343065333438333235333836
|
||||||
37653332613865636666373634626466623638326237656663323734303363636334643430626533
|
39613962376238643933653131363261313164333333383032613235653136326262623461663032
|
||||||
39386437366430613737376433366539376637393963613137633162653130666535313363343437
|
36326164323036386562313638623331663166633039373264323333386635363437373839393432
|
||||||
39363232366136343937343131303438353837613335326437333166643336306638623665616439
|
31363564643536613530383066383530643537353263366565346533343761353530313739346137
|
||||||
65616662613331623137653539313462336138633739623036623264313835363435303262643031
|
38616335386539363861306232326330386563663433663132383938323866646564383864333864
|
||||||
65316236636432346562643262353663656364353536666138623437373334623131613238353763
|
64663733333961373730366137656563376562366366646135383662333831636462623762356563
|
||||||
61356664323066356533616563336231393432643038306464396664333236326332393161373963
|
65313433363633343662316337306638383132613131393765653135366631633561356138353730
|
||||||
32663435383363356563363134623736363966613834663933633963383463313335643036613633
|
61313135326366373837303130663466353563313465613932633863383664306262653833346462
|
||||||
63336661393531346534373231316537353539373738373433383666313435633433613031643538
|
32393566666566656339326531343265316631623230383130343633333535643939343733343161
|
||||||
36326135306139353032656230663734383437623439333031323163643230613866323535663162
|
64336639666233383865386533326437613630613536303063656631346463353564613030366662
|
||||||
37346161303935333966346565613234356331333031656431376238336438666239623032356435
|
35313331303564663835393439623730633031363435366363376230346432333834663933313834
|
||||||
36653235663664303235303933626163616363633866393337326430376335303736626561386231
|
37653561626430363962646136633865353138323835633062666631626436653461303966386164
|
||||||
34376563633963323565616136343765316365383538333765346365653432353261346533656661
|
31616235623932356136663763623263626331343131323933356439316430336564653630653836
|
||||||
30346433333639626234643630366638616563623133646666323061366530646264363566333530
|
38326538666265306230396461376635386464656637363461623639356531313939613363373461
|
||||||
32623161393733383036336238626236356361656633343732393438663937376163323865653366
|
34366136616238373731333962613437383563653161323337336135356462346431343064386463
|
||||||
34613035623230613362346337343535313139363636353536656131353139363835616236663863
|
36613235353263623430333035376133353966373130316134303639303865323534386239386632
|
||||||
62363666396338653732316133666536393663663030313531616437343761613637636233313431
|
31313935343336303535653861363036363461373537336561363532626137623066663932343037
|
||||||
36306566303832393136663963323836653561653664666661356461313131636435306632343836
|
37333164356232343763613464326234343230616362326333643665643261656266336638303330
|
||||||
64613839633264343239626430363632656162343233626330613538663362356561623965336232
|
36626133333166386661393833356661383337336136336537656233326666383133623637396264
|
||||||
66393432343132643039383138323733353463323263663239303233316366626437336531313562
|
64316264616439313565306666616238336661363365633833623263333363623132383830346130
|
||||||
31626561663962326431336138643438623836633262616533656434343436636134333066613065
|
35366234323837646531366330333632616133333364343766393233333237373836323837666161
|
||||||
66633663643632313436616533326163343733393035636433303336613463333532633066633565
|
63643138376538363639353330373136376564643261623731313931333666353239333561663432
|
||||||
38613932633632353434393433373738326166663764383765613136326630663434363764316431
|
65396663373436666236376434666632376335353566353530393533633132366130663038643264
|
||||||
35353562653363363533363538646336646666393564613933303066333033653965333033316163
|
37313832613732353230306135363466616162313137343436653064343231356433366563303738
|
||||||
61393666383935393261373335626262313661653639643830376265633562356638326336663432
|
35623531636631613061653963656664313038633434316336333633316661306563643262646334
|
||||||
35333936313866383432666239313630613661613433303330363539303462366237313533636263
|
33613563386330376333663133653138336234386366316538383362383665643361386366386538
|
||||||
63376331633865396639643530663237326338383535643930653233306166343834333061346463
|
65396534643064303332366532663834366537626261316139326236356136343136383638333339
|
||||||
61353734613765356165346437336137346639616561643238613565323938386161326139623861
|
36346530356565666332613037373364353366386130313464626565323730316132336262323264
|
||||||
31643866393765656263646663376638656237323532363935353961633361623862316431643861
|
36633532326534343362656465306535653539613265323634393865646235653363626637383339
|
||||||
36333339386266396132613066323834376265396563326261646561323434323639343561613161
|
32346264306561383332366462613236316364393931316132323937623763393935313830346430
|
||||||
38306464383031393633363764303930306163643365333532363138376365316239363361643962
|
64383236333664353431363934303132313434326534646239363366626530643536646230663139
|
||||||
30393333646233363564643661373865373034663131656331386631616466333166373331643963
|
65316466313562316266653665636361363734393461396630643637623462343866646265633838
|
||||||
64346234386338663464356165366461353365323737343165616439646463353661323534323331
|
39633137643937656438643433663765363430313337343166366161323434663439353562666132
|
||||||
66643931636631616331383065613334333262633639636164333165373237623235316434326531
|
38623464623962343534393064376237373231333939323666306465306134336234383932353635
|
||||||
30336663373437343264353032363737633838303034396561303035656234653333636366343463
|
62656337636465326532613139626462323162303730663837313935633437313265353930663463
|
||||||
30393966336664386434303764356531326665376230623830303237346261666162633864393866
|
38626231323462363461373131306261326463313763623737303466353835643931653334653132
|
||||||
63646332616135653138333437356565643333663730333263396466303234643331653836356431
|
65626639396365646333653064396662626566646666306362366334363934646237663830393962
|
||||||
37316434366533316132336238373833346165303062633866623033623037646461346263623734
|
31343561613162396632396336653834616663643130363131383463613265393337613866353365
|
||||||
62393039626239393435316538636433333634616161663833653564353637663864373264313530
|
62653737373132616335643731646236363263366433653965393736333766393262613836333365
|
||||||
30343533306335623130
|
34306635666366636430393365626364633061356165353661326563636366346562643733353334
|
||||||
|
63316437376330656661633661393362323133666434366565633436363034363039373761633032
|
||||||
|
37393163613131383537616434373730303664663562656333653232313937633164363236303663
|
||||||
|
32363065366634363731313534343566623830663361663430333061383765363137366662623139
|
||||||
|
66346334333061303437396532343330346366396362366362323535306639333962636232363730
|
||||||
|
33343236636163666136373264666236386361306337653564623637626135613562303636613535
|
||||||
|
38633130396532313362616666636238343035313233323661373032646432626262643662616262
|
||||||
|
61353166363330323665616561643736326236363438353636373063373738383361653539303131
|
||||||
|
30366364653464373662653066363865626338613433316362393564653739636635333562333036
|
||||||
|
30376530323462626264373235313231313163393838633437326265646638373439336638636166
|
||||||
|
64323762373835316138636137363166616161616633613632333063323632626637653630346562
|
||||||
|
33376334616439376161643038666438373833343632643934303164353866613231346262346261
|
||||||
|
61663265366461613634
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
44
main.yml
44
main.yml
@@ -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
|
||||||
@@ -61,42 +58,32 @@
|
|||||||
- name: Deploy Immich
|
- name: Deploy Immich
|
||||||
import_tasks: tasks/immich.yml
|
import_tasks: tasks/immich.yml
|
||||||
tags: immich_deploy
|
tags: immich_deploy
|
||||||
- name: Deploy Navidrome
|
|
||||||
import_tasks: tasks/navidrome.yml
|
|
||||||
tags: navidrome_deploy
|
|
||||||
- name: Deploy Drop
|
- name: Deploy Drop
|
||||||
import_tasks: tasks/drop.yml
|
import_tasks: tasks/drop.yml
|
||||||
tags: drop_deploy
|
tags: drop_deploy
|
||||||
- name: Deploy Home Assistant
|
|
||||||
import_tasks: tasks/home-assistant.yml
|
|
||||||
tags: home-assistant_deploy
|
|
||||||
- name: Deploy Gluetun
|
|
||||||
import_tasks: tasks/gluetun.yml
|
|
||||||
tags: gluetun_deploy
|
|
||||||
- name: Deploy QBittorrent
|
|
||||||
import_tasks: tasks/qbittorrent.yml
|
|
||||||
tags: qbittorrent_deploy
|
|
||||||
- name: Deploy Jackett
|
- 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
|
- name: Deploy Pterodactyl
|
||||||
import_tasks: tasks/helium.yml
|
import_tasks: tasks/pterodactyl.yml
|
||||||
tags: helium_deploy
|
tags: pterodactyl_deploy
|
||||||
|
- name: Deploy Termix
|
||||||
|
import_tasks: tasks/termix.yml
|
||||||
|
tags: termix_deploy
|
||||||
|
|
||||||
- hosts: jackson
|
- hosts: jackson
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- role: traefik
|
- role: traefik
|
||||||
tags: traefik_deploy
|
tags: traefik_deploy
|
||||||
|
vars:
|
||||||
|
server: "jackson"
|
||||||
- role: fivem
|
- role: fivem
|
||||||
tags: fivem_deploy
|
tags: fivem_deploy
|
||||||
|
|
||||||
@@ -116,9 +103,18 @@
|
|||||||
- name: Deploy Owncloud
|
- name: Deploy Owncloud
|
||||||
import_tasks: tasks/owncloud.yml
|
import_tasks: tasks/owncloud.yml
|
||||||
tags: owncloud_deploy
|
tags: owncloud_deploy
|
||||||
|
- name: Deploy Wings
|
||||||
|
import_tasks: tasks/wings.yml
|
||||||
|
tags: wings_deploy
|
||||||
|
|
||||||
- hosts: nas
|
- hosts: nas
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- role: traefik
|
||||||
|
tags: traefik_deploy
|
||||||
|
vars:
|
||||||
|
server: "nas"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Deploy Plex
|
- name: Deploy Plex
|
||||||
import_tasks: tasks/plex.yml
|
import_tasks: tasks/plex.yml
|
||||||
@@ -126,3 +122,9 @@
|
|||||||
- name: Deploy Frigate
|
- name: Deploy Frigate
|
||||||
import_tasks: tasks/frigate.yml
|
import_tasks: tasks/frigate.yml
|
||||||
tags: frigate_deploy
|
tags: frigate_deploy
|
||||||
|
- name: Deploy Ersatz
|
||||||
|
import_tasks: tasks/ersatztv.yml
|
||||||
|
tags: ersatztv_deploy
|
||||||
|
- name: Deploy Wings
|
||||||
|
import_tasks: tasks/wings.yml
|
||||||
|
tags: wings_deploy
|
||||||
|
|||||||
50
roles/docker/tasks/main.yml
Normal file
50
roles/docker/tasks/main.yml
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
---
|
||||||
|
- 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: Create Docker Network
|
||||||
|
docker_network:
|
||||||
|
name: "{{ network_name }}"
|
||||||
|
when: network_name is defined
|
||||||
|
|
||||||
|
- name: Create Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: "{{ name }}"
|
||||||
|
recreate: true
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
pull: "{{ build is not defined }}"
|
||||||
|
published_ports: "{{ published_ports | default(omit) }}"
|
||||||
|
network_mode: "{{ network_mode | default(omit) }}"
|
||||||
|
image: "{{ image.name }}:{{ image.tag }}"
|
||||||
|
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) }}"
|
||||||
@@ -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,14 @@ http:
|
|||||||
nvr:
|
nvr:
|
||||||
rule: "Host(`nvr.fntz.net`)"
|
rule: "Host(`nvr.fntz.net`)"
|
||||||
service: nvr
|
service: nvr
|
||||||
|
middlewares: tinyauth
|
||||||
|
entryPoints:
|
||||||
|
- webSecure
|
||||||
|
tls:
|
||||||
|
certResolver: letsencrypt
|
||||||
|
iptv:
|
||||||
|
rule: "Host(`iptv.fntz.net`)"
|
||||||
|
service: iptv
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- webSecure
|
- webSecure
|
||||||
tls:
|
tls:
|
||||||
@@ -57,4 +70,8 @@ http:
|
|||||||
nvr:
|
nvr:
|
||||||
loadBalancer:
|
loadBalancer:
|
||||||
servers:
|
servers:
|
||||||
- url: "http://nas:5000/"
|
- url: "http://172.16.0.29:5000/"
|
||||||
|
iptv:
|
||||||
|
loadBalancer:
|
||||||
|
servers:
|
||||||
|
- url: "http://nas:8409/"
|
||||||
@@ -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
|
||||||
@@ -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"
|
||||||
@@ -21,80 +21,84 @@ def deploy(tag = None, host = None):
|
|||||||
command = construct_command(tag, host)
|
command = construct_command(tag, host)
|
||||||
|
|
||||||
if tag:
|
if tag:
|
||||||
print(f"Deploying {tag}...\n")
|
print(f"[MAIN] Deploying {tag}...")
|
||||||
else:
|
else:
|
||||||
print(f"Deploying {host}...\n")
|
print(f"[MAIN] Deploying host {host}...")
|
||||||
res = subprocess.run(command, shell=True)
|
res = subprocess.run(command, shell=True)
|
||||||
|
|
||||||
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, recreate containers
|
# clean up the diff
|
||||||
|
new_diff = []
|
||||||
for file in diff:
|
for file in diff:
|
||||||
if "host_vars" in file:
|
task_name = f"{file.split("/")[0]}/{file.split("/")[1]}"
|
||||||
hostname = file.split("/")[1].split(".")[0]
|
|
||||||
print(f"Secret file for '{hostname}' changed, will recreate containers on host after deployment")
|
# i'm not proud of this either
|
||||||
host_vars_changed_for.append(hostname)
|
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:
|
|
||||||
# separating these for now because roles will typically
|
|
||||||
# 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):
|
for task in new_diff:
|
||||||
print(f"{task_name} doesn't exist, running cleanup")
|
deployment = deploy(tag=task.split("/")[1])
|
||||||
res = subprocess.run(f"/usr/bin/docker container stop {task_name}", shell=True)
|
|
||||||
if res.returncode == 0:
|
|
||||||
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}")
|
if not deployment:
|
||||||
|
failed.append(task)
|
||||||
|
else:
|
||||||
|
deployed.append(task)
|
||||||
|
|
||||||
if "host_vars" not in file:
|
for task in removed_containers:
|
||||||
# deploy the task, regardless of its status
|
print(f"[MAIN] Attempting to remove containers related to '{task}'...")
|
||||||
if "roles/" not in file:
|
task_name = task.split("/")[1].split(".")[0]
|
||||||
if task_name not in deployed:
|
|
||||||
task = deploy(tag=task_name)
|
|
||||||
else:
|
|
||||||
task_name = file.split("/")[1]
|
|
||||||
|
|
||||||
if task_name not in deployed:
|
|
||||||
task = deploy(tag=task_name)
|
|
||||||
|
|
||||||
if not task:
|
containers = subprocess.Popen(f"docker container list | grep {task_name}_", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
failed.append(task_name)
|
for line in containers.stdout:
|
||||||
else:
|
docker_container_id = line.rstrip().decode('utf8').split(" ")[0]
|
||||||
deployed.append(task_name)
|
if docker_container_id and docker_container_id.strip() != "":
|
||||||
|
print(f"[MAIN] Found Docker container {docker_container_id} related to {task}, removing..")
|
||||||
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 +114,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__":
|
||||||
|
|||||||
@@ -10,21 +10,39 @@ if os.path.exists(host_vars_path):
|
|||||||
|
|
||||||
vaults = os.listdir(host_vars_path)
|
vaults = os.listdir(host_vars_path)
|
||||||
|
|
||||||
|
# 1st run - extract ungrouped, global variables
|
||||||
for vault in vaults:
|
for vault in vaults:
|
||||||
vault_path = os.path.join(host_vars_path, vault)
|
vault_path = os.path.join(host_vars_path, vault)
|
||||||
vault_contents = subprocess.run(f'ansible-vault decrypt "{vault_path}" --vault-password-file ~/.vault_pass.txt --output -', shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
vault_contents = subprocess.run(f'ansible-vault decrypt "{vault_path}" --vault-password-file ~/.vault_pass.txt --output -', shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
||||||
stdout = vault_contents.stdout.strip().splitlines()
|
stdout = vault_contents.stdout.strip().splitlines()
|
||||||
|
|
||||||
for line in stdout:
|
for line in stdout:
|
||||||
if line.startswith("#") and line not in file_contents:
|
if line.startswith("#"):
|
||||||
file_contents += f"\n{line}\n"
|
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()
|
||||||
|
|
||||||
if ":" in line:
|
has_found_start = False
|
||||||
if line.split(":")[0] not in file_contents:
|
for line in stdout:
|
||||||
file_contents += f'{line.split(":")[0]}:\n'
|
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"
|
||||||
|
|
||||||
with open(os.path.join(host_vars_path, 'all.template.yml'), 'w', encoding="utf8") as template_file:
|
if ":" in line:
|
||||||
template_file.write(file_contents)
|
if line.split(":")[0] not in file_contents:
|
||||||
template_file.close()
|
file_contents += f'{line.split(":")[0]}:\n'
|
||||||
|
|
||||||
|
with open(os.path.join(host_vars_path, 'all.template.yml'), 'w', encoding="utf8") as template_file:
|
||||||
|
template_file.write(file_contents)
|
||||||
|
template_file.close()
|
||||||
|
|
||||||
print("Written to disk!")
|
print("Written to disk!")
|
||||||
64
scripts/run_updates.py
Normal file
64
scripts/run_updates.py
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
import requests
|
||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
def search_for_image(image_name):
|
||||||
|
tasks_folder = os.path.realpath(os.path.join('./', 'tasks'))
|
||||||
|
if "library/" in image_name:
|
||||||
|
image_name = image_name.replace("library/", "")
|
||||||
|
|
||||||
|
for task in os.listdir(tasks_folder):
|
||||||
|
with open(os.path.join(tasks_folder, task), 'r') as file:
|
||||||
|
data = yaml.safe_load(file)
|
||||||
|
|
||||||
|
for key in data:
|
||||||
|
if "vars" in key:
|
||||||
|
if image_name in key["vars"]["image"]["name"] or image_name == key["vars"]["image"]["name"]:
|
||||||
|
return f"{task.split(".")[0]}_deploy"
|
||||||
|
|
||||||
|
def main():
|
||||||
|
update_list = requests.get("https://cup.fntz.net/api/v3/json")
|
||||||
|
update_list.raise_for_status()
|
||||||
|
update_list = update_list.json()
|
||||||
|
|
||||||
|
deployable_tags = []
|
||||||
|
with open("main.yml", 'r') as file:
|
||||||
|
data = yaml.safe_load(file)
|
||||||
|
for host in data:
|
||||||
|
for task in host['tasks']:
|
||||||
|
deployable_tags.append(task['tags'])
|
||||||
|
|
||||||
|
if len(update_list["images"]) > 0:
|
||||||
|
already_deployed = []
|
||||||
|
actually_updatable = []
|
||||||
|
blacklist = []
|
||||||
|
|
||||||
|
for image in update_list["images"]:
|
||||||
|
if image['result']['has_update']:
|
||||||
|
if image in blacklist:
|
||||||
|
print(f"[UPDATE] Ignoring '{image}' due to its blacklist")
|
||||||
|
elif 'version_update_type' in image['result']['info'] and image['result']['info']['version_update_type'] != "major":
|
||||||
|
actually_updatable.append({ 'reference': image['reference'], 'repository': image['parts']['repository'] })
|
||||||
|
elif 'type' in image['result']['info'] and image['result']['info']['type'] == "digest":
|
||||||
|
actually_updatable.append({ 'reference': image['reference'], 'repository': image['parts']['repository'] })
|
||||||
|
|
||||||
|
print(f"Redeploying {len(actually_updatable)} container(s)..")
|
||||||
|
for image in actually_updatable:
|
||||||
|
ansible_tag = search_for_image(image['repository'])
|
||||||
|
print(ansible_tag, image['reference'])
|
||||||
|
if ansible_tag and ansible_tag in deployable_tags and ansible_tag not in already_deployed:
|
||||||
|
print(f'[UPDATE] Deploying {ansible_tag}..')
|
||||||
|
subprocess.run(f'ANSIBLE_CONFIG=ansible.cfg ansible-playbook main.yml --tags {ansible_tag} --vault-password-file=~/.vault_pass.txt', shell=True)
|
||||||
|
else:
|
||||||
|
print('[UPDATE] Could not find corresponding task, cleaning up..')
|
||||||
|
subprocess.run(f"docker image remove {image['reference']}", shell=True)
|
||||||
|
already_deployed.append(ansible_tag)
|
||||||
|
|
||||||
|
print("\nAll images updated, refreshing Cup")
|
||||||
|
requests.get("https://cup.fntz.net/api/v3/refresh")
|
||||||
|
else:
|
||||||
|
print("No images to update!")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -1,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: "17"
|
||||||
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"
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -1,29 +1,16 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy Drop Database
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/drop"
|
|
||||||
- "{{ data_dir }}/drop/db"
|
|
||||||
- "{{ data_dir }}/drop/app"
|
|
||||||
|
|
||||||
- name: Create Drop Network
|
|
||||||
docker_network:
|
|
||||||
name: drop
|
|
||||||
|
|
||||||
- name: Pull latest Drop Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: ghcr.io/drop-oss/drop
|
|
||||||
tag: v0.3.3
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Drop DB Container
|
|
||||||
docker_container:
|
|
||||||
name: drop_postgres
|
name: drop_postgres
|
||||||
image: postgres:14-alpine
|
directories:
|
||||||
recreate: true
|
- "{{ data_dir }}/drop"
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/drop/db"
|
||||||
|
image:
|
||||||
|
name: postgres
|
||||||
|
tag: 14-alpine
|
||||||
|
network_name: drop
|
||||||
networks:
|
networks:
|
||||||
- name: drop
|
- name: drop
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@@ -39,12 +26,16 @@
|
|||||||
POSTGRES_USER: "drop"
|
POSTGRES_USER: "drop"
|
||||||
POSTGRES_DB: "drop"
|
POSTGRES_DB: "drop"
|
||||||
|
|
||||||
- name: Create Drop Container
|
- name: Deploy Drop
|
||||||
docker_container:
|
include_role:
|
||||||
|
name: docker
|
||||||
|
vars:
|
||||||
name: drop
|
name: drop
|
||||||
image: ghcr.io/drop-oss/drop:latest
|
directories:
|
||||||
recreate: true
|
- "{{ data_dir }}/drop/app"
|
||||||
restart_policy: unless-stopped
|
image:
|
||||||
|
name: ghcr.io/drop-oss/drop
|
||||||
|
tag: latest
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
- name: drop
|
- name: drop
|
||||||
|
|||||||
22
tasks/ersatztv.yml
Normal file
22
tasks/ersatztv.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
- name: Deploy Ersatz
|
||||||
|
include_role:
|
||||||
|
name: docker
|
||||||
|
vars:
|
||||||
|
name: ersatztv
|
||||||
|
directories:
|
||||||
|
- "{{ data_dir }}/ersatz"
|
||||||
|
image:
|
||||||
|
name: ghcr.io/ersatztv/ersatztv
|
||||||
|
tag: latest
|
||||||
|
devices:
|
||||||
|
- /dev/dri/renderD128:/dev/dri/renderD128
|
||||||
|
mounts:
|
||||||
|
- type: tmpfs
|
||||||
|
target: /transcode
|
||||||
|
tmpfs_size: 5G
|
||||||
|
volumes:
|
||||||
|
- "{{ data_dir }}/ersatz:/config"
|
||||||
|
- "{{ media_path }}:{{ media_path }}:ro"
|
||||||
|
published_ports:
|
||||||
|
- "8409:8409"
|
||||||
@@ -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:
|
||||||
|
|||||||
@@ -1,24 +1,15 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy Frigate
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/frigate"
|
|
||||||
|
|
||||||
- name: Pull latest Frigate Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: ghcr.io/blakeblackshear/frigate
|
|
||||||
tag: stable
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Deploy Frigate Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: frigate
|
name: frigate
|
||||||
image: ghcr.io/blakeblackshear/frigate:stable
|
directories:
|
||||||
recreate: true
|
- "{{ data_dir }}/frigate"
|
||||||
|
image:
|
||||||
|
name: ghcr.io/blakeblackshear/frigate
|
||||||
|
tag: stable
|
||||||
privileged: true
|
privileged: true
|
||||||
restart_policy: unless-stopped
|
|
||||||
published_ports:
|
published_ports:
|
||||||
- "5000:5000"
|
- "5000:5000"
|
||||||
- "8555:8555/tcp"
|
- "8555:8555/tcp"
|
||||||
|
|||||||
@@ -1,23 +1,14 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy Gitea
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/gitea"
|
|
||||||
|
|
||||||
- name: Pull latest Gitea Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: docker.gitea.com/gitea
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Gitea Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: gitea
|
name: gitea
|
||||||
image: docker.gitea.com/gitea:latest
|
directories:
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/gitea"
|
||||||
recreate: true
|
image:
|
||||||
|
name: docker.gitea.com/gitea
|
||||||
|
tag: latest
|
||||||
networks:
|
networks:
|
||||||
- name: "{{ docker_network_name }}"
|
- name: "{{ docker_network_name }}"
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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"
|
|
||||||
@@ -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
|
- name: Deploy Homebridge
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/homebridge"
|
|
||||||
|
|
||||||
- name: Pull latest Homebridge Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: homebridge/homebridge
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Homebridge Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: homebridge
|
name: homebridge
|
||||||
image: homebridge/homebridge:latest
|
directories:
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/homebridge:/homebridge"
|
||||||
|
image:
|
||||||
|
name: homebridge/homebridge
|
||||||
|
tag: latest
|
||||||
network_mode: host
|
network_mode: host
|
||||||
recreate: true
|
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/homebridge:/homebridge"
|
- "{{ data_dir }}/homebridge:/homebridge"
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@@ -1,28 +1,16 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy Immich DB
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/immich"
|
|
||||||
- "{{ data_dir }}/immich/model-cache"
|
|
||||||
- "{{ data_dir }}/immich/db"
|
|
||||||
|
|
||||||
- name: Create Immich Redis Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: immich_redis
|
|
||||||
image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
recreate: true
|
|
||||||
networks:
|
|
||||||
- name: immich
|
|
||||||
|
|
||||||
- name: Create Immich DB Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: immich_postgres
|
name: immich_postgres
|
||||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
|
directories:
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/immich"
|
||||||
recreate: true
|
- "{{ data_dir }}/immich/model-cache"
|
||||||
|
- "{{ data_dir }}/immich/db"
|
||||||
|
image:
|
||||||
|
name: ghcr.io/immich-app/postgres
|
||||||
|
tag: 14-vectorchord0.4.3-pgvectors0.2.0
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/immich/db:/var/lib/postgresql/data"
|
- "{{ data_dir }}/immich/db:/var/lib/postgresql/data"
|
||||||
env:
|
env:
|
||||||
@@ -32,24 +20,27 @@
|
|||||||
POSTGRES_INITDB_ARGS: "--data-checksums"
|
POSTGRES_INITDB_ARGS: "--data-checksums"
|
||||||
networks:
|
networks:
|
||||||
- name: immich
|
- name: immich
|
||||||
|
network_name: immich
|
||||||
|
|
||||||
# - name: Create Immich ML Docker Container
|
- name: Deploy Immich Redis
|
||||||
# docker_container:
|
include_role:
|
||||||
# name: immich_machine_learning
|
name: docker
|
||||||
# image: ghcr.io/immich-app/immich-machine-learning:release
|
vars:
|
||||||
# restart_policy: unless-stopped
|
name: immich_redis
|
||||||
# recreate: true
|
image:
|
||||||
# volumes:
|
name: docker.io/valkey/valkey
|
||||||
# - "{{ data_dir }}/immich/model-cache:/cache"
|
tag: 8-bookworm
|
||||||
# networks:
|
networks:
|
||||||
# - name: immich
|
- name: immich
|
||||||
|
|
||||||
- name: Create Immich Server Docker Container
|
- name: Deploy Immich Server
|
||||||
docker_container:
|
include_role:
|
||||||
name: immich_server
|
name: docker
|
||||||
image: ghcr.io/immich-app/immich-server:release
|
vars:
|
||||||
restart_policy: unless-stopped
|
name: immich
|
||||||
recreate: true
|
image:
|
||||||
|
name: ghcr.io/immich-app/immich-server
|
||||||
|
tag: v2.1.0
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
- name: immich
|
- name: immich
|
||||||
@@ -61,6 +52,7 @@
|
|||||||
REDIS_HOSTNAME: "immich_redis"
|
REDIS_HOSTNAME: "immich_redis"
|
||||||
DB_PASSWORD: "{{ IMMICH_DB_PASSWORD }}"
|
DB_PASSWORD: "{{ IMMICH_DB_PASSWORD }}"
|
||||||
DB_USERNAME: "{{ IMMICH_DB_USERNAME }}"
|
DB_USERNAME: "{{ IMMICH_DB_USERNAME }}"
|
||||||
|
DB_DATABASE_NAME: "{{ IMMICH_DB_DATABASE_NAME }}"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.img.rule: Host(`img.fntz.net`)
|
traefik.http.routers.img.rule: Host(`img.fntz.net`)
|
||||||
|
|||||||
@@ -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"
|
|
||||||
@@ -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 +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"
|
|
||||||
@@ -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
|
|
||||||
@@ -1,23 +1,14 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy NZBGet
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/nzbget"
|
|
||||||
|
|
||||||
- name: Pull latest NZBGet Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: lscr.io/linuxserver/nzbget
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create NZBGet Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: nzbget
|
name: nzbget
|
||||||
image: lscr.io/linuxserver/nzbget:latest
|
directories:
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/nzbget"
|
||||||
recreate: true
|
image:
|
||||||
|
name: lscr.io/linuxserver/nzbget
|
||||||
|
tag: latest
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,25 +1,16 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy Obsidian
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
name: obsidian
|
||||||
- "{{ data_dir }}/obsidian"
|
directories:
|
||||||
- "{{ data_dir }}/obsidian/data"
|
- "{{ data_dir }}/obsidian"
|
||||||
- "{{ data_dir }}/obsidian/etc"
|
- "{{ data_dir }}/obsidian/data"
|
||||||
|
- "{{ data_dir }}/obsidian/etc"
|
||||||
- name: Pull Docker Image
|
image:
|
||||||
docker_image:
|
name: couchdb
|
||||||
name: couchdb
|
tag: latest
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: couchdb
|
|
||||||
image: couchdb:latest
|
|
||||||
recreate: true
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,30 +1,18 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy Owncloud Database
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
name: owncloud_database
|
||||||
- "{{ data_dir }}/owncloud"
|
image:
|
||||||
- "{{ data_dir }}/owncloud/data"
|
name: mariadb
|
||||||
- "{{ data_dir }}/owncloud/db"
|
tag: latest
|
||||||
- "{{ data_dir }}/owncloud/redis"
|
directories:
|
||||||
|
- "{{ data_dir }}/owncloud"
|
||||||
- name: Create Owncloud Docker Network
|
- "{{ data_dir }}/owncloud/data"
|
||||||
docker_network:
|
- "{{ data_dir }}/owncloud/db"
|
||||||
name: owncloud
|
- "{{ data_dir }}/owncloud/redis"
|
||||||
|
network_name: "owncloud"
|
||||||
- name: Pull latest Owncloud Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: owncloud/server
|
|
||||||
tag: "10.15"
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Owncloud DB Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: oc_database
|
|
||||||
image: mariadb:latest
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
recreate: true
|
|
||||||
networks:
|
networks:
|
||||||
- name: owncloud
|
- name: owncloud
|
||||||
volumes:
|
volumes:
|
||||||
@@ -42,12 +30,14 @@
|
|||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|
||||||
- name: Create Owncloud Redis Container
|
- name: Deploy Owncloud Redis
|
||||||
docker_container:
|
include_role:
|
||||||
name: oc_redis
|
name: docker
|
||||||
image: redis:latest
|
vars:
|
||||||
restart_policy: unless-stopped
|
name: owncloud_redis
|
||||||
recreate: true
|
image:
|
||||||
|
name: redis
|
||||||
|
tag: latest
|
||||||
networks:
|
networks:
|
||||||
- name: owncloud
|
- name: owncloud
|
||||||
command: "--databases 1"
|
command: "--databases 1"
|
||||||
@@ -59,12 +49,14 @@
|
|||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/owncloud/redis:/data"
|
- "{{ data_dir }}/owncloud/redis:/data"
|
||||||
|
|
||||||
- name: Create Owncloud Docker Container
|
- name: Deploy Owncloud
|
||||||
docker_container:
|
include_role:
|
||||||
|
name: docker
|
||||||
|
vars:
|
||||||
name: owncloud
|
name: owncloud
|
||||||
image: owncloud/server:10.15
|
image:
|
||||||
restart_policy: unless-stopped
|
name: owncloud/server
|
||||||
recreate: true
|
tag: 10.16
|
||||||
networks:
|
networks:
|
||||||
- name: "{{ docker_network_name }}"
|
- name: "{{ docker_network_name }}"
|
||||||
- name: owncloud
|
- name: owncloud
|
||||||
|
|||||||
@@ -1,28 +1,19 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy PiHole
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/pihole"
|
|
||||||
|
|
||||||
- name: Pull latest PiHole Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: pihole/pihole
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create PiHole Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: pihole
|
name: pihole
|
||||||
image: pihole/pihole:latest
|
directories:
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/pihole"
|
||||||
recreate: true
|
image:
|
||||||
|
name: pihole/pihole
|
||||||
|
tag: latest
|
||||||
|
published_ports:
|
||||||
|
- "53:53/tcp"
|
||||||
|
- "53:53/udp"
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
published_ports:
|
|
||||||
- "{{ TRAEFIK_HOST_IP }}:53:53/tcp"
|
|
||||||
- "{{ TRAEFIK_HOST_IP }}:53:53/udp"
|
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/pihole:/etc/pihole"
|
- "{{ data_dir }}/pihole:/etc/pihole"
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -1,23 +1,14 @@
|
|||||||
---
|
---
|
||||||
- name: Create Folder structure
|
- name: Deploy PocketID
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/pocketid"
|
|
||||||
|
|
||||||
- name: Pull latest PocketID Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: ghcr.io/pocket-id/pocket-id
|
|
||||||
tag: v1
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create PocketID Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: pocketid
|
name: pocketid
|
||||||
image: ghcr.io/pocket-id/pocket-id:v1
|
directories:
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/pocketid"
|
||||||
recreate: true
|
image:
|
||||||
|
name: ghcr.io/pocket-id/pocket-id
|
||||||
|
tag: v1
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
89
tasks/pterodactyl.yml
Normal file
89
tasks/pterodactyl.yml
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
---
|
||||||
|
- name: Create folder structure
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/pterodactyl"
|
||||||
|
- "{{ data_dir }}/pterodactyl/var"
|
||||||
|
- "{{ data_dir }}/pterodactyl/logs"
|
||||||
|
- "{{ data_dir }}/pterodactyl/nginx"
|
||||||
|
- "{{ data_dir }}/pterodactyl/db"
|
||||||
|
|
||||||
|
- name: Create Pterodactyl Network
|
||||||
|
docker_network:
|
||||||
|
name: pterodactyl
|
||||||
|
|
||||||
|
- name: Pull latest MariaDB Docker Image
|
||||||
|
docker_image:
|
||||||
|
name: mariadb
|
||||||
|
tag: "10.5"
|
||||||
|
source: pull
|
||||||
|
- name: Pull latest Redis Docker image
|
||||||
|
docker_image:
|
||||||
|
name: redis
|
||||||
|
tag: 7-alpine
|
||||||
|
source: pull
|
||||||
|
- name: Pull latest Pterodactyl Docker image
|
||||||
|
docker_image:
|
||||||
|
name: ghcr.io/pterodactyl/panel
|
||||||
|
tag: latest
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Redis Container
|
||||||
|
docker_container:
|
||||||
|
name: pterodactyl_redis
|
||||||
|
image: redis:7-alpine
|
||||||
|
recreate: true
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
networks:
|
||||||
|
- name: pterodactyl
|
||||||
|
|
||||||
|
- name: Create Database Container
|
||||||
|
docker_container:
|
||||||
|
name: pterodactyl_db
|
||||||
|
image: mariadb:10.5
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
recreate: true
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- "{{ data_dir }}/pterodactyl/db:/var/lib/mysql"
|
||||||
|
networks:
|
||||||
|
- name: pterodactyl
|
||||||
|
env:
|
||||||
|
MYSQL_DATABASE: "panel"
|
||||||
|
MYSQL_USER: "pterodactyl"
|
||||||
|
MYSQL_ROOT_PASSWORD: "{{ PTERODACTYL_MYSQL_ROOT_PASSWORD }}"
|
||||||
|
MYSQL_PASSWORD: "{{ PTERODACTYL_MYSQL_PASSWORD }}"
|
||||||
|
|
||||||
|
- name: Create Pterodactyl Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: pterodactyl
|
||||||
|
image: ghcr.io/pterodactyl/panel:latest
|
||||||
|
recreate: true
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
networks:
|
||||||
|
- name: pterodactyl
|
||||||
|
- name: homelab
|
||||||
|
volumes:
|
||||||
|
- "{{ data_dir }}/pterodactyl/nginx:/etc/nginx/http.d"
|
||||||
|
- "{{ data_dir }}/pterodactyl/logs:/app/storage/logs"
|
||||||
|
- "{{ data_dir }}/pterodactyl/var:/app/var"
|
||||||
|
env:
|
||||||
|
APP_URL: "{{ PTERODACTYL_APP_URL }}"
|
||||||
|
APP_ENVIRONMENT_ONLY: "false"
|
||||||
|
APP_TIMEZONE: "{{ TZ }}"
|
||||||
|
DB_PASSWORD: "{{ PTERODACTYL_MYSQL_PASSWORD }}"
|
||||||
|
APP_ENV: "production"
|
||||||
|
CACHE_DRIVER: "redis"
|
||||||
|
SESSION_DRIVER: "redis"
|
||||||
|
QUEUE_DRIVER: "redis"
|
||||||
|
REDIS_HOST: "pterodactyl_redis"
|
||||||
|
DB_HOST: "pterodactyl_db"
|
||||||
|
TRUSTED_PROXIES: "*"
|
||||||
|
labels:
|
||||||
|
traefik.enable: "true"
|
||||||
|
traefik.http.routers.panel.rule: Host(`panel.fntz.net`)
|
||||||
|
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
|
- name: Deploy Radarr
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/servarr"
|
|
||||||
- "{{ data_dir }}/servarr/sonarr_config"
|
|
||||||
- "{{ data_dir }}/servarr/radarr_config"
|
|
||||||
- "{{ data_dir }}/servarr/lidarr_config"
|
|
||||||
|
|
||||||
- name: Pull latest Radarr Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: lscr.io/linuxserver/radarr
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
- name: Pull latest Sonarr Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: lscr.io/linuxserver/sonarr
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
- name: Pull latest Lidarr Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: lscr.io/linuxserver/lidarr
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Deploy Radarr Container
|
|
||||||
docker_container:
|
|
||||||
name: radarr
|
name: radarr
|
||||||
image: lscr.io/linuxserver/radarr:latest
|
directories:
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/servarr"
|
||||||
recreate: true
|
- "{{ data_dir }}/servarr/sonarr_config"
|
||||||
|
- "{{ data_dir }}/servarr/radarr_config"
|
||||||
|
- "{{ data_dir }}/servarr/lidarr_config"
|
||||||
|
image:
|
||||||
|
name: lscr.io/linuxserver/radarr
|
||||||
|
tag: latest
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/servarr/radarr_config:/config"
|
- "{{ data_dir }}/servarr/radarr_config:/config"
|
||||||
- "{{ SERVARR_MEDIA_PATH }}:/media"
|
- "{{ SERVARR_MEDIA_PATH }}:/media"
|
||||||
@@ -48,12 +29,14 @@
|
|||||||
traefik.http.routers.radarr.tls.certresolver: letsencrypt
|
traefik.http.routers.radarr.tls.certresolver: letsencrypt
|
||||||
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
||||||
|
|
||||||
- name: Deploy Sonarr Container
|
- name: Deploy Sonarr
|
||||||
docker_container:
|
include_role:
|
||||||
|
name: docker
|
||||||
|
vars:
|
||||||
name: sonarr
|
name: sonarr
|
||||||
image: lscr.io/linuxserver/sonarr:latest
|
image:
|
||||||
restart_policy: unless-stopped
|
name: lscr.io/linuxserver/sonarr
|
||||||
recreate: true
|
tag: latest
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/servarr/sonarr_config:/config"
|
- "{{ data_dir }}/servarr/sonarr_config:/config"
|
||||||
- "{{ SERVARR_MEDIA_PATH }}:/data"
|
- "{{ SERVARR_MEDIA_PATH }}:/data"
|
||||||
@@ -71,12 +54,14 @@
|
|||||||
traefik.http.routers.sonarr.tls.certresolver: letsencrypt
|
traefik.http.routers.sonarr.tls.certresolver: letsencrypt
|
||||||
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
|
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
|
||||||
|
|
||||||
- name: Deploy Lidarr Container
|
- name: Deploy Lidarr
|
||||||
docker_container:
|
include_role:
|
||||||
|
name: docker
|
||||||
|
vars:
|
||||||
name: lidarr
|
name: lidarr
|
||||||
image: lscr.io/linuxserver/lidarr:latest
|
image:
|
||||||
restart_policy: unless-stopped
|
name: lscr.io/linuxserver/lidarr
|
||||||
recreate: true
|
tag: latest
|
||||||
env:
|
env:
|
||||||
PUID: "{{ PUID }}"
|
PUID: "{{ PUID }}"
|
||||||
PGID: "{{ PGID }}"
|
PGID: "{{ PGID }}"
|
||||||
|
|||||||
@@ -1,34 +1,20 @@
|
|||||||
---
|
---
|
||||||
- name: "Create file structure"
|
- name: Deploy Storage API
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/storage-api"
|
|
||||||
- "{{ data_dir }}/storage-api/app"
|
|
||||||
- "{{ data_dir }}/storage-api/files"
|
|
||||||
|
|
||||||
- name: "Clone latest Storage API"
|
|
||||||
git:
|
|
||||||
repo: git@git.alexav.gg:alex/storage-api.git
|
|
||||||
dest: "{{ data_dir }}/storage-api/app"
|
|
||||||
|
|
||||||
- name: "Build Storage API Docker Image"
|
|
||||||
docker_image:
|
|
||||||
name: storage-api
|
name: storage-api
|
||||||
tag: "latest"
|
directories:
|
||||||
|
- "{{ data_dir }}/storage-api"
|
||||||
|
- "{{ data_dir }}/storage-api/app"
|
||||||
|
- "{{ data_dir }}/storage-api/files"
|
||||||
|
image:
|
||||||
|
name: storage-api
|
||||||
|
tag: latest
|
||||||
build:
|
build:
|
||||||
path: "{{ data_dir }}/storage-api/app"
|
git:
|
||||||
dockerfile: Dockerfile
|
repo: git@git.alexav.gg:alex/storage-api.git
|
||||||
source: build
|
dest: "{{ data_dir }}/storage-api/app"
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Deploy Storage API Container
|
|
||||||
docker_container:
|
|
||||||
name: storage_api
|
|
||||||
image: storage-api:latest
|
|
||||||
recreate: true
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
networks:
|
networks:
|
||||||
- name: "{{ docker_network_name }}"
|
- name: "{{ docker_network_name }}"
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,23 +1,14 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy Tautulli
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/tautulli"
|
|
||||||
|
|
||||||
- name: Pull latest Tautulli Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: ghcr.io/tautulli/tautulli
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Tautulli Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: tautulli
|
name: tautulli
|
||||||
image: ghcr.io/tautulli/tautulli
|
directories:
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/tautulli"
|
||||||
recreate: true
|
image:
|
||||||
|
name: ghcr.io/tautulli/tautulli
|
||||||
|
tag: latest
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
23
tasks/termix.yml
Normal file
23
tasks/termix.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
- name: Deploy Termix
|
||||||
|
include_role:
|
||||||
|
name: docker
|
||||||
|
vars:
|
||||||
|
name: termix
|
||||||
|
directories:
|
||||||
|
- "{{ data_dir }}/termix"
|
||||||
|
image:
|
||||||
|
name: ghcr.io/lukegus/termix
|
||||||
|
tag: latest
|
||||||
|
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"
|
||||||
@@ -1,29 +1,28 @@
|
|||||||
---
|
---
|
||||||
- name: Pull latest Tinyauth Docker Image
|
- name: Deploy Tinyauth
|
||||||
docker_image:
|
include_role:
|
||||||
name: ghcr.io/steveiliop56/tinyauth
|
name: docker
|
||||||
tag: v3
|
vars:
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Tinyauth Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: tinyauth
|
name: tinyauth
|
||||||
image: ghcr.io/steveiliop56/tinyauth:v3
|
image:
|
||||||
restart_policy: unless-stopped
|
name: ghcr.io/steveiliop56/tinyauth
|
||||||
recreate: true
|
tag: v4
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
|
volumes:
|
||||||
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||||
env:
|
env:
|
||||||
USERS: "{{ TINYAUTH_USERS }}"
|
USERS: "{{ TINYAUTH_USERS }}"
|
||||||
SECRET: "{{ TINYAUTH_SECRET }}"
|
SECRET: "{{ TINYAUTH_SECRET }}"
|
||||||
APP_URL: "{{ TINYAUTH_APP_URL }}"
|
APP_URL: "{{ TINYAUTH_APP_URL }}"
|
||||||
GENERIC_CLIENT_ID: "{{ TINYAUTH_GENERIC_CLIENT_ID }}"
|
PROVIDERS_POCKETID_CLIENT_ID: "{{ TINYAUTH_GENERIC_CLIENT_ID }}"
|
||||||
GENERIC_CLIENT_SECRET: "{{ TINYAUTH_GENERIC_CLIENT_SECRET }}"
|
PROVIDERS_POCKETID_CLIENT_SECRET: "{{ TINYAUTH_GENERIC_CLIENT_SECRET }}"
|
||||||
GENERIC_AUTH_URL: "{{ TINYAUTH_GENERIC_AUTH_URL }}"
|
PROVIDERS_POCKETID_AUTH_URL: "{{ TINYAUTH_GENERIC_AUTH_URL }}"
|
||||||
GENERIC_TOKEN_URL: "{{ TINYAUTH_GENERIC_TOKEN_URL }}"
|
PROVIDERS_POCKETID_TOKEN_URL: "{{ TINYAUTH_GENERIC_TOKEN_URL }}"
|
||||||
GENERIC_USER_URL: "{{ TINYAUTH_GENERIC_USER_URL }}"
|
PROVIDERS_POCKETID_USER_INFO_URL: "{{ TINYAUTH_GENERIC_USER_URL }}"
|
||||||
GENERIC_SCOPES: "{{ TINYAUTH_GENERIC_SCOPES }}"
|
PROVIDERS_POCKETID_SCOPES: "{{ TINYAUTH_GENERIC_SCOPES }}"
|
||||||
GENERIC_NAME: "{{ TINYAUTH_GENERIC_NAME }}"
|
PROVIDERS_POCKETID_NAME: "{{ TINYAUTH_GENERIC_NAME }}"
|
||||||
|
PROVIDERS_POCKETID_REDIRECT_URL: "{{ TINYAUTH_REDIRECT_URL }}"
|
||||||
OAUTH_WHITELIST: "{{ TINYAUTH_OAUTH_WHITELIST }}"
|
OAUTH_WHITELIST: "{{ TINYAUTH_OAUTH_WHITELIST }}"
|
||||||
APP_TITLE: "{{ TINYAUTH_APP_TITLE }}"
|
APP_TITLE: "{{ TINYAUTH_APP_TITLE }}"
|
||||||
BACKGROUND_IMAGE: "{{ TINYAUTH_BACKGROUND_IMAGE }}"
|
BACKGROUND_IMAGE: "{{ TINYAUTH_BACKGROUND_IMAGE }}"
|
||||||
|
|||||||
@@ -1,23 +1,14 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy Uptime Kuma
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/uptime-kuma"
|
|
||||||
|
|
||||||
- name: Pull latest Uptime Kuma Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: louislam/uptime-kuma
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Uptime Kuma Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: uptime-kuma
|
name: uptime-kuma
|
||||||
image: louislam/uptime-kuma
|
directories:
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/uptime-kuma"
|
||||||
recreate: true
|
image:
|
||||||
|
name: louislam/uptime-kuma
|
||||||
|
tag: latest
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,23 +1,14 @@
|
|||||||
---
|
---
|
||||||
- name: Create folder structure
|
- name: Deploy Vaultwarden
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/vaultwarden"
|
|
||||||
|
|
||||||
- name: Pull latest Vaultwarden Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: vaultwarden/server
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Vaultwarden Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: vaultwarden
|
name: vaultwarden
|
||||||
image: vaultwarden/server:latest
|
directories:
|
||||||
restart_policy: unless-stopped
|
- "{{ data_dir }}/vaultwarden"
|
||||||
recreate: true
|
image:
|
||||||
|
name: vaultwarden/server
|
||||||
|
tag: latest
|
||||||
networks:
|
networks:
|
||||||
- name: homelab
|
- name: homelab
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
51
tasks/wings.yml
Normal file
51
tasks/wings.yml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
- name: Create folder structure
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_dir }}/wings"
|
||||||
|
- "{{ data_dir }}/wings/lib"
|
||||||
|
|
||||||
|
- name: Pull latest Wings Docker image
|
||||||
|
docker_image:
|
||||||
|
name: ghcr.io/pterodactyl/wings
|
||||||
|
tag: latest
|
||||||
|
source: pull
|
||||||
|
|
||||||
|
- name: Create Wings Network
|
||||||
|
docker_network:
|
||||||
|
name: wings
|
||||||
|
driver: bridge
|
||||||
|
ipam_config:
|
||||||
|
- subnet: "172.55.0.0/16"
|
||||||
|
|
||||||
|
- name: Create Wings Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: pterodactyl_wings
|
||||||
|
image: ghcr.io/pterodactyl/wings:latest
|
||||||
|
recreate: true
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
networks:
|
||||||
|
- name: wings
|
||||||
|
- name: "{{ docker_network_name }}"
|
||||||
|
volumes:
|
||||||
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||||
|
- "/etc/pterodactyl:/etc/pterodactyl"
|
||||||
|
- "{{ data_dir }}/wings/lib:{{ data_dir }}/wings/lib"
|
||||||
|
- "{{ WINGS_CONTAINER_DIR }}:{{ WINGS_CONTAINER_DIR }}"
|
||||||
|
- "/var/log/pterodactyl:/var/log/pterodactyl"
|
||||||
|
- "/tmp/pterodactyl:/tmp/pterodactyl"
|
||||||
|
env:
|
||||||
|
TZ: "{{ TZ }}"
|
||||||
|
WINGS_UID: "988"
|
||||||
|
WINGS_GID: "988"
|
||||||
|
WINGS_USERNAME: pterodactyl
|
||||||
|
published_ports:
|
||||||
|
- "2022:2022"
|
||||||
|
labels:
|
||||||
|
traefik.enable: "true"
|
||||||
|
traefik.http.routers.wings.rule: Host(`{{ WINGS_URL }}`)
|
||||||
|
traefik.http.routers.wings.entrypoints: webSecure
|
||||||
|
traefik.http.routers.wings.tls.certresolver: letsencrypt
|
||||||
|
traefik.http.services.wings.loadbalancer.server.port: "8080"
|
||||||
Reference in New Issue
Block a user