Compare commits

253 Commits

Author SHA1 Message Date
801416c617 update scrobbling url
All checks were successful
Deploy Containers / Prepare (push) Successful in 54s
2026-02-16 23:50:59 -05:00
46a3ea5e4f remove unknown config var 2026-02-16 23:44:55 -05:00
94c6059dbb update traefik config
Some checks are pending
Deploy Containers / Prepare (push) Waiting to run
2026-02-16 23:43:49 -05:00
f1875ed26b fix cloudflared task
All checks were successful
Deploy Containers / Prepare (push) Successful in 25s
2026-02-16 23:35:53 -05:00
79060a21d4 add cloudflared to main
All checks were successful
Deploy Containers / Prepare (push) Successful in 3s
2026-02-16 23:35:15 -05:00
9906e6ec87 start cloudflare tunnel
Some checks failed
Deploy Containers / Prepare (push) Has been cancelled
2026-02-16 23:33:36 -05:00
f9ff703312 add audiobookshelf
All checks were successful
Deploy Containers / Prepare (push) Successful in 29s
2026-02-16 14:57:33 -05:00
a04fc5432b publish ersatz port
All checks were successful
Deploy Containers / Prepare (push) Successful in 30s
2026-02-15 18:18:44 -05:00
6aa331c2b3 fix syntax
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m25s
2026-02-14 19:01:54 -05:00
984bada205 add ersatztv
Some checks failed
Deploy Containers / Prepare (push) Failing after 5s
2026-02-14 18:59:57 -05:00
27dfcae9eb disable turnstile
All checks were successful
Deploy Containers / Prepare (push) Successful in 35s
2026-02-14 16:11:51 -05:00
528f07f180 fix ambiguous option
All checks were successful
Deploy Containers / Prepare (push) Successful in 35s
2026-02-14 16:10:39 -05:00
55de2bd8ae secure cobalt
Some checks failed
Deploy Containers / Prepare (push) Failing after 14s
2026-02-14 16:10:03 -05:00
b598991248 run plex in host networking mode
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m10s
2026-02-14 14:49:16 -05:00
c14c64f3b7 fix runner template path
All checks were successful
Deploy Containers / Prepare (push) Successful in 26s
2026-02-14 14:45:25 -05:00
3b1904c60a use traefik router for ple
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m12s
2026-02-14 14:44:45 -05:00
5f7d22874f start tinyauth first
Some checks failed
Deploy Containers / Prepare (push) Has been cancelled
2026-02-14 14:44:03 -05:00
3141559f48 cleanup
Some checks failed
Deploy Containers / Prepare (push) Failing after 4s
2026-02-14 14:35:29 -05:00
4a71f2e7df add docs
All checks were successful
Deploy Containers / Prepare (push) Successful in 36s
2026-01-31 18:52:20 -05:00
67d17294dc fucking stop autocapitalizing
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-28 20:33:30 -05:00
90cc197c20 pass host header to wings
Some checks failed
Deploy Containers / Prepare (push) Failing after 5s
2026-01-28 20:32:51 -05:00
cc80eae7f3 update vars
All checks were successful
Deploy Containers / Prepare (push) Successful in 3s
2026-01-28 20:09:46 -05:00
fdab1a7187 deploy pelican
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-28 20:09:03 -05:00
e16f922362 deploy pterodactyl
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-28 20:00:10 -05:00
8aac1e67ce update wings load balancer
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m17s
2026-01-28 19:31:32 -05:00
284ed2c808 fix caddyfile not writable
All checks were successful
Deploy Containers / Prepare (push) Successful in 47s
2026-01-28 19:19:49 -05:00
bb4aee9a84 fix missing caddyfile
Some checks failed
Deploy Containers / Prepare (push) Failing after 8s
2026-01-28 19:18:02 -05:00
852a040e8a deploy pelican to bear
Some checks failed
Deploy Containers / Prepare (push) Failing after 20s
2026-01-28 19:15:06 -05:00
2570402c1d add token
All checks were successful
Deploy Containers / Prepare (push) Successful in 38s
2026-01-27 21:23:48 -05:00
2ec7d85ca4 remove lidarr
All checks were successful
Deploy Containers / Prepare (push) Successful in 38s
2026-01-19 15:24:33 -05:00
0621fb00cd update servarr container names
All checks were successful
Deploy Containers / Prepare (push) Successful in 2m31s
2026-01-18 18:20:19 -05:00
7a751d2345 add cobalt
All checks were successful
Deploy Containers / Prepare (push) Successful in 29s
2026-01-18 16:25:01 -05:00
de4cc24458 fix language
All checks were successful
Deploy Containers / Prepare (push) Successful in 47s
2026-01-18 16:17:43 -05:00
be4bd3dc02 add marreta url
All checks were successful
Deploy Containers / Prepare (push) Successful in 3s
2026-01-18 16:10:07 -05:00
9182ca99f9 deploy marreta
Some checks failed
Deploy Containers / Prepare (push) Failing after 9s
2026-01-18 16:09:15 -05:00
a9ac725cbe update tinyauth secrets
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-18 15:58:19 -05:00
5562702fc7 add tinyauth to jackson
All checks were successful
Deploy Containers / Prepare (push) Successful in 27s
2026-01-18 15:53:36 -05:00
05ee187d24 remove host
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-18 15:48:36 -05:00
d680d8d86c run nzbget on user
All checks were successful
Deploy Containers / Prepare (push) Successful in 34s
2026-01-17 21:17:50 -05:00
d19542df43 fix network name
All checks were successful
Deploy Containers / Prepare (push) Successful in 46s
2026-01-11 19:52:49 -05:00
56685c1ae9 fix url
Some checks failed
Deploy Containers / Prepare (push) Failing after 35s
2026-01-11 19:51:58 -05:00
0e2067b16f fix name
Some checks failed
Deploy Containers / Prepare (push) Failing after 12s
2026-01-11 19:51:20 -05:00
00c6fc8c5e maybe?
Some checks failed
Deploy Containers / Prepare (push) Failing after 12s
2026-01-11 19:49:30 -05:00
ebad76b5e4 fix config
Some checks failed
Deploy Containers / Prepare (push) Failing after 14s
2026-01-11 19:48:48 -05:00
45776f7528 deploy floof
Some checks failed
Deploy Containers / Prepare (push) Failing after 12s
2026-01-11 19:47:40 -05:00
074ebdfebc add env var for frigate
All checks were successful
Deploy Containers / Prepare (push) Successful in 39s
2026-01-10 18:56:11 -05:00
6f0db19d1a use image for api
All checks were successful
Deploy Containers / Prepare (push) Successful in 56s
2026-01-10 18:52:43 -05:00
a7451c31ec remove nvr from traefik config
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m8s
2026-01-10 18:49:26 -05:00
0b1b88c831 fix timeouts in traefik config
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m22s
2026-01-10 18:38:10 -05:00
ecd8d4f20e update vars
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-10 18:26:52 -05:00
27bf6a9caf fix tag spread
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-10 18:15:30 -05:00
8c3835288c migrate to pocketid v2
All checks were successful
Deploy Containers / Prepare (push) Successful in 26s
2026-01-10 18:12:48 -05:00
c66daac36a fix servarr media path
All checks were successful
Deploy Containers / Prepare (push) Successful in 27s
2026-01-10 16:56:13 -05:00
8cfb10a2a9 run as self
All checks were successful
Deploy Containers / Prepare (push) Successful in 26s
2026-01-10 16:53:35 -05:00
0cb9abf64a log commang running
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-10 16:52:18 -05:00
b645bf320d fix servarr downloads path
All checks were successful
Deploy Containers / Prepare (push) Successful in 28s
2026-01-10 16:51:14 -05:00
5631aa016b fix gitea
All checks were successful
Deploy Containers / Prepare (push) Successful in 24s
2026-01-10 16:47:00 -05:00
48676d4417 stop deploying fivem
All checks were successful
Deploy Containers / Prepare (push) Successful in 24s
2026-01-10 16:06:52 -05:00
608ba23c31 update jackson
Some checks failed
Deploy Containers / Prepare (push) Failing after 5s
2026-01-10 15:55:37 -05:00
f4e6fe6ba7 fix homebridge dir name
Some checks failed
Deploy Containers / Prepare (push) Failing after 7s
2026-01-10 15:31:19 -05:00
57e03af1d9 do i suck at python or what
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-10 15:29:47 -05:00
248af84c40 Update deploy_containers.py
Some checks failed
Deploy Containers / Prepare (push) Failing after 4s
2026-01-10 15:29:26 -05:00
1057e5599b account for deployed not being defined
Some checks failed
Deploy Containers / Prepare (push) Failing after 3s
2026-01-10 15:28:52 -05:00
fb29fbce8d don't run deployment if no tasks
Some checks failed
Deploy Containers / Prepare (push) Failing after 3s
2026-01-10 15:28:03 -05:00
490b910e53 whoops
Some checks failed
Deploy Containers / Prepare (push) Failing after 4s
2026-01-10 15:27:30 -05:00
506064d863 clean up deployment script
Some checks failed
Deploy Containers / Prepare (push) Failing after 4s
2026-01-10 15:26:46 -05:00
b2fbe75290 run as user
Some checks failed
Deploy Containers / Prepare (push) Failing after 15s
2026-01-10 01:52:44 -05:00
836d6ba38f update database credentials
Some checks failed
Deploy Containers / Prepare (push) Failing after 11s
2026-01-10 01:51:01 -05:00
1ab98cfbdd add image tag
Some checks failed
Deploy Containers / Prepare (push) Failing after 11s
2026-01-10 01:48:46 -05:00
8f05f962f7 migrate to role system
Some checks failed
Deploy Containers / Prepare (push) Failing after 8s
2026-01-10 01:48:15 -05:00
97a07edb13 update db creds
Some checks failed
Deploy Containers / Prepare (push) Failing after 11s
2026-01-10 01:46:54 -05:00
a25ed32a4d remove booklore network
Some checks failed
Deploy Containers / Prepare (push) Failing after 27s
2026-01-10 01:40:16 -05:00
d115aabb12 restore immich
Some checks failed
Deploy Containers / Prepare (push) Failing after 16s
2026-01-10 01:33:23 -05:00
c688faaaee only start db
Some checks failed
Deploy Containers / Prepare (push) Failing after 11s
2026-01-10 01:18:22 -05:00
bc230e2038 add puid/guid
Some checks failed
Deploy Containers / Prepare (push) Failing after 16s
2026-01-10 01:06:28 -05:00
f51ac48bdf move rest of needed services
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-10 01:03:21 -05:00
06b4c78195 fix other actions
All checks were successful
Deploy Containers / Prepare (push) Successful in 3s
2026-01-10 00:59:23 -05:00
86f22e6fc2 remove jade
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-10 00:58:24 -05:00
0a21b6f6cc update db url
Some checks failed
Deploy Containers / Prepare (push) Failing after 8s
2026-01-10 00:53:10 -05:00
159b0e46d4 ffs
All checks were successful
Deploy Containers / Prepare (push) Successful in 3s
2026-01-10 00:52:45 -05:00
b90e42a182 Revert "fix database url in booklore"
All checks were successful
Deploy Containers / Prepare (push) Successful in 3s
This reverts commit 0c7da39896.
2026-01-10 00:52:23 -05:00
0c7da39896 fix database url in booklore
All checks were successful
Deploy Containers / Prepare (push) Successful in 2s
2026-01-10 00:51:43 -05:00
45f5b2a963 define shell
All checks were successful
Deploy Containers / Prepare (push) Successful in 3s
2026-01-10 00:48:33 -05:00
2655c222b3 remove shell
Some checks failed
Deploy Containers / Prepare (push) Failing after 3s
2026-01-10 00:45:58 -05:00
e26677cda9 use ansible image
Some checks failed
Deploy Containers / Prepare (push) Failing after 11s
2026-01-10 00:44:56 -05:00
e8b8c7f689 use ansible container image
Some checks failed
Deploy Containers / Prepare (push) Failing after 16s
2026-01-10 00:39:22 -05:00
950464db7e add yes args
All checks were successful
Deploy Containers / Prepare (push) Successful in 53s
2026-01-10 00:36:35 -05:00
8489ebe6df fix deploy action
Some checks failed
Deploy Containers / Prepare (push) Failing after 15s
2026-01-10 00:35:56 -05:00
9be0b01696 try dis
Some checks failed
Deploy Containers / Prepare (push) Failing after 11s
2026-01-10 00:09:47 -05:00
cce38c758b fix duped runners
Some checks failed
Deploy Containers / Prepare (push) Has been cancelled
2026-01-10 00:04:05 -05:00
0cfe059b22 add moar label
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-09 17:48:07 -05:00
fce4639204 remove redundant variable
Some checks failed
Deploy Containers / Prepare (push) Failing after 4s
2026-01-09 17:33:19 -05:00
21594d0ca3 dang
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-09 17:32:58 -05:00
60228b1597 fix f strings
Some checks failed
Deploy Containers / Prepare (push) Failing after 4s
2026-01-09 17:31:47 -05:00
2ed3b848a3 Revert "remove redundant variable"
Some checks failed
Deploy Containers / Prepare (push) Failing after 3s
This reverts commit 7f116bcb84.
2026-01-09 17:26:56 -05:00
7f116bcb84 remove redundant variable
Some checks failed
Deploy Containers / Prepare (push) Failing after 3s
2026-01-09 17:25:21 -05:00
e68d90e6e2 fix bad line
Some checks failed
Deploy Containers / Prepare (push) Failing after 3s
2026-01-09 17:25:00 -05:00
aed0dedf49 Revert "remove redundant variable"
Some checks failed
Deploy Containers / Prepare (push) Failing after 3s
This reverts commit 53ea87701a.
2026-01-09 17:24:31 -05:00
53ea87701a remove redundant variable
Some checks failed
Deploy Containers / Prepare (push) Failing after 3s
2026-01-09 17:22:32 -05:00
8eb3cfef8b fix deploy script
Some checks failed
Deploy Containers / Prepare (push) Failing after 3s
2026-01-09 17:21:18 -05:00
cc11de52a5 fix runner labels
Some checks failed
Deploy Containers / Prepare (push) Failing after 49s
2026-01-09 17:19:01 -05:00
105383320a bunch of updates
Some checks failed
Deploy Containers / Prepare (push) Failing after 38s
2026-01-09 15:08:31 -05:00
db4de63f86 gitea in docker
Some checks failed
Deploy Containers / Prepare (push) Failing after 36s
2026-01-07 20:27:12 -05:00
6f50604fb3 add a few more services
Some checks failed
Deploy Containers / Prepare (push) Failing after 6s
2026-01-07 19:55:10 -05:00
40e3ace8eb add tautulli
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-07 01:22:30 -05:00
8a47deb337 add vw + monitoring to new server
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2026-01-07 01:09:35 -05:00
2f43eabcb7 update vars
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2026-01-07 00:43:21 -05:00
b8f2eccb10 fix wrong task name
All checks were successful
Deploy Containers / Prepare (push) Successful in 10s
2026-01-07 00:36:47 -05:00
f192675fc9 scrobbling
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2026-01-07 00:31:23 -05:00
adde9eec15 add koito to bear
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2026-01-07 00:29:14 -05:00
2a65a44ca2 use host
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2026-01-07 00:03:49 -05:00
80bbe1975e add bear
Some checks failed
Deploy Containers / Prepare (push) Failing after 31s
2026-01-07 00:02:09 -05:00
e3368e4865 remove owncloud
All checks were successful
Deploy Containers / Prepare (push) Successful in 49s
2025-12-28 17:54:19 -05:00
a7c3c46337 fix name
Some checks failed
Deploy Containers / Prepare (push) Has been cancelled
2025-12-28 17:39:49 -05:00
5711544692 use file config
All checks were successful
Deploy Containers / Prepare (push) Successful in 3s
2025-12-28 17:38:20 -05:00
b03a4e3589 create directories
All checks were successful
Deploy Containers / Prepare (push) Successful in 30s
2025-12-28 17:36:30 -05:00
550f86de0a add secrets
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-12-28 17:35:15 -05:00
5f3e57ba37 add lastfm as source
Some checks failed
Deploy Containers / Prepare (push) Failing after 10s
2025-12-28 17:32:46 -05:00
673d64b476 add scrobbler env vars
All checks were successful
Deploy Containers / Prepare (push) Successful in 31s
2025-12-28 17:21:20 -05:00
77b745346f add multi-scrobbler
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m6s
2025-12-28 17:15:44 -05:00
747dcb1f9b create directories
All checks were successful
Deploy Containers / Prepare (push) Successful in 41s
2025-12-28 17:00:26 -05:00
f62396b1d0 copy prometheus config
Some checks failed
Deploy Containers / Prepare (push) Failing after 12s
2025-12-28 16:58:18 -05:00
fa8fba6fb6 lmao..
All checks were successful
Deploy Containers / Prepare (push) Successful in 41s
2025-12-28 16:53:52 -05:00
b986c2a395 readd promtail
All checks were successful
Deploy Containers / Prepare (push) Successful in 41s
2025-12-28 16:46:46 -05:00
21e8d6f6f9 disable loki
All checks were successful
Deploy Containers / Prepare (push) Successful in 33s
2025-12-28 16:27:20 -05:00
07b786da00 drop loki batch size
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-12-28 16:15:47 -05:00
600a837d89 fix spelling mistakes
All checks were successful
Deploy Containers / Prepare (push) Successful in 20s
2025-12-28 16:09:09 -05:00
415672cdb2 don't start jackett
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-12-28 16:08:06 -05:00
0cf01278ad restart always
All checks were successful
Deploy Containers / Prepare (push) Successful in 6s
2025-12-28 16:04:22 -05:00
a0221b1be4 remove promtail
Some checks failed
Deploy Containers / Prepare (push) Failing after 1m20s
2025-12-27 21:31:00 -05:00
ad90a5c31e default to loki as docker logger driver
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-12-27 21:24:23 -05:00
88c718eb77 add loki + promtail
All checks were successful
Deploy Containers / Prepare (push) Successful in 52s
2025-12-27 21:20:31 -05:00
95766317e3 fix update script
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-12-27 21:05:12 -05:00
4d815c7e19 move booklore to main database
All checks were successful
Deploy Containers / Prepare (push) Successful in 27s
2025-12-26 21:05:40 -05:00
44714d41cd ugh
All checks were successful
Deploy Containers / Prepare (push) Successful in 35s
2025-12-26 20:55:05 -05:00
e8c1a509dd fix database name
All checks were successful
Deploy Containers / Prepare (push) Successful in 23s
2025-12-26 20:36:18 -05:00
c92d2e0e40 move postgres services to global postgres
All checks were successful
Deploy Containers / Prepare (push) Successful in 54s
2025-12-26 20:25:55 -05:00
086f29d62d lmao
All checks were successful
Deploy Containers / Prepare (push) Successful in 24s
2025-12-26 20:08:34 -05:00
58c0e75630 maybe?
Some checks failed
Deploy Containers / Prepare (push) Failing after 13s
2025-12-26 20:07:01 -05:00
fbb7c1ed61 add global mariadb/postgres instances
All checks were successful
Deploy Containers / Prepare (push) Successful in 49s
2025-12-26 20:03:14 -05:00
86e5bf1e0e remove termix
All checks were successful
Deploy Containers / Prepare (push) Successful in 15s
2025-12-26 19:51:44 -05:00
f26c84f589 update glance to adguard
All checks were successful
Deploy Containers / Prepare (push) Successful in 24s
2025-12-26 19:50:28 -05:00
0cee1586a8 docs lied..
All checks were successful
Deploy Containers / Prepare (push) Successful in 25s
2025-12-26 19:44:44 -05:00
9007128bc5 implement adguard, remove pihole
Some checks failed
Deploy Containers / Prepare (push) Failing after 20s
2025-12-26 19:42:34 -05:00
9b7773d5f5 remove unused file hosts
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m5s
2025-12-26 19:35:17 -05:00
6d4a5b7a28 pull latest traefik image
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m22s
2025-12-26 19:33:15 -05:00
92d1cdb00a remove excalidraw x3
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-12-26 19:27:27 -05:00
e7e3b5f8c9 decode string to utf8
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-12-26 19:27:15 -05:00
8a3f1b9834 Revert "remove excalidraw x2"
All checks were successful
Deploy Containers / Prepare (push) Successful in 22s
This reverts commit c6c79c087c.
2025-12-26 19:26:13 -05:00
c6c79c087c remove excalidraw x2
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-12-26 19:25:42 -05:00
b60cf30c9d strip blank space at end of command list
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-12-26 19:25:21 -05:00
2132fc635e Revert "remove excalidraw"
All checks were successful
Deploy Containers / Prepare (push) Successful in 28s
This reverts commit cddcc057df.
2025-12-26 19:24:31 -05:00
cddcc057df remove excalidraw
All checks were successful
Deploy Containers / Prepare (push) Successful in 6s
2025-12-26 19:23:35 -05:00
707e461e7c use docker ps for removal search
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-12-26 19:19:14 -05:00
f3dedf19a0 don't deploy owncloud on jackson
All checks were successful
Deploy Containers / Prepare (push) Successful in 7s
2025-12-22 17:07:30 -05:00
62648e9b2d mount at different path
All checks were successful
Deploy Containers / Prepare (push) Successful in 34s
2025-12-22 14:28:44 -05:00
88406887cb add public key to duplicati
All checks were successful
Deploy Containers / Prepare (push) Successful in 32s
2025-12-22 14:09:42 -05:00
09051f2ef7 add encryption key
All checks were successful
Deploy Containers / Prepare (push) Successful in 34s
2025-12-22 14:04:22 -05:00
dab5bc78a4 add ssh key
All checks were successful
Deploy Containers / Prepare (push) Successful in 32s
2025-12-22 14:01:53 -05:00
ef6c1dfc73 add duplicati
All checks were successful
Deploy Containers / Prepare (push) Successful in 38s
2025-12-22 14:00:25 -05:00
af42ecc081 use docker volume
All checks were successful
Deploy Containers / Prepare (push) Successful in 32s
2025-12-22 11:23:05 -05:00
68965215b7 launch as user
All checks were successful
Deploy Containers / Prepare (push) Successful in 32s
2025-12-22 11:21:08 -05:00
c7ba7b6e5c add missing grafana volume
All checks were successful
Deploy Containers / Prepare (push) Successful in 31s
2025-12-22 11:17:38 -05:00
8e1b20fb18 fix tag
All checks were successful
Deploy Containers / Prepare (push) Successful in 33s
2025-12-22 11:14:48 -05:00
85daedfd70 add cadvisor to monitoring stack
Some checks failed
Deploy Containers / Prepare (push) Failing after 18s
2025-12-22 11:13:57 -05:00
765d7bbe68 add tinyauth middleware to grafana
All checks were successful
Deploy Containers / Prepare (push) Successful in 29s
2025-12-22 11:00:07 -05:00
514c47de89 add prometheus to homelab net
All checks were successful
Deploy Containers / Prepare (push) Successful in 29s
2025-12-22 10:58:01 -05:00
65f313c5c7 fix server application url var
All checks were successful
Deploy Containers / Prepare (push) Successful in 30s
2025-12-21 21:38:32 -05:00
acf6a43803 fix oidc variable
All checks were successful
Deploy Containers / Prepare (push) Successful in 32s
2025-12-21 21:37:07 -05:00
4ff97ffe87 fix romm arg
All checks were successful
Deploy Containers / Prepare (push) Successful in 24s
2025-12-21 21:34:25 -05:00
f99c73740d wrong variables
All checks were successful
Deploy Containers / Prepare (push) Successful in 28s
2025-12-21 21:28:53 -05:00
dbb9a8492c add password to jdbc url
All checks were successful
Deploy Containers / Prepare (push) Successful in 28s
2025-12-21 21:26:45 -05:00
a90d5f76db ahaaaa
All checks were successful
Deploy Containers / Prepare (push) Successful in 26s
2025-12-21 21:21:23 -05:00
893a1e7b67 add volumes
All checks were successful
Deploy Containers / Prepare (push) Successful in 25s
2025-12-21 21:12:51 -05:00
1dd1e662d0 lmao typo
All checks were successful
Deploy Containers / Prepare (push) Successful in 33s
2025-12-21 21:07:46 -05:00
a99600de27 use list
Some checks failed
Deploy Containers / Prepare (push) Failing after 28s
2025-12-21 21:06:46 -05:00
b6943995ba whoops
Some checks failed
Deploy Containers / Prepare (push) Failing after 11s
2025-12-21 21:06:10 -05:00
b82f61864d add kotio
Some checks failed
Deploy Containers / Prepare (push) Failing after 11s
2025-12-21 21:05:41 -05:00
e2b104614c mount config for prom
All checks were successful
Deploy Containers / Prepare (push) Successful in 28s
2025-12-21 20:56:11 -05:00
9a255bb470 add network, fix var
All checks were successful
Deploy Containers / Prepare (push) Successful in 53s
2025-12-21 20:53:59 -05:00
6ff3599bcf add monitoring stack
Some checks failed
Deploy Containers / Prepare (push) Failing after 30s
2025-12-21 20:52:33 -05:00
df1d70aa0c add booklore deploy script
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-12-21 20:25:24 -05:00
06cd56e26f clean up
All checks were successful
Deploy Containers / Prepare (push) Successful in 6s
2025-12-21 20:22:30 -05:00
6b382f2b29 add booklore
All checks were successful
Deploy Containers / Prepare (push) Successful in 25s
2025-12-06 13:55:22 -05:00
9d643b8eb1 use jade wings
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m29s
2025-11-27 20:35:38 -05:00
61474c72fc traefik madness
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m20s
2025-11-27 20:26:35 -05:00
581be1e7ca add api preface
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-27 17:04:47 -05:00
845291b499 update variables
Some checks failed
Deploy Containers / Prepare (push) Has been cancelled
2025-11-27 17:04:23 -05:00
a00f93c2df add host/port
All checks were successful
Deploy Containers / Prepare (push) Successful in 24s
2025-11-27 14:03:42 -05:00
7b384c6358 add to network
All checks were successful
Deploy Containers / Prepare (push) Successful in 21s
2025-11-27 14:00:54 -05:00
a04a4ebded wrong port
All checks were successful
Deploy Containers / Prepare (push) Successful in 25s
2025-11-27 14:00:06 -05:00
7a828308d4 add phpmyadmin
All checks were successful
Deploy Containers / Prepare (push) Successful in 36s
2025-11-27 13:57:29 -05:00
8cd245121d add etc folder
All checks were successful
Deploy Containers / Prepare (push) Successful in 20s
2025-11-27 00:21:03 -05:00
04ee0f97e7 publish sql port
All checks were successful
Deploy Containers / Prepare (push) Successful in 21s
2025-11-26 23:40:29 -05:00
71b1939f98 deploy mariadb
All checks were successful
Deploy Containers / Prepare (push) Successful in 20s
2025-11-26 23:36:34 -05:00
c653c2ac43 use ip
All checks were successful
Deploy Containers / Prepare (push) Successful in 48s
2025-11-26 22:56:00 -05:00
75fd16c532 add config for traefik wings
All checks were successful
Deploy Containers / Prepare (push) Successful in 48s
2025-11-26 22:54:06 -05:00
9634a94cd4 i fix!!! i fix!!!!!!
All checks were successful
Deploy Containers / Prepare (push) Successful in 53s
2025-11-26 22:43:40 -05:00
a5fcd5463e fuck it
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-26 22:34:41 -05:00
7e5ebad8c6 add trusted proxies
All checks were successful
Deploy Containers / Prepare (push) Successful in 20s
2025-11-26 22:33:19 -05:00
6c2f523779 try other port
All checks were successful
Deploy Containers / Prepare (push) Successful in 21s
2025-11-26 22:19:06 -05:00
9ebe5268f9 are u kidding me..
All checks were successful
Deploy Containers / Prepare (push) Successful in 21s
2025-11-26 22:17:49 -05:00
fcc42b9b7c back to 80
All checks were successful
Deploy Containers / Prepare (push) Successful in 20s
2025-11-26 22:09:11 -05:00
83268558ae try
All checks were successful
Deploy Containers / Prepare (push) Successful in 22s
2025-11-26 22:03:11 -05:00
a11bd28c4e update service/router name
All checks were successful
Deploy Containers / Prepare (push) Successful in 22s
2025-11-26 22:00:33 -05:00
62e149632e use docker volumes
All checks were successful
Deploy Containers / Prepare (push) Successful in 20s
2025-11-26 21:59:00 -05:00
018a212ad1 let it create it on its own
All checks were successful
Deploy Containers / Prepare (push) Successful in 20s
2025-11-26 21:52:38 -05:00
6474804095 add user
All checks were successful
Deploy Containers / Prepare (push) Successful in 22s
2025-11-26 21:51:15 -05:00
5cdfe44d6c change data path
All checks were successful
Deploy Containers / Prepare (push) Successful in 24s
2025-11-26 21:49:30 -05:00
008cd10523 fix key name
All checks were successful
Deploy Containers / Prepare (push) Successful in 35s
2025-11-26 21:46:31 -05:00
9472336a4b add pelican
Some checks failed
Deploy Containers / Prepare (push) Failing after 33s
2025-11-26 21:45:21 -05:00
16b6d9467d use app url
All checks were successful
Deploy Containers / Prepare (push) Successful in 55s
2025-11-26 20:15:07 -05:00
4d54e0b5d1 use config name
All checks were successful
Deploy Containers / Prepare (push) Successful in 55s
2025-11-26 20:12:46 -05:00
ff54cc17c1 deploy ptero to jackson
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-26 20:11:09 -05:00
f48d7b1d4c remove published port
All checks were successful
Deploy Containers / Prepare (push) Successful in 23s
2025-11-25 19:54:14 -05:00
7f1afe75b0 knew that'd bite me in the ass
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-25 15:55:57 -05:00
c1d083d51c take down my entire network cause why not
Some checks failed
Deploy Containers / Prepare (push) Failing after 6s
2025-11-25 15:53:00 -05:00
8c6f545195 add vars to api
Some checks failed
Deploy Containers / Prepare (push) Failing after 44s
2025-11-24 19:48:22 -05:00
2ab47a4085 Merge pull request 'Automated Template Extraction' (#13) from template-extraction-309 into main
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
Reviewed-on: #13
2025-11-22 22:40:40 +00:00
4808bafb15 Automated template extraction 2025-11-22 22:39:58 +00:00
7806dbb7ef update extraction script
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-22 17:39:26 -05:00
610c62b75a fix update script
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-22 17:20:46 -05:00
60ef84f37d migrate immich
All checks were successful
Deploy Containers / Prepare (push) Successful in 25s
2025-11-22 17:20:33 -05:00
993fd8eee7 fix api
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-22 16:54:31 -05:00
a32a59ca0a lmao
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-22 16:43:37 -05:00
909631952b update api db version
All checks were successful
Deploy Containers / Prepare (push) Successful in 17s
2025-11-22 16:41:37 -05:00
5995621767 add omit to networks
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-22 01:04:50 -05:00
77504eeffd fix update script
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-21 21:52:00 -05:00
078cb8edff show stdout
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-21 21:47:22 -05:00
023b48ace0 migrate gitea
All checks were successful
Deploy Containers / Prepare (push) Successful in 16s
2025-11-21 21:45:47 -05:00
20362a069a remove pull command, ansible does this
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-21 21:39:03 -05:00
4c878661e8 migrate owncloud
All checks were successful
Deploy Containers / Prepare (push) Successful in 16s
2025-11-21 21:33:45 -05:00
fb19e9eefe migrate termix
All checks were successful
Deploy Containers / Prepare (push) Successful in 16s
2025-11-21 21:26:03 -05:00
9c32a10144 migrate storage api
All checks were successful
Deploy Containers / Prepare (push) Successful in 16s
2025-11-21 21:24:53 -05:00
18d632e4ce migrate servarr
All checks were successful
Deploy Containers / Prepare (push) Successful in 16s
2025-11-21 21:23:15 -05:00
ea30d599a9 migrate obsidian
All checks were successful
Deploy Containers / Prepare (push) Successful in 16s
2025-11-21 21:20:48 -05:00
390a571fa4 migrate frigate
All checks were successful
Deploy Containers / Prepare (push) Successful in 16s
2025-11-21 21:18:54 -05:00
70fa7c77a8 migrate ersatz
All checks were successful
Deploy Containers / Prepare (push) Successful in 17s
2025-11-21 21:17:19 -05:00
1b1d0181c7 fix weird formatting in actions
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-21 21:15:51 -05:00
7724c47528 whoops
All checks were successful
Deploy Containers / Prepare (push) Successful in 17s
2025-11-21 21:14:48 -05:00
2ed283ae54 migrate drop
Some checks failed
Deploy Containers / Prepare (push) Failing after 6s
2025-11-21 21:14:01 -05:00
f5a2b4c6c8 clean up logging
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-21 03:33:05 -05:00
f6b850574d forgot directories
All checks were successful
Deploy Containers / Prepare (push) Successful in 1m5s
2025-11-21 03:31:40 -05:00
5ea7ad74cd fix
All checks were successful
Deploy Containers / Prepare (push) Successful in 5s
2025-11-21 03:30:00 -05:00
2897d67957 always pull image
All checks were successful
Deploy Containers / Prepare (push) Successful in 4s
2025-11-21 03:28:00 -05:00
681a876dae migrate vaultwarden
All checks were successful
Deploy Containers / Prepare (push) Successful in 13s
2025-11-21 03:23:35 -05:00
a19de4c6a5 migrate uptime kuma
All checks were successful
Deploy Containers / Prepare (push) Successful in 12s
2025-11-21 03:22:34 -05:00
5efa6934e3 migrate tinyauth
All checks were successful
Deploy Containers / Prepare (push) Successful in 17s
2025-11-21 03:21:45 -05:00
183fb0f237 migrate tautulli
All checks were successful
Deploy Containers / Prepare (push) Successful in 17s
2025-11-21 03:20:17 -05:00
4805cca2ce migrate pocketid
All checks were successful
Deploy Containers / Prepare (push) Successful in 15s
2025-11-21 03:18:57 -05:00
30cb6e8786 migrate pihole
All checks were successful
Deploy Containers / Prepare (push) Successful in 17s
2025-11-21 03:17:11 -05:00
a8e6ec48a6 migrate nzbget
All checks were successful
Deploy Containers / Prepare (push) Successful in 17s
2025-11-21 03:13:17 -05:00
50c6c57372 migrate homebridge
All checks were successful
Deploy Containers / Prepare (push) Successful in 17s
2025-11-21 03:10:33 -05:00
71 changed files with 1757 additions and 1497 deletions

View File

@@ -6,7 +6,7 @@ on:
jobs:
deploy:
name: Prepare
runs-on: runner
runs-on: ansible
steps:
- name: Checkout Repo
uses: actions/checkout@v4
@@ -14,6 +14,7 @@ jobs:
fetch-depth: 0
- name: Deploy
shell: sh
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
@@ -23,4 +24,4 @@ jobs:
echo "HOST *" > ~/.ssh/config
echo "${{ secrets.VAULT_PASS }}" > ~/.vault_pass.txt
chmod 600 ansible.cfg
/usr/bin/ansible-playbook main.yml --vault-password-file ~/.vault_pass.txt
/usr/bin/ansible-playbook main.yml -l jackson --vault-password-file ~/.vault_pass.txt

View File

@@ -8,7 +8,7 @@ on:
jobs:
deploy:
name: Prepare
runs-on: runner
runs-on: ansible
steps:
- name: Checkout Repo
uses: actions/checkout@v4
@@ -16,6 +16,7 @@ jobs:
fetch-depth: 0
- name: Deploy
shell: sh
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts

View File

@@ -6,7 +6,7 @@ on:
jobs:
run-update:
name: Run update script
runs-on: runner
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

View File

@@ -6,7 +6,7 @@ on:
jobs:
create-pr:
name: Extract updated template
runs-on: runner
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

View File

@@ -1,22 +1,12 @@
ansible_user:
data_dir:
docker_network_name:
TZ:
PUID:
PGID:
TZ:
docker_network_name:
ansible_become_pass:
media_path:
# frigate
FRIGATE_RECORDINGS_PATH:
# traefik
TRAEFIK_CF_API_EMAIL:
TRAEFIK_CF_API_KEY:
TRAEFIK_DASH_URL:
# plex
PLEX_CLAIM_TOKEN:
# api
API_CONTACT_WEBHOOK:
API_JWT_KEY:
@@ -38,6 +28,11 @@ OWNCLOUD_DB_DATABASE:
OWNCLOUD_DB_HOST:
OWNCLOUD_ADMIN_USERNAME:
OWNCLOUD_ADMIN_PASSWORD:
# traefik
TRAEFIK_DASH_URL:
TRAEFIK_CF_API_EMAIL:
TRAEFIK_CF_API_KEY:
TRAEFIK_HOST_IP:
TRAEFIK_VIDEO_MACHINE:
TRAEFIK_ENABLE_DASH:
@@ -55,7 +50,10 @@ MASTODON_VAPID_PUBLIC_KEY:
MASTODON_ARE_DETERMINISTIC:
MASTODON_ARE_KEY_DERIVATION:
MASTODON_ARE_PRIMARY:
ansible_become_pass:
# wings
WINGS_URL:
WINGS_CONTAINER_DIR:
# glance
GLANCE_PIHOLE_TOKEN:
@@ -170,3 +168,9 @@ HELIUM_EXT_HMAC_SECRET:
PTERODACTYL_APP_URL:
PTERODACTYL_MYSQL_PASSWORD:
PTERODACTYL_MYSQL_ROOT_PASSWORD:
# frigate
FRIGATE_RECORDINGS_PATH:
# plex
PLEX_CLAIM_TOKEN:

20
host_vars/ash-1.yml Normal file
View File

@@ -0,0 +1,20 @@
$ANSIBLE_VAULT;1.1;AES256
63396333353166316666616661613532383538393239303966633336363361613332343437376566
3265326538643839326262386165623639353130656164320a323536333037353664646163386335
33336631303336616636343538353865383531316561623166323762396262643930376231616638
6638613961313364390a366564343030633665646666626165383334356364623761383032633963
39393264353635626539393831323530366630343665623561653836303065633965316163386166
63353836333639363765616164383133623330653762333762623632653535623438313831653365
32393732306135323062666539663839656563306133393031643766626666323534626638653236
63613832333833626439653034366336633534323131356262396138373938383039336263356531
36323432653634366365663039336231343239626539393961636562366263653934613333633535
61613937336336323135376663336364386533366537626133316130353862633862336530633339
33663439663332653461643839353564333765646537363864653765303933393562383134316434
38333134646362663837653461646661633539623734316635383163313363653730653763326262
65326365383661306466663930646162343033383932633866383862626339366631633862346334
36366161636663653136383439333461366264383533346461613631623730326437376537373638
64323863333364613039613533393232373162346436613864336237336439353134313361653634
64366663303265386663623139636131383432343238306631333436373939393832616262393232
33376466613639396436396166363032653434653730643734356432653063303762333230323431
34313338303838346466666463376636323433663038363935633362656164383762343531633563
386432323237313039376531653362326337

246
host_vars/bear.yml Normal file
View File

@@ -0,0 +1,246 @@
$ANSIBLE_VAULT;1.1;AES256
33653930623662656636313563313861353836376666333364366264616362373936623136346537
3035383632316339323830303435376331383137353333300a633832646432313063626463353036
38363535343930653362623739303135343865663132613737316531636339386134373230366435
6264373263333165610a316430633138356163376463636137343063316237363535633362633436
34353636396333373739373233376236313566663139393539343234303861663963323235326136
36396464333332633561313962653865653736366630313231316466393366306665323439353562
32316538613263373566646164383735306361346137623362336333313832613537653635643439
32363735643162663435363136303833366337306165653465353864303863393362663030616432
39643065343035356636323037366566613337396165393938666265643239643335333064323161
34626335356164386461393862363732386136613433353161343031623637323431653432613130
39383164346435616532326235333662343661636362396164396536386661653338623165376438
62386533623030303838653333616130333232616233306433623366646336643962366262366334
37353334613034346161393336373832343932356164643765663233613462356534303435353236
38343738326462393234333736663631356330323764616239353838633631336639663834303164
63623736313832383066336233633465653763373131656534643664386433393737383432663031
38663039633566363333623837316132636137663464636431613365393065623731323764623836
38653034386436343764343261613031623263316461373165643262633630643331316630393436
35386138383139663538343930353134343038336561333662386637643431633462653464633137
62336630396438343631376164393831653161303165333838353866663138383966303164646163
66303433386632366236333433616132663032316231373932636361396365333232323035343133
30353132376334326438633364643864643330363366653763663365396365393039343161336231
31326637653739313033346461363839343137663733376433313333623239353633623438366130
62383734633236666462373364316231323937353964323633656662613833643763633664643739
34396361306534636361363437373630343439313333326435323530383331656535333432383531
33653166656662356532616230656635336461633661343665313838636465653634646234326433
66396335316132373765623565633738656537393364393432376233326234336435333034616463
36333932326531323065633039653232323565313530336536623034393039303432376462376262
39646138356232366237653063393336623261613937333239666662376664636631353165636231
37633065626464303966313061323638386136353139313633326565663032316361383138383762
61666635333063363537316132346233306662626536303235383734313633346530323336613539
33356239316536656633343431666635656239636233616432643932633639616536393138363965
38336631653934323938303635623539643363306531323036363533353230646637343964663039
36636163353264326662633538326464383533326364383230333532393333346332343862656564
35393130626233396238626136643338393433656139366466646336353566343935333332383131
39633438653561346630336337333530326236326531383064383536636139306636313636623334
36643038376565386539396262666162393164316665623931363030626432656239363434356465
31616665393433363361393961323264663631633936663262333763633661356332663163356333
31326130623232323866323739613139356131333138663637356236363432386263653330326634
31386538306363343433613635646335623761653762653732383061383562633333663333626131
65353930343537373132613034613363623065356234616166656536656264316433626230343431
37366663616561663434353764363534646265386239616335636633393032333466376361386166
36666334383431396261366463396334323764646533366336653630656465373634343035393166
64373531366636336138336236323935343065623030643036323263366536383332386138643632
35646235366334316339656334333138636531343536386561383362323662386636353931383639
36333331383230366336626531363938636362636535663139646664353435356138353165636563
37333636373039646665366633373961333262396537353365313036366230663034643337663339
64363931373235393765653339353235396531326134396461613766353366623736383665336135
65313166306131353265656661653765366436316532303633383530343634316263656530663136
30663566346131626330613138313733623332656131303161653136333132373336386665663236
31643162326436336561326533343338363436346635623636333063386233633366663130333030
37343334333765376135356338376537643366316265386132336162313237303132636232383639
66666561383263623162333661303035373662653235633264343661333539613034323337613732
35316632363537383932383233636465393331346436306236363465313965333137636264316138
32333366666464316331373733616261313165333639313534393838653234666163633534313431
62633838353366353965356436393165646265396533663735373461633063393061333063386330
39353039613532323761656563333037306231363333616361613235333333323633636539633639
33663839386263396530386236306638633633353766336536653336353136626262656564396566
31633863316530363237636531356534393631326432363836633030393661666561383432613938
62613532306266313733623863646663343561353439366539623663383031663437393565373064
36323133356333376334333135323931636638313335383563316133393139336164666435616564
31633265303839633533363333316637326465386237616436633066636136326335646663373966
30336638396232663732623837393831626339343063623462343334323538303564363131646630
35653332666461623231396534643061373365666138623664396161343936306638633735643032
36396533656535373861336531373964656532656632393139366238653932396464313731336462
61346266326230633562663363326338653561666361313234313466383036643032333764343162
32366466613537383233613430663065316435626633333032653862313738356237336434663638
37396138343835666266363961393230346132666465613830656536663432383732653863386538
66633163653833343138313962653865356634653062333832386365363638373530626430323637
38653339346563643539346462663164326636373661663030626537343138666239663561653834
38646661373062613130623462376638303161626633663464656139626435343332386366643031
31643833626134653036366430393233396166316562323363623764613933653533623232386633
36626332306532303863623930343463383964323965373464663133333061613433653362353266
63353763383136333635386562666531303836663466303530663539626136366565333165373131
38336234303635356138323934646534643233616462303933303065663136376336633964666363
35393631613163306664643133363661636162633265613263363966663861613466366532333433
66616135303533393537303637393237333930656266613861626337346631323962333136303939
37326266616264643562386433663934653063336339653933356536633130313666346133326363
39333933353661376164383138643436363561623639643236353934633366636663613437316338
33666464653933613236656161353362636461373164666563353062316539626231393930336138
37636333376538363337313533396530366265613936623365323866343531326534393164343333
63393732323533656131653835656666656338353634623933616137326264643336373632616563
37663736623430366661303038643631343736363631636632626137313562623262646464396566
31356237303562396661303936613437313436633763663866316431353764663261663463353438
64306465323836653333623862306164633935643137633463373263373861316135646365306463
39383565666330663735373237393632393932343166366132346231313464626534306330643432
36313433666661386564663965386236626461643731353030316637353038323762303564373363
62626362613663663062343335333530393336326632393162396131366566393065353530356236
37313637376233636239653932386565626537646635393930646565323830303339363035333361
37656436623265346362363566346563633232663536366337333233656561376463656265613935
65633330363164306461626136376163303130346566656135663363643031363436376436653031
34383665353764643663326234656461323061393034313635653662306432343637363537383861
38356534616532353032326164366164376334303964616365316537633930663739363863633861
35386237376664386137353633633533363564613932366637376266613530343061633030313536
34663562383366633765646632373837393133653534313163306638376262313262363663636364
63333933323237653734656438316236626536653031323833363833366533353736386264663939
37386532343235653837336665663137623865666439316236613034393539613735656532316132
30643730626333656237633064313461653833643336343632643533616262313738653536376432
35356263613931363564363962363962623033613936643565346565643565653831363734643431
32336464326233343266363163633532623262663864323939306561333033626337386631396133
34663733326135376462613435353965333233343462396435643236353235343634346565363631
66356163313637656463663733383737313837643939626261373536623038346339623564393766
64323462656234313665323232363334613065373236646536366666326562643933646438633432
32616564643431656333383464383864363939646631356161626165323431643332333738636538
62663939613034643462386231376566353638626664343239613963626663353935323562633262
63653365623430353064356433326630393435303864326535656663616138316464363538643834
66333230363462396565363139366166633236383038366336353532363064646662343939663935
63646365313835363630616662373135623565393530303936313861663634353431376131356635
66316234316266623063623533303866616166666265656163303339613231356637326262613035
66333539616636396263303166663434343830663236316236313434323066366364313139303032
64623662353265646539613935666530613138363634613062653031396466313538366436373137
33623366383035616161656139643961353838336334653234396635653833303233303165643538
65343765636161646634353436373639616439363332356230373939353937333933636365643766
61373261323261323238363565666461623834383439626566623762303335633731336366636331
37343439376631346235393730656432373262636464616466373831343961366465343935393231
32373866393463616165653533633631623164376365346538343435373036613739333333646438
63353334653037336335633137313831393134376338363766626264643230373661653735646130
38303339613534643762626335303562336334303130623262626161316136366138633063353166
32393438643864613761396638633037656330333431346465393335383339656337666339623836
61316262383664346636323566343137636464383233656239316539346333313461373232613130
63313761386632323063663664376666656263356534363131633631303262623134383634653834
30316261333663636463396261613461363037363466316434633462323838366665616637363262
34666165366461666534343561613262313862646434616236623538363233333662393835323432
62656234386263363635636635313563633965343937323638363334656333613563396363376233
63303365313537613435383634636261666633376565383733633235323765353137356663323530
65666364313464313762323566363136343338326565366664313932643533656437373536396566
37656563323531613964313037653161363639366231393434396532323832366231613862376132
38363535356238363338353833323435643262643538336532376263633136633632323836353564
31333566303038303939303765623162363832343835613830353264366264623866633730656232
39316665623738366338356663633564646235633966323464656239633938663965383633353364
31303766386562393065363534386266643135303937316165353835663833653666643933646138
36383730303566376336313936343036396563633033613636366465613136396237346637313361
32393739376434373464396334333734343030326561326537346331623930626333633833646466
31613738396335626665383731353566653963623932303466343632336464353237326530343462
62616634646335323562313265393432386566636137663530643037303530383166643934666432
31373631623066383765623035343931313630666236396338616466396538313366653939326661
33633431313636303630383962366637626335663938323165613036343962383234303864323933
34613934376336346462303930353330303566646261386437323566633066393638336433666137
37656237353466666537316635626663653836346364626330393330383033326363346535303462
62363565383661313762336161353632356662613830626133323466636438646534363339373066
38363039663730306666393039396436656532636339666164346634633865373465316364383930
33663531346331653063393939333832386230656636386136313632653237346230626632663138
35626539303735313031643566316531383764366266303062386436326134636463363266363533
33376135323833636466386338343939346435306662653465343763653037346565333264323233
37306434636435623039636635646333336232643533366433373930313565623464303564303565
64366334333436393630313865373737343231306266393561343665383465633232343039326437
39373161323330653061633162383139376361356530313465613563353236366464306532616330
63656663653332306232336239653736303863306466633139363662653037626138646364373730
66393135343462623831393761623938333039346266613065303535353833356330366561363633
65646664636633653666306266633038626435623964623966393961323065353966653061626435
32353465663130353135373163306232303061633431366164316565363937356332616662326534
64623366643939323036653065633831336632393437313531373064363032323964333138353339
36316439386666396236366136646666393266363566396439623463363866306266333032393062
30343366343836336565653662316533643833383730656235303136663561303635633935323837
30336363383236623430306264303465353037336163613136363731336439383130663166313533
64663739666335616533306333646634653563363031363963313661626466633834653263333563
39663335346130316538393233666466396636653863623234303363613561353065663439366663
37343661313966646162366161663763393564366165363532333633373033316637656561366230
36623038346564303965353363376134616334383466343566636263366331643063333339366566
35663331373763643762373632313039383865313161353833356331616630316362623437303564
35373861363061303334646432633963356361393331633564326261623034653434386431373761
39323561373862303039323138646638643964343433343036353430336538353565313733636363
64313565343938376236356535643035373066616239333133326266356162643463613534353137
36393731333538333166636161326662633463333265363338343339343630313337393337636562
63383036633137336134363133656436663839363631313635383637363762333362636364616433
35656339636336336461653131323138626634356566356530326661663631663562396362316539
65666362653733393963613266633438633031666661353238383435373264646137346533613965
37303666633766303838313639333461346462653436653935373865383531333231383131376466
35386430633165666135323430653066363239316633366265663230656566323034373863326263
31386634363833613538663464636162376266303761626662353130343834393230643738306633
36623331316437626233666266346538656137326431346235626532333966336134386434373461
63366336323031323430623539333465646637363332616539333532326163316239363465633064
33646135376166356263353135346135333233386131393363306533306336336462653037383364
30393566646434383165366133616263363931336633366536316366626338656236353932326635
38343663393432303833646639303738383464623366336432393535313236663163363764363563
33313762393966383064316266336239323139653563373661393066643362663130323637383231
64313562386163653337343736393738333637343265623164653364336461356562656331303731
36613731373665663130336664313837313765373737316563343163623764616136346233313263
34306536616437356163333632646664663232326530386265383339336130653134333865633731
34626130356137313562353036333634396566663162316436363430313934643566633639383835
31303535396134313736313031306566323264353065376561643562626562333438383563353366
31616235376130303134313565333362666331333235353037623735313432623130393533366239
39386261333137666339633839613437623866653462306339666431656334366639666564663563
63353730303762643732336461333831653561346338363030323231633538333762653032663434
62326335396164333462356262643734636166383934383261646232396630393137336639656439
62383332376133313666326439363337363631353232316636376364323363666165623566376661
62343531303639343937363663386430653337303032656561653632393237373363373461663432
63316163653235356165623564356230623364383632393539396436653434363030303933316433
33386465376530363064663661633339333861663463363663636664653564616639356433303234
66633361376463386561393530316539653462366139366362626633666266356139353933663230
34376230316366663131646533623433373833326262303137623632386263323762393939356565
64313963336531373633343034383365353632343061613230393362623463633339306461633063
33323563666438663639346564643638353039386166623037633465616232393031333430663863
39393439646661373961353765633437383131383065323131623431373966303037346230326231
31643834346437333863393937383737343335323531336133396562373438653336636362643537
65626235653065316630633639613666343934663630306266636233613163646665333835353932
37623238396430313330656266313837383531383533383864336433656435346433653337343435
62646464653463623862303065383462333736336163663035626633633231313563376264663164
30613562323232326235326636653135306432323962626530303532386533323530656239396365
61373434636535666534363938666565313635323662316330386566393665633937383035303662
34346533353061613262646163363136343330633831623734313336383137363266343365376635
33613937623063303461356166656466383436326166303432356466663737613837336233323237
65653739346338313631393538373963633936663234306466626437646566353063646436663261
39656331323561653266323535313533336265356664656334633730306635653161323739663865
66663265386631303862656463613730323162353966303061386536653562666537353531346166
62383063343438353834666439386437313861346530666630353766313466666634343339623639
35326531383333373938646537643966653930323938376437333139613735373830333566323638
34643138366666366138386461323362653265653834316162323830626438663337653039393831
34376565393663333263653431303966653662363338363665386539376439376665343539386532
63326435306531373665613466616463653432396536633363653830316432356461303239366238
33333730323134363761613538386132663734303431313936323431333430353439663962393339
37303633666332316261393565616231326337653237613537393630333036393961356164386438
30613235323130383162643532353465333739653634353033663862373562323230313534623466
30376130643165393233343531363464343936306638336536643934316135663932616334336162
35376230626531333033616162653863653734643461366435336563663338643266366365393864
39373664633762633066636361303333653766626563663038363738656139663864666363316366
61396633303338333163323839323639333862373132653431373136363166663066333766626466
62356665376362616339636135333432663337636131663930653431346232633937363337343061
63656264626262626638663832306235343637396335333635353663653932376461336632613665
32653635366636323666306464623961353465313533383261393264636263636633356263336563
31363165366164623334393236653731613764336366363633636235653132373436323933646462
32336462313466643332316336336363613031623934346664393163376433383735323461343161
38363335316331393862653666333261383331313031363638613065323732346334323735613464
39303130626634613935616461356137646538333238336532316463656464356666343033383130
35626264343437396535626138326331386239666439396131373566323432343363386535306638
66656462383265353332623763376338306632396332383364373930343336336338393332393762
37623764386539626361633064613061633063366565393137346634663533663833323339643537
33383836303364663061326534653138646334363734323261343730636535646666643465336334
34383965653437343966313331663630613038396232613565373134336461646531636637383062
34376662393664306464663364626233396135383732396264646632366166643661326639663361
32393266653863383631353233633431333966356263353139623931326262326163383465336561
63383365663066663130326139316465356435633038326639393435626231663236636665363434
63653162623130383363383230666363323265316236323864353236623462623135393462666537
33623438313766623439646637353363356662313530346338653634613332343731663035636334
36353566393962323063343339633739316163313832323865346161636432343837666630336139
39646632613161353734363664323236363434363230346339316661623234343662356634363361
38623430326630643034636339316431333761613037646239323437633730656333646337343662
32373262363430366534353932656237383131653038636636306232336639313330366363313262
61666631333630346235303663373161643037333031323332623662356563646463623632326638
32386537353663326331346436383836363861313432333664336335623362626365343565616162
30666665303335303435363037373063626436313863636331363738323335323532313838613232
33636663346534616133366632653466316162613662343366333836623763363032303832633866
36653832313634333438383936653266623333346331323631633131313965383438396236366434
62373066393430323438306663636330663738646264383233633935656430343636306565386462
30356137386537333364373237376662306265666431353564623434383865626230363334333162
33393034646634343039356666313635663932326264366466313939393566313631

View File

@@ -1,113 +1,221 @@
$ANSIBLE_VAULT;1.1;AES256
38663262326664303464653331306266333862363635643761346638366633666563303035346662
6230313164666332623438636464313435323532393636650a333039326661383864373838333634
34653135643737393966353932343066653166653339313939666161363735636634643466363036
3630633764646438650a393562343335316363616564383733363233343463356633353837353138
65376435343730626466393062656233326330303565376639386332306265306266356634383830
32613432386561346634633334666365323061313833396364313465326664353064653237623136
31343762383838316161306565323432643630343537346166616666353738343034346233313266
62353933323432343564303633636532396439643937306366313333626430313639653162333364
36646463353964323139613339326462666334376132633834313537653761333832333436663738
35393939326530353064633333323139356234643031653130633665303434313365663238643434
31663630313036343939646631326239343361653238646636363234353062346534363039373637
31313562666133343732626438353062663863336638323037373361616665613831616165393835
32336334393739666366623933626265643964663831336337343632643732383264623534383964
34313030336339613934303637363964653064653231666139353836653734626338333331383961
39646331623636613332393663663135363139653663383764333433316430313136356433326235
35303962646463323534623263623730313166643232303566343135323537386635396165383539
64393165623466633936393232363730313233656139383935343561343236343763623232343736
39383765633662653434383965646461663730373864326561343265663838643339616539396364
38313566343836363530613336326262373736643566323866386565346363363333636262613331
38613065333465363931623462653732626633316638626632353338373636383835653165336666
62646133383639663934656332613666663031623530336362633234633534363738363664623236
62316332363432346534353336343561303066633965373130626664343935393833663363393062
30333739626636323839623663393666393239663562653333383066303130363638366566666532
65346361636537393335393330313635336665636638366530346335313761323035623666623734
30396531383064376661363363323161353132356164636132343531336337613837613931656136
64303034626261643635356165636463326565653035316335353730396431663261363333656265
38626664636637623866343138303131643462366639336237363566386235656438343138666237
61653164376663326663646631393666386630666531666465373433393734653737343765363964
64313337336539336664303262343333623161646135633039376637653932626432333533356532
35306561323464623762336432366530343661363037383939383035653237353466336531653434
36383530633661616564333230363633383665376139353836643334646262323938643139663138
33653766666233393332333134386631316535643163323362356539633932323738353636393164
66646466613864633631656565303038613639633534306438303731356232663332316633623361
39303262353565383636616131333032306531646566313066373231313730386331633435336133
30626564643965303131666234663630653237373566653633343662623864393138353265646333
34336338356163323139616234323137366365656662633931666534303439326636333562366530
35363266633334616463623635666632386338653432653832326636336337626437643061623638
61646561666162616330623333346230613965316461383034333734383763383635396433373335
37653362636132313139316336356264373763333361333630366535336339623166306663623433
63333338613261633163613865303962383238383963353530633136623362313561316533343737
66336231323763353964376339613531613939336238656364353536346436663464636637303337
39313066613164656431383162326562353036613165613635346639656233626439623939393663
66306136656236663766643738303738616230626534333132666331316439363136326264386635
64616337613639306536373366366235633766613033313464353538376363663239333930363139
37666231626334373132363863346232623866353032626138353838333764633738386166666265
38393461633832306465633130343634323763346464643262653330356337353534636566353935
36333936343130653861303432626135383438653134326162613833336261613839376161616136
31666436353361303438303735623139613063333162303566623431373031646434643766363335
32363835376438613163666330333732353432396661666632663633393965396531653830333737
63356238613537643033643765616561666163386364376236353031656465333661333830626230
32346431633464636663366364643239386135396235336663626335383663373761383165646262
37313330376336373462623266343632393637663066313531646333666531653132633164353266
37636238623637363166323731653739373764343965626530333834366233323435646339636233
39626164653331643036386130663539663532643232333338656661333130376537333261346135
34373565643535616333326333383231346162383032636132333166376163373761306337643235
61636363323761366236326139373763306561383331303563333461386130353039333862336363
65323532623538346638333036316430303130316366376632623133643933393466353162643335
37383836323631393664636262333839323336353835663138653061623037636262333432613131
62303162646133376263306361663161636131323030396164313435356164386239393032633061
33346438373036306365363935626539653930386638383265373733386366663036393637656264
61303235326462626630366335373561313730613163623339333630313561663636353366393564
33303861623038623135346164376636323661373431653962363332653766663438323664376561
65313835386464616361306438316434656331653632346330333131626536323064386664633430
63353062336630663935353838316366316138323037383566613166336138306262313766383630
66336163666262636435326231326437336333666265663434316635313430623437306230646534
33643039376230643163303562376261316163626436626363316234396263633864376331353230
66656531646366633163336636343665393838666166643966306636363462666361303839656433
37353061656162653336363333343631633865636566646534306231353064643336383365376335
66396339376666623561393731633462643330363331623934643935303563393463346563373964
63623063376365646663386431653533373739343962656236356461383930373366383163666432
65353664363565646235393134316562643230383962636136633866376534326165343864383736
62306333386636306330373562336137386338303836303365353834303239336464613966313638
38333437313635653866396435656239313535376461623663343663333466393136313936353831
66646465663632323866376330316266343033646466316564613261656666313634663735616535
37393664613033346234633163373965393763356661636437626263326666643934653931393931
66373338636463393536633231663564386561313231323463343638383630396362336239333437
39343635663830313234316538636131653765616636613631353432646163376338346565383038
39306631646563636130643530353865393337373066336666353732633161383933626635623735
63623736613538396635306633393030613434373433663563643065613935376230363935343563
31316639333664303361626661353034396138623864373164383362356666633763323333363936
32366635633162376436393738663535313338363665383566656634323932303834656639363566
33663637643866333535646662643339383339353934383738343138323466313130666563633433
61383033616338646665323166623461366635636666326365326666393739303963353365636662
64653132376239636630396430346462626136323734353631356238303838663563643433643833
34656635373431623639653062386562623539303938336334303238666565363137613638626339
61666439303339323061326337623435383662613761336165336361343762373935626131383135
39633562353339363936646263313763326366623833333530373032393537373539386636616532
34663963646234356136653261386138356638393335626365333263396232613361306239323439
61663937646561336637313831373730316635383564346536663533656130323863393566386261
37343563333035333233666362653765333037353636646265366235316163646430616635336534
63663330303535663237373466666162356236613137623663343262626431316363356439643734
33646537383963316336353132366639306136353566313038363366666261313730303837643434
35663638616333346365313939303636656361363634373837383965373932663565666434383636
65333138666466356334353837303838303831353063333336393335343033373539383662363832
31303834366531393436303834316139663533333836376136326364383333393164656164353630
64646535363231303137303732643863616237666562363763363265326131356361333961356133
63396638636330393938613839383061616166373865316536323835363565613937363161323631
39343865393861373136383763646438616537373866663466303165616461373365656130613661
38663734376639623966633239376134386239383638653730643439656333326532303535373735
63663233663963333661643734316337323263666531373665343561396631396563306161373964
62653236366136353463363735376434343061643732636533636634653363386336303034393266
34616263376537383230653263323962366164643939646366653635663735373939633532323138
64393637326131666262316639353337666632646662663935393037303335353762326163353931
34663535363232383232356635633963626637333132366337356537313964616434323261653936
35316462373631626438343538363533393964333463666566323135643165633863633331653765
36373861386232303739636438653735396538623336366236353238643065353732643136333561
37663336636138306335356630313231373732333936656231626537376564313064653433313337
62343763343036636432613534346461386532626139346164633738346361653634353636623831
31626566336234656661303466623364626261356331623235306265333937316539333539373133
38373532353734653337313834323037656431666362333333666237386334373063653530623831
66343065303761303035346664653761376335363334373166393861373236666565373131303539
32373431613532643236
62306336346638643262663739333130666136653565366564383663653939343732396534363737
6539343535613961326461366639336532613666626465640a363363636361373064663134303532
30613732333535623361616237363237663033633736306437373765343265623765386633663834
3264653337383763620a663965336264313461643762666533653331316330636463363861303665
62316430333031346530633937393837323131636431303166383365613432623036666336336536
31346331313832376331306364653766663732633833366433643866306437363761396635633034
35373637636533656563316361393764333237653432653333626162356461323163396636396161
36323663663237313731356634363738383862643130633261306234626436346630313838393437
62613338323030393662356462643366626461306138346430326537633365393338333832333633
63313664646663623764376438373432356233373862616465613530623936313332306438363938
63373561333431633436306334333732333563663839666133656533643963623431396538373530
32613738616338666362313765306639656638303536363535643239343563663638383134333334
33373833646130646639643563346365336337303966373063613264643430326361313666623165
39633535336138323531313062393438636265623661613436393538333661386439623162356337
37386535396135393633653435656164646135343537346563623162656335353637666664643561
37643165353461393436396635663034393566633537383230613539363162316231626536623762
63323261393838323661383661303737333034376263346563396237343239623938643032663163
39316139666235343235313261663739333137626533353638613063643232373539643731636533
39303339623939343566386535313766333966323039376237613931633333373564363436316430
38643534303834666533313739616336303437663931653664323961356163363735623261303037
37386466386634643231396165633365336237616331326337376131663132643336613566373231
65626333383839613233386130666139653538316532626230323362323463623965366561343031
33373336663038323639353331623135653139356130343035646239323036383934653364616665
31626438336432613731326138386333653830323835316334613638643030363262366163616662
32353562323663636438633265376535623662333866326439646631373863643862383432616231
36626138343363323861316430306234363338323330636539393236366337326132326231363936
37346239313139393336313936633533663366353533613861643437343230333961353332653064
62626133666338383437623734343331353330383639666566396634663863363735306636363264
31663935633634323936663965626537623065623030626133313330613334396265333161613763
39666461346338396662356466623366393265626133623533353463633036356238386662666335
37623039663931646666643864373034316265363366323261326338386236303331353138383335
35643738343239323930623263316231383835373062336539333763396534393064633630383238
33633563623366323334653963383932653531383563306136343937303534613334643734323534
61623464646333623934303036363135623337346263656134316331306264616431363062306263
31383331616338633539613833633838666461343631393130383733383035306339333834613966
63313165373931336635646634346561313461306535643032666663646337656334633761383138
36653631353463363639663761656132316461643534613736643932326236313239326237313035
35383963653763373834323337623332313138366138376132373461663338303862373637333030
33366339643332373864633964396461373935653439616133366264393863623337346461343731
30386436643831303461353436666164313465356238326334396130373039663062613763666630
31396164393565333462343065353032663438303863646266646562376163653336396165323565
34363232613136656364303966616565393133326566636139313665333861313430613335626535
34623239383635343634313565363830323863656463346366353161323666366263393363386238
65623936663362653162626165346639663537623961616666643639306362636231373963663664
30623034613331613433633331393361663939363630386631343631343166623532396666323563
31666131663733346562323236343535343539333335336335316536353032303139333331613733
64303463376662626665633437346164316336643436356435643862393035306232666432353737
64333230396661376535373830343462653337623663316661326166323337623736333730393033
66313861343632663838313739396630316665626436653331353832343233636566313431373264
30383931326161313434316232316330346663313865646537396634343631643236663532373139
66396632626461663661633638643139616464643261393339323861323638623063613335393261
64333162333933396236346135623938666333343061643332313535303338373666353539633237
30636665356164333761373438666463326165376236363634656266616463653665396630616630
31323732303933623866386230613133626264343637373335306637363736643935663032386634
33656437613763303533613565643335336562393936373936396333303961313732346462366365
37376133333335313533623461343666366662353337353832353363646537363133363963613135
64386539386537646235626539383162636339373536623330323639666663656566303965316535
65323165343163633862653065333436356432303835396538306663356431383839633966356265
39613538663530626636643863626261343533613164383438303635323063646265646339623438
39646261363062373737346630656566316431326539663461363130643735613733313238663634
36643234613534636238623463383432623339386638373564393965393133313737636664303834
35303339346564363661343236663736623339383262656631616566623133323936636437636430
32313530613064343366316566306133653561323264386538623132316538376130376564323632
64613139623330613631306233353334313933376663666436313866313733666434623637383731
31386164613566396665396236633232303130353865376539323066346565343132353730306463
65353030653330393835343330303333633766353334383836643136303533393231366132636462
65396237646532376364393730336332393238653435376231386131343266383363383539653961
33373638633861633663636362613131373165633039343530303539323732333039383564653939
37643338386166653339373134666565306561613365333330623833613933616535646331623239
38353936333361383037336130656462333736363139623730306234616137366435383538346562
39386164383661663462363936303133616661393834353930613137393636376639343666616563
65633662306564373662326232643331373365373066643966303265303464303431646562643264
39373466633638666465616331363730393732666538616265313733666166363437643932653762
32633131393164323135613032363131393039336332616135313761643439663965383038626232
62366532343763623331343762376138633666396162333461376530393163333263313334396264
65336361623331323564346334626462663366656132616237623063653430653737613363373735
36323936306161396664373762333430666164323532323833626631313232363065633933343463
33653665616231326636626237383538306564626364613734396162663336383564663437666432
63373936366239613636323063636632326139623038363636363234383738373437393338666631
61613265396131323137393666386364356133333832393430363838383032643536643866353766
34363435313935633339393434613266363636386239623938663261356631313966653862373638
32333663616665373433613434613265626230313863396665303763306335323535353939386165
38323262616135386336313164366664613335333831383235396131623635346232353263653433
39303134376462376366636465623635303932613066383465663934356565343164376336396238
66653738383961303961336137613937393962666533306234353663666466373735323766636339
65373163366139643035666333333761336238313962306365656235393933383332313536383238
66313436323237386238333235353063623662316335373965663930336237386564383739313666
63613630303137643766323462666438643263636137633431663537376438663938626436653038
32323130396335353765636165306331373966636630326462623036663162343135656230663433
32616664643034323033663836623861613436633339333864633731663930636266616334383363
37333639393865363234363861373338316661636538323166313666663734626237383035336663
36303663333464343239613165656331633230396339653336333134326538303463333439306462
32656565376264333236643966316433306565393532346632336463343333383437313138373938
61623733323662373961666430343539343966663262653864363933623564393361386664353163
38663539653530366266663265363365393664336438323166616635653037643238316265653335
36616364353130333834383831383332643661383833323737323738613937333064636132333962
35353236306637373932616561326636353461633166636163303130613036363433303531646532
64636564303631383832643036636533363862326362383962383431613839366463336163646438
64353138623161393663333031363566626132656534653864353234323839346365343463356563
30323930333661373237653462346130366662383434633761333165633065393738383761386439
66663537663162636138323137323865656636346537643632306636653338383231643865303462
35356335353639616334663934333833663832363865666336336465333662623233613135353236
66643331333364663864376637343165666336653938383934323034356630643133383732386165
61643262366537376437623430373636303439373931363661376134616635363066613533666162
64303432363863663165343666633364653765336330663061366265616561663133396366643162
36323233386236343531363663326430393238623330633661366462356337326232336237326465
33643366323164313130626438663435653762303732323666613833393134623030383332633231
30313630336235363562636133633562633236636639346233613461396336343163623330316331
65393762656634613833336666366637396234326633656565386464643531313863616530663739
37626136373530633736633436396463356562373434653835633962373632393966633764636630
66336162663733656161653931316261396262356437623561646435306166303435613730653633
66346137643338363863333462343666376134393037326235323866616239396431656466623864
62336437666465343035316234343262333161313037643431613164653135373231656234366636
32343065626334353038323633356532626161323936396136303039613137343064666361333136
63633063323831613238303235646166643832346635613036383437656363663361353536663665
32356563613334386162333536313035663439666632333539346239356633653162363132653432
64386133376665626531363530656335326538346432643135643766346133356233626136386666
35303465386636333731373938656631323138363832326134643330636335343039623034353266
32653762643836386564333462303830326433653135366534346461326635316266323038623737
65643631306563653266623936336463366138373238306430346636633635353638623932646339
30353061636530366435366431343864336535393031643531333932363362396637376164313230
39616166386537623335656363623266353331373736353038326232326464376638323637643765
37303839333230366634313537643361666231623865616438343536373734616534626135646566
33383634383533366462303962633736633930363233363038326562393735313936613964356363
34633333303430646364653038623166313834636362656639343439633534336239376665613561
61333238636335663662663734373630616632613761326637306366323231386535643132643962
30623165353963623530326339663562636430313062366266626430373335623837616461656266
35393239363639643938376337636666323465363065366232613539373462373862623462663035
64353566373135373964626666656339616633653566643334613637393430633864303165326236
33623864383938663337316237343863383562633263316634356465646539633265396239653664
61306464663462383136333766376162623363313766613133613963376561333834326633636434
66393563663462386564313034653534633736373666363935356238393263343265376431653137
38373235336339326663663035356332393530353430613935363839626139393839633037383561
36316438663438333162306630646363613231653363326133313563633064363562356334323766
32313762353934393535663434623431646566383037646365633337633561623863336331376534
39663534386264626239653362613138383863396665396262393835373532323363623731313565
36646236653639353633666566646133633330663037646463323663376539346533636564376232
33613863396364646262613439323164633338643832653761653333663234363832393762633366
66646638313838323331373966613935353437613865336363333830346631353431333333363237
33346638643161303737346164396261313738316439383362636563373463336538353137376335
64316238346565663262373164323437613431623830383632336539396661616261616332366264
66316630353732666263613638316261653934396636353166623639306536373662646562366664
31383030616530323138646632393965613764343438323431626533646630656164373638656462
61626466303832343430323432383165323363343731323734366233343261366233333564616436
37353636343331393663326661663561613333636564323535326330663036316337643966333366
36343035633763353362643461653233303863643631333861383334326135376433333666353139
32396332646361343063316139646635663335653636323635353561326663633632383762336334
61336437396434366133626132313539323939356163666261396235373339303862346439313338
35353438326165323261626134356137383764336565353633313562393438323266313465383565
65376365386666616639306437653834363233633862663739616632646662343031626630343365
33323037656634636330626562656232653363323731343065336132333661653833326439346366
37313030636533386331646236633435306136373165353831643566613166353637656437646561
35626264613339353739346536366262653130386434323732653765626535313338643264353634
61396337663036353230363866613834306165616133373461623531663663353963393734643432
35636630363162306130646430613831343032316131306633656666316161343933643932303539
32303930386161396432313163313265306364653432613737643934656437313734643135323666
65313132656163363762613465303061613461626662396630393435386261646265386336363535
64643132336664356339626565303432636266323664646366353631643035343634613034623839
66363735643764633265363937366537386438306432663439393436326261363436383034303437
36636266396664656533653133633035313934366537373238353461643037333135306637613163
34393431363832656534303436363339623136306161363434356231323338646634396332383032
38333135623133343964376632666333313064303533616130663162366632386330393232363733
65326336386666313464373236666439636135653931643661333738613537373435326266323937
63663436353734383263336138333761393835326466343564616363626134356137323761313865
65336566313337313136303164636661376437643837316463363031373137616136363936343732
31643966626536643833643264613537386235323161303464306261656363303933333364303634
33326537396531623736303234353237316137653933363734613834396266376235356633623065
38396639363466333033316230666234316639353436626662343737356636336164333839383237
33346433393363306661356434633661303564643865656365633639663634383939656331383737
36346234393039346138643062316265373038323730616430636336383936363164306636363761
38306137306138363532333130623239396137326266313265633331643561663065623662653361
30343938623031613162376139343563376137363765396437623133333132336638333034303664
33323531346337346266376237373334353334373930623130363938383537663438396562353539
63373038383531653764663161323866663530633333636436613431623836663739376139303530
62643464313165396533613835376530643961636634356164313736363333363135633939323132
34653331366665663266323965636566383530343063363164626137346163386236613933626234
38356638343165333636393539643039323163636536313633633162633733633136363364333161
39303261636235353965343837316439663033383930363962616233353239346164393533626333
35653362363235383661303934343231306135316364656466386231386361323931326537666630
62313430663366366163643537666337386463396434303937376664393964633261636662616136
65356336663563636663326663383361326134343930626539636133393962636537353064646135
32623038373862373963623539366132613935333437393364303632396630386633623963373965
30306231656638623463373738313161633063303930383465356661383765346332326434636362
63623461313039336164613064666237393038643637386239616566363436663939316631336233
33333064353332393862666362326631396437663962336162643237383235323433666439623630
61616135333035653261396233626464326662626362313862363564376637353832636566363036
63616333353231353164393238613431643035333935353963353066643662616134626238346461
32623734376561653938636537633762373933636230316230313130353436383634356666643436
31336638356434306564346438353761363138353334303231383136383337343737363336303864
39313734663836353131656131313963613062363432633631643464653435653130643162383263
31646565366335356330333431366330643262396633646238306637333263653962333536353930
64346237363239613034613763633035303834353866316465666236383864663130613763366635
61396165393834346131333164393863393562313762626230646636653937386432323565393438
35396266356262626465613835336135356363333135373162323634663233616231313536376263
36373639666564626434643232376664616638396231383338666432653337376636363332363435
65363431383434383464383839346239306462396232326633383935393936333730333335393633
66316431393564663939383134353363343865326237666330653933383835386463656430376535
62333939313066333038346636663231313763366332373938363833353338356465653463303038
63313433333931383666363433663639666234666537343930656632643266336664626237393766
33633263643038653262616133336564323561353466646435663966386136353236363466643431
36653666646364386435633439666634353233356564306236343863303833613536646361303836
33616361323137306231636436613065326464633335383137666339323836376566636432633163
38343034343535383064363236386333666235373033623532373365303362363132623635366137
64643761616163636334646338636533336633373962353935383037326464646132303663353064
37613131316161393961646538383166353462396363313761356366313963396135366463376161
39343064323163653766313231653736613839313337663738663634643730613365306339343030
34396266343337643166656164643361373431323337666437336339366339656130396530356239
30313138633535663635373163643732306230306563333435373837633666656131366263643937
65643364366238653338356266313936616334613264616264366266643331353830623266656561
38386134303136636165363163303931336135653535303136653037393637623566303539633563
62313931383430333939663835613666323636646432373263363639383631303638353463393862
39316334316461393463636266386230646438313335316338616438363863306265613037643936
32636462633832376466646663383031376232323735303232393866643639356134333231663865
38626539383761383662353737386462386439346164306231633331616330313136313364656632
37303231666339373966346463646563363666376534633135636234646437363638323861646331
31616235326638366461646631623033323963316133376138333139633962376537666361336265
35343566373533366639353662656535333437623638383333643963636664663231366265353363
39646333656163623330613331313830303866316363346630633734643264633666643530616535
36636332323430353566376565326436643434393066303630303963353162343364353936643966
61633032303235356539

View File

@@ -1,221 +1,229 @@
$ANSIBLE_VAULT;1.1;AES256
62383466373737653035333232303338326366323539316363336337393862373265666333356433
3261393563633166343066346436363532336261376134350a353937653561346237666134343561
32623332613731343631666563663731663739323633636239353035366335386366626366343934
3333313835326639340a333463326635643561393464643063613530396430333838666234353538
32643366326165383435366266303463626330343533346561646232383337323332623663353131
66306538353864356466663233353237356132616161373166393736336438353066303963663764
65643465626461393232396461356132383939353035643736633437316132386461313131623961
35366464356133373333663530613066613233303161623534653331393864376333303937333037
61663239633030626339653062663939633662316633376135626466623637656239616234373461
64353633386638363132643530366237396335333263306136373939343565323765313565643666
30366162373337366331313232373333393939653561626238373236393430363464633333313562
63626463313336363961663431366364303065623933303261303963326266386131346566323638
36316161343738386436383731383961656336363137303566366335653538663432323765663062
34626232383533643363383039643762626337316636626438633438383037353432323132663464
38616532316534356632643630326534643962353634383162313338396538643862313061613838
35636165366337623532623737393738343230626530623330303465383263393763623664343466
63666135353663363961306366626162373836653461316537373961333364373236373361383238
66656636646665623739326638623061663765363030316263613666666364663261343830393330
65366366306333323837343666633935613635396663623962386430613937626366313232363962
65613064303731613865366432353866326135386464386637363335653135343665623632663066
66663165633163396264303236613734383464633966663663333731616665333037663538636530
32323830303864616565363862316132303131636635326431303261313131646234346164653862
62396666303961633165333931653061613132396433393436623665383033396130336231323337
39333563313137623035376139396261343432666130306566326662376636663938326439663235
66636561663464336637323663363363333338393665616339643864633839656463626665666664
30373463363135326134613730366430326666623766613131326562366265663662323438333563
62363037356231656664623332626562346266363035393562336262373363333366383739616636
63333763303038353234643564303132353834353439656239396463313862363464366634646439
32643638623035366632396234626134393461633163616664303934623861383462623438323831
33316361363830353062353832336366363161653630323735356239663037616364636665636330
65313531396530323064353862353939393565376662356138653736386637623265326632306561
61343764393034633461353432343830326661353663373965373961663330313035396437663738
66333539626565313635663531323366323636336237306561346234323962613636653864383532
36326138383566666434393932343439653263393332663766626261653336333432623337343439
30316336346466383333313332303238383761303033336164613462366532353761383333666665
36306661303832646432626461616236333730353538663765653539303561343534643862356463
61646361653464653462346334313232316633376539643836326462336236366330323061373538
63363638643862343539643639383935326439356534653339393835383139626539373834653238
62396464373766316132376136343631316132396661336233623637396166376466353936666263
31613261356366356130306437613364333866333830643665333866646263333034326336373563
66343764633164666666353161636236376163626262373536353464363032333561363963376266
37646539316163336637313863373064393466613863653834636639626566383535363663393866
31633737376532316165333531656166646533386439323130396430323431376662626661383564
63323265383933626631326133636163363630666538316331623733663535326261323438383263
66623035343132646466613063396561323164323336636639636535393832383234623062626630
66383739336565643563653438376430353961383062386539353965323462356462353266306163
35383964616562653563666262366264343735333461646564646264306365373933656565363136
64313530356536336665393333323464336238333637306562396635383835306135326165373763
63336665366461663137383834643136383034646238643463656539386330363761363064613434
65623836323732633262643062396366633264396334353938633463623462383563343631303239
37363263383935333665336334366334323166306165333466326232656637646132613339323239
66303830356330396432613163616166323261643861646264336436313733363362343835646464
66383762613665306465643938363631343630633733376137383133346465653662313938623237
63313333383933393131373039323065333635353030396163623130303462343764656533643936
65333239333236393537373863386435623231376163323261326331306263326662653132623032
61663532383865636566623761356533656363343863633161343230633433306533633130323131
37366234376565666633353962353939343634653662336139353662356337393438363261353636
35643563316165376233383134653363343262633035326261666633383437626237373637663932
66326636643662636539346138663530623365376330343833363263616666623938623736303030
62393135626565303464666138613365623632666638653265666139333930333737663965323631
39613330363561363366333765313837343462316633613835313865656363333132326336626539
39623364343131306263363863323730323939353261646335366133393962623137653864373131
62383935313265363937313664336432393965653463643466646137373630373631363736636431
35323432636633663138376339383131383461656465643766636636306565663639623163636234
33626237353334396432656530663833633235666239326336316139323439633337663433643331
35643766323361393064336137666664396465373765393034303462653737663063373065316465
61336363353831316338663536653063613061333034613237306531663037653835663538666337
37613834343164396133343736393165663263653161663537313234613366653532646630373766
37636331326338383039663030346666323234393632363233323037383863313564363563346338
63656261653464663663643231653833346130386433373562623662633963346630336533316435
66333439396638343563633138326431346131373439396566633232356535393565656231663737
36376163393133643337613639303039623832666438666661383436636661393233366663333838
64653564623562363339656162353836306437303738373439303933313637393464306265323336
63326436393364373931653563356363313139343734633663316362323738653738343732363138
61393761326138653036643332383235626236356564633232323462333135326264353937336463
31313965366132623737353232373134323433306564333862326634663362356238353465653364
31623933316465666331653831393461316538393537386636376461653236336434626134616662
62623634366336333739373332376239386336336631396263303535373564303862663666663562
61313830386438616262633533336334353735333331346436373230613363356166353430386430
62343735373231656139343035396562386661356538376661643435353237353962333930363939
61613733653064343833396530343432663238363537373631306132666235613330343866353031
64396531363337373236656235633261623239663439303834356139623833623339353862663230
31363039663033323663353766616465393063356263323239353461616239346332396532633066
64346563613934633937333433383764363731366132626365323661313962636464396539386236
63316563353661376330346139663737306162366661656461353862326666373030336136366632
63616439616630366435623065386430646537363333393965663534383531323462373833363965
64323931383534643730303466373366393435313663306631666364376665626434623430326164
64366437626634643362396565306665313231326336366630326163356630373663653633376434
64393033336463326631303862653337656163343932363661303862346133373562663537663930
34373761373537633130366661653539343931383663653234333663323738356535306664656664
61383337323238636634373830626138393466336666386262393039393963633835366531643831
35313531613832663637386566313436363566346432346536313263633038393438666431663737
62633631656534353961306663613634616336393833616166613836373539333131633066666365
63656264353831353630343834356239653331376539376331386663386334366463363935656431
64386439656135383139626136653066613166353738613262623231323132626330366561643030
36613765336339383863666535303930626534643934383731336461383432376461636230343030
36383330376231336661653735373961643936303064373365616333663836323663333361376462
34616538343235366332633430613130633237303363353932346366636631366466306533373063
66363832623237636266643861363238396534666164393735303165393933623766313262323333
37623830613733333162303061383166363838303965666664633861376238343165633234633232
63636633353937376131306435383061343030666361323061616262353935643030333966626433
35356562316336343932313539623239363036336361326234666339366335343033643435346536
65346261663338326465316237353934633334353033646433353035653530396232666638636262
37393532656561643839373333363331316235636566316531393865633131373936316236663839
63663835633437346336626432326235356432616364316465376239363864323561383636623338
39646266396162313938613062623430663237633465633261626562626636396637373137366465
65643134666236386538643062663135643266303861396337353638306532306236636136623039
34336130666633313661653761393536346661343063653562326462363434366531656430353232
32643164303364613362616631356364643835346561383962316265336637353837383462653037
34633031346261633835373131656166386439306361356636663338613731393434323039353665
35636365303365353833623463626463326632383737373235353464323939616539636531383665
32333761313439626339613834316464363835636331373331363730373861313739363164313330
33326136326566336633316437316132613430393166333130623335393232653065376131666465
31303132353465313761633265313266373132633231353766346633386639336464613134353832
34613035396165633864616664636563353265316432336636326632386234633263393261323136
66356338613666303863393937626365376631643666363830613836333236383466353835306535
63313939386335313936376233626231343062323662313565653439306534386133396336623265
30326334373433386639626362396138346234346630383930373636616239353734356432356237
33636135353736313961303730386433346433663332363465343732353132356162383936343238
35633866303031663238666662366137316366333564336134393465383438616465656666653664
37383231623136363163663562343938653631316131613864663936363336343465343931613830
61633166663534643765306337316635633163326238353561376631353661386437363935353636
35623831366532393061343764633735396363623161373661316238303639396166643430323432
36363137303834643233616331623764343161623264653531373431646364376662376238353233
62626464393336653530383434353066353865333139323363396635393530616332383463373032
36363665653234313263333334393535333961393063303366393034333734626235313835313665
39376330346132343035653531396430656231646631653131633064643530363561393665663661
64636133623231396663393662333738653631356436646166356531303066636139376166353830
36626461646635323730326463323065393061356633653931663334633532663834323332363534
34306539386532386365313766343462656264653332346363366231663764633436343334343235
61653465303635353062333232396261336139633561373034396533383933373933356462666134
32323631353536663761663439353162633539346561396166303738376432383533643766366465
61373536663836613237366666646133343532376461323139643565396135366533356439306438
62643235316231663564326238386238353536356330363236313064333862366336636363323834
33336236313939316162393964346363363236383263363638336531623463643338323461326338
33626430343834623466666461396534326466393934643631306637633562623531643636343031
35626637363265306563643463666337316633613263353363306330613064306664343735353265
38623033623364626437353434653732636161303732326239633837346336343666386138383935
63626238663630366630366635356531303564663866616563393164346564643338666561396432
37396439393866666661353463623865333863613765353264306633636239656530303230373537
61336634383861633165366265313136343464396464663136393864623436626537313935663831
64386162356665616331383839373533363161623630663431663136643732353065376161336564
36663931383033313130643831306364663365313265313831373636643861303261626130326234
36613038356132343936346463636463356332303261663830373333346435316364383161643065
35323262373736626636343562313731646234373464633664663562366364656466323737356435
63653266356265633163386337333731316266663032656131346134353264306436366466393464
66653662333464646437636439313565333465366339383365666538376464653563313835343561
35373661353832643363363266343561613066343138636339633033343932643633633035616232
39336635636135666461643134636435326433613331353035656232313662343735663833353234
39653337386430353364373237313533373933383333346536356337356535653531303532663235
36323531643735666538323838323932623438646236613330383863393836393365363636626232
34393239383236626537303666393532626335396434363763356466326633363464646565323431
35383934613964663839343332353539653136306566653763396564343538643663366636306331
63386531326635373134353564316532353333383834376332306237336366616532363034383866
32326133333932323861373433376662343537343935663864346537633063316561316538666431
32623863373432363264373637373864396363353933303762373662626364653434363738393234
64616464633433376336356236376635623232306264316464616465636139363861666435316563
66396630346437616433613665303462653662376563623763633466653166643536376466323133
64626630376338666164353839323062303132663633343937643761356535633238356634626165
62363237336264623932613835303236623333316564393338633861313333666466346435323766
35626432373737653138653931616562396161363037613339323961633534623537666637626133
61653637306531646239383639333366643937393932623131383335616436663863393064323833
35306635386336613037383761653638643930303334386139623135313434346232316233373632
38393737636132333138636534383565666230323831303964333132656663383838386538656537
36316166653239323162326333383035346636366163636233393936613563333032653339623264
35303766623730653939383439643265343365363064336430356431666163656661666330323563
33383761326562333937396535303366373136653163643138393931323838313531383264386463
63316230333735396538613561313132613861336166663238613730323438383830643963356230
66343933656536356136633065663037663233623662393133353739343065333438333235333836
39613962376238643933653131363261313164333333383032613235653136326262623461663032
36326164323036386562313638623331663166633039373264323333386635363437373839393432
31363564643536613530383066383530643537353263366565346533343761353530313739346137
38616335386539363861306232326330386563663433663132383938323866646564383864333864
64663733333961373730366137656563376562366366646135383662333831636462623762356563
65313433363633343662316337306638383132613131393765653135366631633561356138353730
61313135326366373837303130663466353563313465613932633863383664306262653833346462
32393566666566656339326531343265316631623230383130343633333535643939343733343161
64336639666233383865386533326437613630613536303063656631346463353564613030366662
35313331303564663835393439623730633031363435366363376230346432333834663933313834
37653561626430363962646136633865353138323835633062666631626436653461303966386164
31616235623932356136663763623263626331343131323933356439316430336564653630653836
38326538666265306230396461376635386464656637363461623639356531313939613363373461
34366136616238373731333962613437383563653161323337336135356462346431343064386463
36613235353263623430333035376133353966373130316134303639303865323534386239386632
31313935343336303535653861363036363461373537336561363532626137623066663932343037
37333164356232343763613464326234343230616362326333643665643261656266336638303330
36626133333166386661393833356661383337336136336537656233326666383133623637396264
64316264616439313565306666616238336661363365633833623263333363623132383830346130
35366234323837646531366330333632616133333364343766393233333237373836323837666161
63643138376538363639353330373136376564643261623731313931333666353239333561663432
65396663373436666236376434666632376335353566353530393533633132366130663038643264
37313832613732353230306135363466616162313137343436653064343231356433366563303738
35623531636631613061653963656664313038633434316336333633316661306563643262646334
33613563386330376333663133653138336234386366316538383362383665643361386366386538
65396534643064303332366532663834366537626261316139326236356136343136383638333339
36346530356565666332613037373364353366386130313464626565323730316132336262323264
36633532326534343362656465306535653539613265323634393865646235653363626637383339
32346264306561383332366462613236316364393931316132323937623763393935313830346430
64383236333664353431363934303132313434326534646239363366626530643536646230663139
65316466313562316266653665636361363734393461396630643637623462343866646265633838
39633137643937656438643433663765363430313337343166366161323434663439353562666132
38623464623962343534393064376237373231333939323666306465306134336234383932353635
62656337636465326532613139626462323162303730663837313935633437313265353930663463
38626231323462363461373131306261326463313763623737303466353835643931653334653132
65626639396365646333653064396662626566646666306362366334363934646237663830393962
31343561613162396632396336653834616663643130363131383463613265393337613866353365
62653737373132616335643731646236363263366433653965393736333766393262613836333365
34306635666366636430393365626364633061356165353661326563636366346562643733353334
63316437376330656661633661393362323133666434366565633436363034363039373761633032
37393163613131383537616434373730303664663562656333653232313937633164363236303663
32363065366634363731313534343566623830663361663430333061383765363137366662623139
66346334333061303437396532343330346366396362366362323535306639333962636232363730
33343236636163666136373264666236386361306337653564623637626135613562303636613535
38633130396532313362616666636238343035313233323661373032646432626262643662616262
61353166363330323665616561643736326236363438353636373063373738383361653539303131
30366364653464373662653066363865626338613433316362393564653739636635333562333036
30376530323462626264373235313231313163393838633437326265646638373439336638636166
64323762373835316138636137363166616161616633613632333063323632626637653630346562
33376334616439376161643038666438373833343632643934303164353866613231346262346261
61663265366461613634
39663135633963326434303864363561636431643561306162306164653033373166336663376435
6338316264626661303737306537336666613838343037300a316466356335333735373566393965
63366361373239316363663235653635646133353761343733653336653961303661306338663462
3861373436653334660a346339326433313831316365656331363165303236356136666138376164
64366361633863343232363062366265323663626439396236613766366665626635636132363863
36303937626130373463613837313035663165613539323766613863396539613237633837373539
39383435653839613665353665386236313462356338306162376331336335386233343264346463
38383661626538386337306331376630393530386533313364623539663134643337303062343331
36353166363731363631366536613764623234313039393237316263346139663536316534613536
32353836376538633465353537663266346335663931663936393731646131666234313361333163
31363664323036613730633233303632623930653533393532333030366633383135313132303161
66333464303663666230363332363834643133623431333235656466313461353331366437346666
62633038353763316465623039663238353664633738356531363039333532373337633664316339
33313961383962336563333764653936636634623739313834363332363831346666643033613436
35363962393032303063633032313534316462393562306132626562343463653432353966626338
65343633626339633932633931306339623662636565653534376263343562353363303663353938
32323561663132383531313533343163653732373938306663313832333261316462313233306537
32383131386636333532373865313236613730343161653265333636303032303139383538336431
36663465313138306139393735303935393836623535373337616537646333336465656265626636
38343463323038303738383132623362323861663665316136336366633134323634623665653033
34653330353061663737386232303637306239396538386361333632383733663635623438383666
34363463353964336664386165663134636538343839656234326565313834303031623335636461
39373465363932623632616536623934326364346239366332376435366536396464306666383963
64643530353134633666353666646534303366653635336637376635353238663264626465636661
38653261383835363130653965643533303131613230303633333663303761393335366137323538
33346631663736653266666432636661653565613037336531626236336465336334626363666138
66343364373737323361326338623061313165623232313036333062636132643261363830353833
65303835646162376431356436366439613564353362363962353062653061623366666636303661
35333430656166373839626535343536343061393232306366613730303135353732326531666563
63323038373066353935646538376536636465616231356234663866393862356433373033313734
61326564636565666337656533326537383061303038613132353634306338623133363934316237
38343364663238636338333234383739393539653737373533653233613037393564336162653131
64636233386536303939373033373631663764626564646639356136306337643164386439393231
64613737343932313635366639613064306632353634303464653938326337643137363139653665
32386266356463353431333535333230336235663433633435303164313736366539383265663139
34383261303330663131396466303734393332363230666262616535363038333331356165656135
38323733623733623735333035356661316164346632323336393464663266363164613463376234
65333966643839343030323232323231383933343931323062653661353964333435633037303161
37356531623064356635623764336339363635303563653233353466356234396664396136366464
63626632303835396164643037653936303739383730373639346261643735303734666237633136
61376665353234333263323032326233653233323438303037306665363932383932646133616263
64623635396532333062363230363530613338373631323563363336366231316638616139376562
66316134386365623438616261353135613066303064353233366664343065316536653165393633
63346538343530346434396362343363393530343034353730383665656666386661613535643764
38336365363764356266393261363235396439376264613932313663323638626566323261316232
64613462303263623765353232303831663737336666663866306234323638313734353039376365
35343133613334306162323961313232356133313338383535316135323930333339663164336430
62626533343734323634306437663437396534356465336532386463363764613639303063616234
33643631323833616532343335633633656332336435356161326339326663316532343161323365
32303736346437366437346237396136353134323162633933623034613735646131373664616135
65656261366432333734353530356663626333616631376433623566353634303862643733323534
33303434613061653561363066643161613266326163623864396366643734366663636433623564
34303833653164646434356463613132336533323561633133623562613266653861643762646565
64646164313531633437636432343134633330366135663334653539313738343638373433666438
66653531356566316435363865633133623035663764396463303632363136643338333664656462
34343665303164323439363936386139303366373234613462313631666364386162333566356337
31666633616265303562396362666532616663343036663138386164386462353363396430336434
62376230386566666636363564393333376564623532393435623166333565636637356266356464
32366663616539626461623534376461303735313565333539643739353866633135313835343434
34383834316630626263306132656562613361306464373733333731346131306163336631373266
37376537623434613864643666336261633632616562393537623861313536613636633064356334
31363935643361643039643564313762626136363563316465626263376162333861333231626164
33353536383137353565613035643136346234346632316539373131303633383039633666613832
66613437316664353132386334663339346533396630303530376239383933333239323136313539
37653432353863373931663734333364363662623132366366383737333034383638376261323734
34376364646366383163396636316435653739666631623063306261386630313765623934663965
66613365623539313338333635343432396563313936303635636564383961303237613263316566
65366631393030373663376334313630396162623663653964323135326634616564306337333762
61663836643934396662343566343638656233343861636366363262303562666563643665663936
63343031353063386261396533613037323130373061313261663865386465366136393364336261
37353961323762303763383738643166643366383363376633373566326635343638646432323037
35346636376562313963396361306465363436376337653032336238353766643861636133303231
62663731656161343866613465386432636437316336306630616261656436323437346663326536
30393739643331303938323666323264393938376235326536343830396238393539633536376339
33623739333831653439343831386638316665326137646262613261666333616532343735363465
37386335326166346563393865336662633735623166326436386638333030643564643936313036
64643864336534333034376232653138663264383530313338663561383938316230303036323765
64303435396235343838323766626138303365383264396534616130386431373061373532363334
36613037333966386165663466396663356535323336366531383632633032353037353337616637
33333432333061643738623037653564366263316435653233303266663133616662636236656134
32636339613533653338623163636563373435616134636663646437323062636565316335663462
31333365666631336136376133653933663634613662363265333137653066386439613937373838
33373935323135653364396536636438313762303764346138373136383934623838636265323066
65396565383131633039333230393464663339343566353634633737636464373330633936356266
61313964636137666365623261386630653030656263373033333666643135373633626534653432
39623761303039393764373261663432333434343862623364323331333839643033653065613634
33653934383233616335396436383065303239356331646165323334616230613137313435393562
32616331356632303662346531353232323732666431623464623061356336643832666634663433
62373463656437393439333765626331383833303866396639303661626664313766346361353864
31636534393938326539323739356362353031356664343136616432363065363265336536636530
65316165643231623339633666386263386665326237323438333537663266666237363966633063
62373236346631646431373139336534643237646131373335393166626665373039633566646662
35623665643835346630366336366231383866333134383939643639393962646231383432656630
37316332653931303234353538393933336461356636353537373432306364373565633666633263
33616461613731393665333265353436663034316134643062343362613934396631333532636339
63313334643238333338663834356565613161323030663136636161623333653365646130666137
33376265636464646337653763636138356666393733363735646131383261306230646135303666
32656461646631393630323534363961346337623563393537336336363538356433363833356131
62366561366463326131393964313033333165333436633334393066303532386630646233343734
62303131323630333664646633646334383333346662613337363161356636643066393938393366
31646131633232373661626436363665636566633638313539356663353063323039386438386330
33653738663233343763336264623335393531306331613338316564313137353730323261333166
64396162363238303831346433373736383662376362653130353862316230663139313966353039
34666364336561663936613134646665393362626366663039333963336234653962613062376337
32343736653031653164303564643932356635663836366136343530333166653232623264376633
32343366313062313963333133303966303333626261373638356131326239316531393463373735
32656633363064633832313537366538636235653830333165393539336133363065393165633734
36626435356462326666666631393564356539356263386236633435386635396661343966623763
62626164346131616661323533353361666633353138626661356362316261663662333034643761
62306566373930353238616337333435663838666263666566313463613132663333303835663335
37363531656136303530323630633437666232633931666564363966616662316231373636613464
35366463623964343239303736393133653962353564366637303264633531643635626334323561
37393966666564633865323135613766383533323161613632316132643466376535373233343030
66616463663064343766383438313938323763656266383337653166396137383538396635613565
63383239643439376137626535356635633832633662643832346438313330666566393263666266
32353534626239626430636133613633633833336563326136366463323666303132303630366661
39663766346638396330623830623237363734646331376537336265393839613737323437306261
65306631353563373961663530393161636539623264313364353731326162383663393466353136
33373337343065646331656639646236656333643033393634383033313636393466376337346435
32336431303834643639343263326637626133363034323138336633306231613936366432643762
61353562306439336131616633643638306361313236326339376135623966326331636164363438
31643132636139616135353339343730656136663962336362373062313266316330386366333134
65316166366331646530323338336238653137346536316132333039373830333631323539353464
38383563346161633739623030303832353133623432303736666566636537616661613034633233
61626230383962323533343661363935343630303731353730666231396263323936306234626630
39323764316262623335353264646533653739306464636138663831313934376465663630356136
35373564333038393831656663396636363237316632303633363438393162333035633066663866
34383531396138643464353938393366636561363334666430393138623337356664343639643862
31343030346139366439643235346639396536393833316332633337626530343831626637363365
63636334336230643933323034636466623262636532623761383766393965623461633832613064
65353933653131363634363936613735353637643435383632323864663039653961623238663865
66336561373865643235646561656139363361386537656561653564633061393334383939623935
61383836643234383261616662623566626662613934323465656464653966616533316637383733
61613137336163326261326563313632383165636139643231313230306330396636633233343732
39653930393533353664666236393130613530623338323362623834656562313534363963386530
65663864626432396533313637323661323166636137333330616466393233323862343766326533
34386234383835356234366230396365613135636634316162653439613131613763656134386638
39356134613037353533306564633938323331663263303831336232303535663532393535643633
36363164316130353630663535366339376438663166333663313134623431613865383136366563
30323739666165663731303363353836376135313562333266623262303033623562626133626135
39393630343731646630626636346432313035636239396536373233653934383031663434353466
31656261653735343832383036373261323963393036623234306633326363366565623366323065
33623062613634316439373765353034353464303230643662626139356364623765356366343462
31336362343361613865623233303034613765376234373733363461333335656537336430653733
30346530356436656561313639633238396364646537333762396331643836343062643232343231
33383234333966643537323164313463373137363334323433393330373139616330373034613437
37616534626136656134653231373438366239316664666263663764623562633966393734393932
39363033656638653331333435623734383365336264633536616132343133333939313332353063
32613337653935613861386234663935636130353066383432316131343262386539633731666539
31383337373365336531356265393339353233326266333264343535343932343331316664333035
30333633386663383333646362316435323137616239316334333836393131336130663966353133
33666230393138623239666266643361393464333938363162353934363962666633656437336666
32643264626464393737303864303938316638636131323936373333353130623631626266616230
36386537326464373062366339303564386133653033396439396238633331383335613336643766
34623133373835363835663134356135643931626563663339613561353465666563393138356635
39376365393639376365353362386635623063623461386539663138343132383963636466353564
30326432303665393636613239313838653265386563393062336436626138313265643636363137
30323166633364376365643964386135303530613435363936333962323935336361376236666632
35656631633264663935626263393930633430373261643661643333613164343434383038653534
66333431373135636339663364333133656534333631666538616632643630613865383330666233
39316564663065363563613663363436333236396436366134316631376635633638393666323764
38353862623931303731386239363264316132343737396564383635663137656330306264393430
33376564303333323530373630633734326535663334623863616266653661663563343533316430
37393061613064383232376637383161653063366436613939366539646261343030663161656461
36616235636262316261363563333036376163616365386266646436326534353630326637393538
30303237666166373231393737353566376433623236383366306563633039303137623039643534
63626461653264336663656265623538393034363036396561366437336138323731656534343565
35316634376334356532346636353961333630336466353439343037343566343131633063303561
38353735376161316432383734353832343263643937396137376537306434363762323437393332
30343964346266636330613831313331633036613736373763343663396334353133623066333138
35666133666639323766663739346434636634356465623733306461343962396361386434396233
38353436623461363238346166626165353434323731616664326265653732326438636435323930
38343833613261623164336430366234656631623538393434346666633636663732336563343832
33636336663930303131346462613630653465363965666631633865303162303933613462363930
39353632393062353565616663323533333462376434356432636361333666623166373163383139
33373034393033623561373338363533356435653639393766333133646230356333636162623466
63353163666638616631383135376239353364343966386433376132643336636139653063363563
31326436333165623265336537326265316266613532653664343162656636356433343836313732
37373466616231613838363738393663663432623535343532316461343034353636363162376563
30336562353861636333613834663139346639303236393737373432326663376130306134363532
34353265393736623962653934356133383037623531313565323538336137623063353230623165
63616231316530356665646236643935326138616564306363663633653166373239316131316236
36376466613164343832613234646234656131376434333236343166333833346664663335353134
33313232363938366430303933633434356137323162323066306634383137336362306639303837
64366539653530346164366638643737336265646632363230306562303233343635363935623736
31643561356435343337313466666139393334613230383431393131323837616262333230653030
64373535313266303338306634643335663062663832326661663335656230353261313430616661
39383031363564666432366632396632623034373631393862326435326432633964316136343630
36646566356566643231373638626433623539376639303564623034623532316138363262333265
63343135653533373834336661373239643332633338343232323331373738326337626134323864
62343762376137343464373232623562343862663466336661663565363839306461393263353365
30656466353161653865353034643063663839393265383237333466366464636534643833376637
38633037363834643536613366376235313439643638626364333864313065343335383462376665
35386661636133613466626363356331346238626339613866316463383263313038626233656161
34613435333932353739616334653038623362613030623435666235343134303661623434303864
34393163623430646530393461383166663832346263656263336366386132633038353839303363
66623563643736383337623536346535376533353231383735313435393930343064363962373064
62663565616564633637353331333236656562353332353263616137636536323237303266376531
34616538646134373464363039333131633039633033616465383533623432373239353235346630
34383466633862313539373738623065363536306661386662663932636163623830353836383666
63393438313933356431386137316137343130333232316661323432383965333361323838646439
36326564613262346134343135646335653263356664313432366338383763323232376166346132
63623563663030323239326161643165316138326630373737333133363765343462356664646432
61313561653333653837613932626566376666393666396236366163616231623963376532613532
65653435613465323832626461303663343061646466303937343938313434663937346563663037
64323863656238383063326164366166623339306661646137333165313662303030353966333834
62326431363636313932326265633561323336626639636233326161383032313432353664356239
37373065323230326264633965343538386638306163666634646630383639656538316430656232
31646638616137316639383866346562393236373966343935303033626131636463303935626664
34393561333339663235333237656332646165663266623932323439616564656636666238623066
31376139376138653466646434356365333630396236656133306135363639663730316632393165
62396137633064616364626537373663363931356436323731363762633039383137616636366436
61343063366262343166303161326638356637373364663862633936383766333431316435336164
65323133393337323436623563323838356366656438653733333165313262646163303361626335
62616137653137633561633837653330623337356639306564653831333331643335623232306330
32393762633631363539636334323837323237373631633837636536363831363831663534363730
30316233666262613731613435626239303738386537616132613730633935373932323066356131
66393238333432643235346638373339346662363837313336633361323839353164373831396533
33326638643133306461636466623536393536613635663234613166653161613635333339353663
30356134653036396337656261396162643534313231373665653962643065666466363431333738
37626338663738666564663464313731313361353337643565383430643761313638666234626236
64646164353737613661613836336361396264386266363830363733613533303162666366383034
66373432313236613461333337376539306535316435636534396632366639353061613461666436
37343663366239303365626337366263343363306636653531643566623863393234393532373032
39373336356263613432303030643436323730323963613539616663663034386638363335326435
31633434313963356537623231366161353035356634383262623035363734383438666331303530
38313664653063383838663832636264626563323965353536393430323136633439323764363333
61306134353161316533

4
hosts
View File

@@ -1,4 +1,4 @@
[ungrouped]
jade ansible_host=fntz.net ansible_user=alex
jackson ansible_host=direct.jackson.alexav.gg ansible_user=root
jackson ansible_host=direct.jackson.alexav.gg ansible_user=iac
nas ansible_host=172.16.0.29 ansible_user=alex
bear ansible_host=172.16.0.44 ansible_user=iac

146
main.yml
View File

@@ -1,18 +1,27 @@
- hosts: jade
- hosts: bear
roles:
- role: traefik
tags: traefik_deploy
vars:
server: "jade"
server: "bear"
use_cloudflared: true
tasks:
- name: Deploy Tinyauth
import_tasks: tasks/tinyauth.yml
tags: tinyauth_deploy
- name: Deploy Postgres
import_tasks: tasks/postgres.yml
tags: postgres_deploy
- name: Deploy MariaDB
import_tasks: tasks/mariadb.yml
tags: mariadb_deploy
- name: Deploy AdGuard Home
import_tasks: tasks/adguard.yml
tags: adguard_deploy
- name: Deploy Glance
import_tasks: tasks/glance.yml
tags: glance_deploy
- name: Deploy Servarr
import_tasks: tasks/servarr.yml
tags: servarr_deploy
- name: Deploy Dozzle
import_tasks: tasks/dozzle.yml
tags: dozzle_deploy
@@ -22,66 +31,63 @@
- name: Deploy Homebridge
import_tasks: tasks/homebridge.yml
tags: homebridge_deploy
- name: Deploy PiHole
import_tasks: tasks/pihole.yml
tags: pihole_deploy
- name: Deploy PocketID
import_tasks: tasks/pocketid.yml
tags: pocketid_deploy
- name: Deploy NZBGet
import_tasks: tasks/nzbget.yml
tags: nzbget_deploy
- name: Deploy Tautulli
import_tasks: tasks/tautulli.yml
tags: tautulli_deploy
- name: Deploy Tinyauth
import_tasks: tasks/tinyauth.yml
tags: tinyauth_deploy
- name: Deploy Code Server
import_tasks: tasks/codeserver.yml
tags: codeserver_deploy
- name: Deploy Dashdot
import_tasks: tasks/dashdot.yml
tags: dashdot_deploy
- name: Deploy Romm
import_tasks: tasks/romm.yml
tags: romm_deploy
- name: Deploy Owncloud
import_tasks: tasks/owncloud.yml
tags: owncloud_deploy
- name: Deploy Excalidraw
import_tasks: tasks/excalidraw.yml
tags: excalidraw_deploy
- name: Deploy PocketID
import_tasks: tasks/pocketid.yml
tags: pocketid_deploy
- name: Deploy Scrobbling Setup
import_tasks: tasks/scrobbling.yml
tags: scrobbling_deploy
- name: Deploy Vaultwarden
import_tasks: tasks/vaultwarden.yml
tags: vaultwarden_deploy
- name: Deploy Tautulli
import_tasks: tasks/tautulli.yml
tags: tautulli_deploy
- name: Deploy Immich
import_tasks: tasks/immich.yml
tags: immich_deploy
- name: Deploy Drop
import_tasks: tasks/drop.yml
tags: drop_deploy
- name: Deploy Gluetun
import_tasks: tasks/gluetun.yml
tags: gluetun_deploy
- name: Deploy QBittorrent
import_tasks: tasks/qbittorrent.yml
tags: qbittorrent_deploy
- name: Deploy Jackett
import_tasks: tasks/jackett.yml
tags: jackett_deploy
- name: Deploy Plex
import_tasks: tasks/plex.yml
tags: plex_deploy
- name: Deploy ErsatzTV
import_tasks: tasks/ersatztv.yml
tags: ersatztv_deploy
- name: Deploy Frigate
import_tasks: tasks/frigate.yml
tags: frigate_deploy
- name: Deploy Servarr
import_tasks: tasks/servarr.yml
tags: servarr_deploy
- name: Deploy NZBGet
import_tasks: tasks/nzbget.yml
tags: nzbget_deploy
- name: Deploy Uptime Kuma
import_tasks: tasks/uptime-kuma.yml
tags: uptime-kuma_deploy
- name: Deploy CouchDB for obsidian
import_tasks: tasks/obsidian.yml
tags: obsidian_deploy
- name: Deploy Pterodactyl
import_tasks: tasks/pterodactyl.yml
tags: pterodactyl_deploy
- name: Deploy Termix
import_tasks: tasks/termix.yml
tags: termix_deploy
- name: Deploy Romm
import_tasks: tasks/romm.yml
tags: romm_deploy
- name: Deploy Booklore
import_tasks: tasks/booklore.yml
tags: booklore_deploy
- name: Deploy Pelican
import_tasks: tasks/pelican.yml
tags: pelican_deploy
- name: Deploy Docs
import_tasks: tasks/docs.yml
tags: docs_deploy
- name: Deploy Audiobookshelf
import_tasks: tasks/audiobookshelf.yml
tags: audiobookshelf_deploy
- name: Deploy Cloudflared
import_tasks: tasks/cloudflared.yml
tags: cloudflared_deploy
- name: Deploy Gitea Runner
import_tasks: tasks/runner.yml
tags: runner_deploy
- hosts: jackson
@@ -90,8 +96,6 @@
tags: traefik_deploy
vars:
server: "jackson"
- role: fivem
tags: fivem_deploy
tasks:
- name: Deploy Gitea
@@ -106,12 +110,21 @@
- name: Deploy Plausible
import_tasks: tasks/plausible.yml
tags: plausible_deploy
- name: Deploy Owncloud
import_tasks: tasks/owncloud.yml
tags: owncloud_deploy
- name: Deploy Wings
import_tasks: tasks/wings.yml
tags: wings_deploy
- name: Deploy Pelican
import_tasks: tasks/pelican.yml
tags: pelican_deploy
- name: Deploy Database
import_tasks: tasks/mariadb.yml
tags: mariadb_deploy
- name: Deploy Floof
import_tasks: tasks/floof.yml
tags: floof_deploy
- name: Deploy Tinyauth
import_tasks: tasks/tinyauth.yml
tags: tinyauth_deploy
- name: Deploy Cobalt
import_tasks: tasks/cobalt.yml
tags: cobalt_deploy
- hosts: nas
@@ -122,15 +135,6 @@
server: "nas"
tasks:
- name: Deploy Plex
import_tasks: tasks/plex.yml
tags: plex_deploy
- name: Deploy Frigate
import_tasks: tasks/frigate.yml
tags: frigate_deploy
- name: Deploy Ersatz
import_tasks: tasks/ersatztv.yml
tags: ersatztv_deploy
- name: Deploy Wings
import_tasks: tasks/wings.yml
tags: wings_deploy

View File

@@ -12,6 +12,11 @@
dest: "{{ build.git.dest }}"
when: build is defined
- name: Create Docker volume
docker_volume:
name: "{{ volume_name }}"
when: volume_name is defined
- name: Build Docker Image
docker_image:
name: "{{ image.name }}"
@@ -25,12 +30,6 @@
state: present
when: build is defined
- name: Pull latest Docker image
docker_image:
name: "{{ image.name }}"
tag: "{{ image.tag }}"
source: pull
- name: Create Docker Network
docker_network:
name: "{{ network_name }}"
@@ -39,11 +38,22 @@
- name: Create Docker Container
docker_container:
name: "{{ name }}"
image: "{{ image.name }}:{{ image.tag }}"
command: "{{ command | default(omit) }}"
recreate: true
restart_policy: unless-stopped
networks: "{{ networks }}"
restart_policy: always
entrypoint: "{{ entrypoint | default(omit) }}"
shm_size: "{{ shmSize | default(omit) }}"
pull: "{{ build is not defined }}"
published_ports: "{{ published_ports | default(omit) }}"
network_mode: "{{ network_mode | default(omit) }}"
image: "{{ image.name }}:{{ image.tag }}"
etc_hosts: "{{ extra_hosts | default(omit) }}"
command: "{{ command | default(omit) }}"
networks: "{{ networks | default(omit) }}"
volumes: "{{ volumes | default(omit) }}"
env: "{{ env | default(omit) }}"
labels: "{{ labels | default(omit) }}"
healthcheck: "{{ healthcheck | default(omit) }}"
devices: "{{ devices | default(omit) }}"
mounts: "{{ mounts | default(omit) }}"
pid_mode: "{{ pid_mode | default(omit) }}"
privileged: "{{ privileged | default(omit) }}"

View File

@@ -1,48 +0,0 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/gitea"
- "{{ data_dir }}/job"
- name: Check if Act Runner has been downloaded
stat:
path: "{{ data_dir }}/gitea/act_runner"
register: act_runner
- name: Download Gitea Act Runner
get_url:
url: https://dl.gitea.com/act_runner/nightly/act_runner-nightly-linux-amd64
dest: "{{ data_dir }}/gitea"
mode: 0755
when: not act_runner.stat.exists
- name: Copy Gitea Act Runner Config
template:
src: config.yml.j2
dest: "{{ data_dir }}/gitea/config.yml"
- name: Check if Act Runner is a Systemd Service
stat:
path: "/etc/systemd/system/act_runner.service"
register: act_runner_service
- name: Stop & remove systemd service
become: yes
shell: |
systemctl stop act_runner.service &&
rm /etc/systemd/system/act_runner.service
- name: Create Systemd Service
become: yes
template:
src: act_runner.service.j2
dest: "/etc/systemd/system/act_runner.service"
- name: Enable Systemd Service
become: yes
command: systemctl enable act_runner.service
- name: Start Systemd Service
become: yes
command: systemctl start act_runner.service

View File

@@ -1,16 +0,0 @@
[Unit]
Description=Gitea Actions runner
Documentation=https://gitea.com/gitea/act_runner
After=docker.service
[Service]
ExecStart={{ data_dir }}/gitea/act_runner daemon --config={{ data_dir }}/gitea/config.yml
ExecReload=/bin/kill -s HUP $MAINPID
WorkingDirectory={{ data_dir }}/gitea
TimeoutSec=0
RestartSec=10
Restart=always
User=alex
[Install]
WantedBy=multi-user.target

View File

@@ -1,16 +0,0 @@
log:
level: info
runner:
file: .runner
capacity: 1
timeout: 3h
shutdown_timeout: 0s
insecure: false
fetch_timeout: 5s
fetch_interval: 2s
labels:
- "runner:host"
host:
workdir_parent: "{{ data_dir }}/gitea/job"

View File

@@ -25,12 +25,17 @@
template:
src: local-dynamic.yml.j2
dest: "{{ data_dir }}/traefik/dynamic.yml"
when: server == "jade" or server == "nas"
when: server == "jade" or server == "nas" or server == "bear"
- name: Create Traefik Dynamic File (Remote)
template:
src: remote-dynamic.yml.j2
dest: "{{ data_dir }}/traefik/dynamic.yml"
when: server == "jackson"
- name: Create Traefik Dynamic File (Remote 2)
template:
src: remote-ash-1.yml.j2
dest: "{{ data_dir }}/traefik/dynamic.yml"
when: server == "ash-1"
- name: Deploy Traefik Docker Container
docker_container:
@@ -38,6 +43,7 @@
image: traefik
restart_policy: unless-stopped
recreate: true
pull: true
command:
- --providers.file.directory=/config
published_ports:
@@ -52,5 +58,8 @@
- "{{ data_dir }}/traefik/data:/data"
- "{{ data_dir }}/traefik/traefik.yml:/traefik.yml"
- "{{ data_dir }}/traefik/dynamic.yml:/dynamic.yml"
networks:
- name: "{{ docker_network_name }}"
networks: >-
{{
[{'name': docker_network_name}] +
([{'name': 'tunnel'}] if use_cloudflared | default(false) else [])
}}

View File

@@ -12,6 +12,11 @@ entryPoints:
scheme: https
webSecure:
address: ":443"
transport:
respondingTimeouts:
readTimeout: 600s
writeTimeout: 600s
idleTimeout: 180s
serversTransport:
insecureSkipVerify: true
providers:
@@ -30,3 +35,9 @@ certificatesResolvers:
dnsChallenge:
provider: cloudflare
delayBeforeCheck: 10
accessLog:
filters:
statusCodes:
- "200"
- "400-404"
- "500-503"

View File

@@ -26,52 +26,40 @@ http:
- webSecure
tls:
certResolver: letsencrypt
nflproxy:
rule: "Host(`nfl.fntz.net`)"
service: nflproxy
homebridge:
rule: "Host(`bridge.fntz.net`)"
service: homebridge
entryPoints:
- webSecure
tls:
certResolver: letsencrypt
nvr:
rule: "Host(`nvr.fntz.net`)"
service: nvr
middlewares: tinyauth
wings:
rule: "Host(`wings.fntz.net`)"
service: wings
entryPoints:
- webSecure
tls:
certResolver: letsencrypt
iptv:
rule: "Host(`iptv.fntz.net`)"
service: iptv
entryPoints:
- webSecure
tls:
certResolver: letsencrypt
services:
plex:
loadBalancer:
servers:
- url: "http://172.16.0.29:32400"
- url: "http://172.16.0.44:32400"
jtraefik:
loadBalancer:
servers:
- url: "http://jackson:8080/"
- url: "http://100.105.157.6:8080/"
traefik:
loadBalancer:
servers:
- url: "http://jade:8080/"
nflproxy:
- url: "http://172.16.0.44:8080/"
homebridge:
loadBalancer:
servers:
- url: "http://jade:5000/"
nvr:
- url: "http://172.16.0.44:8581/"
wings:
loadBalancer:
servers:
- url: "http://172.16.0.29:5000/"
iptv:
loadBalancer:
servers:
- url: "http://nas:8409/"
- url: "http://172.16.0.44:4000/"
passHostHeader: true

View File

@@ -0,0 +1,15 @@
http:
routers:
wings:
rule: "Host(`ash-1.landite.games`)"
service: wings
entryPoints:
- webSecure
tls:
certResolver: letsencrypt
services:
wings:
loadBalancer:
servers:
- url: "http://5.161.219.50:8090"

View File

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

View File

@@ -7,25 +7,15 @@ def git_diff():
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]
def construct_command(tag = None, host = None):
command = f"ANSIBLE_CONFIG=ansible.cfg /usr/bin/ansible-playbook main.yml --vault-password-file ~/.vault_pass.txt"
if host:
command += f" -l {host}"
if tag:
command += f" --tags {tag}_deploy"
def construct_command(tags):
command = f"ANSIBLE_CONFIG=ansible.cfg /usr/bin/ansible-playbook main.yml --tags={",".join(tags)} --vault-password-file ~/.vault_pass.txt"
print(command)
return command
def deploy(tag = None, host = None):
command = construct_command(tag, host)
if tag:
print(f"Deploying {tag}...\n")
else:
print(f"Deploying {host}...\n")
res = subprocess.run(command, shell=True, stdout=subprocess.DEVNULL)
def deploy(tags):
print(f"[MAIN] Deploying...")
command = construct_command(tags)
res = subprocess.run(command, shell=True)
return res.returncode == 0
def main():
@@ -38,10 +28,10 @@ def main():
"tasks/qbittorrent.yml",
"tasks/jackett.yml"
]
managed_roles = [
"roles/fivem",
"roles/gitea-runner",
"roles/traefik"
ignore_deploys_for = [
"tasks/runner",
"templates/runner",
"roles/docker"
]
# special actions
@@ -54,65 +44,56 @@ def main():
# clean up the diff
new_diff = []
for file in diff:
task_name = f"{file.split("/")[0]}/{file.split("/")[1]}"
split_string = file.split("/")
service_name = split_string[1].split(".")[0] + "_deploy" if "." in split_string[1] else split_string[1] + "_deploy"
# i'm not proud of this either
if not os.path.exists(os.path.join(dir_path, file)):
if "roles" in file and not os.path.exists(os.path.join(dir_path, task_name)) and task_name in managed_roles:
if "roles" in file and not os.path.exists(os.path.join(dir_path, service_name)):
print(f"[MAIN] '{task_name}' role removed, marking for cleanup..")
removed_containers.append(task_name)
removed_containers.append(service_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])
removed_containers.append(service_name)
else:
new_diff.append(file)
if service_name not in ignore_deploys_for and service_name not in new_diff:
new_diff.append(service_name)
deployed = []
failed = []
for task in new_diff:
deployment = deploy(tag=task)
if not deployment:
failed.append(task)
if len(new_diff) > 0:
deployed = deploy(new_diff)
else:
deployed.append(task)
# success, nothing deployed
deployed = True
for task in removed_containers:
print(f"[MAIN] Attempting to remove containers related to '{task}'...")
if len(task.split("/")) > 1:
task_name = task.split("/")[1].split(".")[0]
else:
task_name = task
containers = subprocess.Popen(f"docker container list | grep {task_name}_", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
containers = subprocess.Popen(f'docker ps --filter "name={task_name}" -q', shell=True, stdout=subprocess.PIPE)
for line in containers.stdout:
docker_container_id = line.rstrip().decode('utf8').split(" ")[0]
if docker_container_id and docker_container_id.strip() != "":
print(f"[MAIN] Found Docker container {docker_container_id} related to {task}, removing..")
container_id = line.strip().decode("utf8")
print(f"[MAIN] Found Docker container {container_id} related to {task_name}, removing..")
subprocess.run(f"/usr/bin/docker container stop {container_id}", shell=True)
subprocess.run(f"/usr/bin/docker container rm {container_id}", shell=True)
subprocess.run("/usr/bin/docker image prune -f", shell=True)
subprocess.run("/usr/bin/docker container prune -f", shell=True)
# 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 deployed and len(new_diff) > 0:
print("\n---------------------")
print(" Deployment succeeded!")
print(f" All tasks: {", ".join(deployed)}")
print(f" All tasks: {', '.join(new_diff)}")
print("---------------------\n")
sys.exit(0)
elif len(failed) > 0:
elif not deployed and len(new_diff) > 0:
print("\n---------------------")
print(" Deployment failed!")
print(f" Failed tasks: {", ".join(failed)}")
print(f" All tasks: {", ".join(deployed)}")
print(f" All tasks: {', '.join(new_diff)}")
print("---------------------\n")
sys.exit(1)
elif len(deployed) <= 0:
elif len(new_diff) <= 0:
print("[MAIN] Successfully executed, no tasks required execution")
sys.exit(0)

View File

@@ -10,12 +10,30 @@ if os.path.exists(host_vars_path):
vaults = os.listdir(host_vars_path)
# 1st run - extract ungrouped, global variables
for vault in vaults:
vault_path = os.path.join(host_vars_path, vault)
vault_contents = subprocess.run(f'ansible-vault decrypt "{vault_path}" --vault-password-file ~/.vault_pass.txt --output -', shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
stdout = vault_contents.stdout.strip().splitlines()
for line in stdout:
if line.startswith("#"):
break
elif line.split(":")[0] not in file_contents:
file_contents += f"{line.split(":")[0]}:\n"
# 2nd run - extract service-specific variables
for vault in vaults:
vault_path = os.path.join(host_vars_path, vault)
vault_contents = subprocess.run(f'ansible-vault decrypt "{vault_path}" --vault-password-file ~/.vault_pass.txt --output -', shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
stdout = vault_contents.stdout.strip().splitlines()
has_found_start = False
for line in stdout:
if has_found_start or line.startswith("#"):
if not has_found_start:
has_found_start = True
if line.startswith("#") and line not in file_contents:
file_contents += f"\n{line}\n"

View File

@@ -13,8 +13,8 @@ def search_for_image(image_name):
data = yaml.safe_load(file)
for key in data:
if "docker_image" in key:
if image_name in key["docker_image"]["name"]:
if "vars" in key:
if image_name in key["vars"]["image"]["name"] or image_name == key["vars"]["image"]["name"]:
return f"{task.split(".")[0]}_deploy"
def main():
@@ -26,27 +26,40 @@ def main():
with open("main.yml", 'r') as file:
data = yaml.safe_load(file)
for host in data:
if "tasks" in host:
for task in host['tasks']:
deployable_tags.append(task['tags'])
if len(update_list["images"]) <= 0:
print("No images to update!")
else:
print(f"Updating {update_list["metrics"]["updates_available"]} image(s)..\n")
if len(update_list["images"]) > 0:
already_deployed = []
actually_updatable = []
blacklist = []
for image in update_list["images"]:
if image['result']['has_update']:
if "remote_digest" in image["result"]["info"]:
image_name = image["parts"]["repository"]
ansible_tag = search_for_image(image_name)
if image in blacklist:
print(f"[UPDATE] Ignoring '{image}' due to its blacklist")
elif 'version_update_type' in image['result']['info'] and image['result']['info']['version_update_type'] != "major":
actually_updatable.append({ 'reference': image['reference'], 'repository': image['parts']['repository'] })
elif 'type' in image['result']['info'] and image['result']['info']['type'] == "digest":
actually_updatable.append({ 'reference': image['reference'], 'repository': image['parts']['repository'] })
if ansible_tag and ansible_tag in deployable_tags:
print(f"Updating '{image_name}' ({ansible_tag})..")
subprocess.run(f'docker image pull {image_name}', shell=True)
print(f"Redeploying {len(actually_updatable)} container(s)..")
for image in actually_updatable:
ansible_tag = search_for_image(image['repository'])
print(ansible_tag, image['reference'])
if ansible_tag and ansible_tag in deployable_tags and ansible_tag not in already_deployed:
print(f'[UPDATE] Deploying {ansible_tag}..')
subprocess.run(f'ANSIBLE_CONFIG=ansible.cfg ansible-playbook main.yml --tags {ansible_tag} --vault-password-file=~/.vault_pass.txt', shell=True)
else:
print('[UPDATE] Could not find corresponding task, cleaning up..')
subprocess.run(f"docker image remove {image['reference']}", shell=True)
already_deployed.append(ansible_tag)
print("\nAll images updated, refreshing Cup")
requests.get("https://cup.fntz.net/api/v3/refresh")
else:
print("No images to update!")
if __name__ == "__main__":
main()

27
tasks/adguard.yml Normal file
View File

@@ -0,0 +1,27 @@
---
- name: Deploy AdGuard Home
include_role:
name: docker
vars:
name: adguard
directories:
- "{{ data_dir }}/adguard"
- "{{ data_dir }}/adguard/work"
- "{{ data_dir }}/adguard/conf"
image:
name: adguard/adguardhome
tag: latest
volumes:
- "{{ data_dir }}/adguard/work:/opt/adguardhome/work"
- "{{ data_dir }}/adguard/conf:/opt/adguardhome/conf"
published_ports:
- "53:53/tcp"
- "53:53/udp"
networks:
- name: "homelab"
labels:
traefik.enable: "true"
traefik.http.routers.adguard.rule: Host(`ag.fntz.net`)
traefik.http.routers.adguard.entrypoints: webSecure
traefik.http.routers.adguard.tls.certresolver: letsencrypt
traefik.http.services.adguard.loadbalancer.server.port: "3000"

View File

@@ -9,7 +9,7 @@
- "{{ data_dir }}/api/db"
image:
name: postgres
tag: latest
tag: "17"
networks:
- name: api
volumes:
@@ -40,12 +40,8 @@
networks:
- name: api
- name: "{{ docker_network_name }}"
build:
git:
repo: git@git.alexav.gg:alex/api.git
dest: "{{ data_dir }}/api/app"
image:
name: api
name: git.alexav.gg/alex/api
tag: latest
env:
NODE_ENV: "production"
@@ -58,6 +54,14 @@
STEAM_API_KEY: "{{ API_STEAM_API_KEY }}"
CONTACT_WEBHOOK: "{{ API_CONTACT_WEBHOOK }}"
JWT_KEY: "{{ API_JWT_KEY }}"
DISCORD_PUBLIC_KEY: "{{ API_DISCORD_PUBLIC_KEY }}"
DISCORD_APP_ID: "{{ API_DISCORD_APP_ID }}"
DISCORD_BOT_TOKEN: "{{ API_DISCORD_BOT_TOKEN }}"
MINECRAFT_HOST: "{{ API_MINECRAFT_HOST }}"
MINECRAFT_USER: "{{ API_MINECRAFT_USER }}"
MINECRAFT_PASSWORD: "{{ API_MINECRAFT_PASSWORD }}"
MINECRAFT_DATABASE: "{{ API_MINECRAFT_DATABASE }}"
TMDB_API_KEY: "{{ API_TMDB_TOKEN }}"
labels:
traefik.enable: "true"
traefik.http.routers.aapi.rule: Host(`api.alexav.gg`)

27
tasks/audiobookshelf.yml Normal file
View File

@@ -0,0 +1,27 @@
---
- name: Deploy AudioBookshelf
include_role:
name: docker
vars:
name: audiobookshelf
directories:
- "{{ data_dir }}/audiobookshelf"
- "{{ data_dir }}/audiobookshelf/config"
- "{{ data_dir }}/audiobookshelf/metadata"
image:
name: ghcr.io/advplyr/audiobookshelf
tag: latest
networks:
- name: homelab
volumes:
- "{{ media_path }}/Books/Audiobooks:/audiobooks"
- "{{ data_dir }}/audiobookshelf/config:/config"
- "{{ data_dir }}/audiobookshelf/metadata:/metadata"
env:
TZ: "{{ TZ }}"
labels:
traefik.enable: "true"
traefik.http.routers.audiobookshelf.rule: Host(`abooks.fntz.net`)
traefik.http.routers.audiobookshelf.entrypoints: webSecure
traefik.http.routers.audiobookshelf.tls.certresolver: letsencrypt
traefik.http.services.audiobookshelf.loadbalancer.server.port: "80"

33
tasks/booklore.yml Normal file
View File

@@ -0,0 +1,33 @@
---
- name: Deploy Booklore
include_role:
name: docker
vars:
name: booklore
networks:
- name: homelab
directories:
- "{{ data_dir }}/booklore"
- "{{ data_dir }}/booklore/data"
- "{{ data_dir }}/booklore/books"
image:
name: booklore/booklore
tag: latest
env:
APP_USER_ID: "{{ PUID }}"
APP_GROUP_ID: "{{ PGID }}"
TZ: "{{ TZ }}"
BOOKLORE_PORT: "6060"
DATABASE_URL: jdbc:mariadb://172.16.0.44:3306/booklore
DATABASE_USERNAME: booklore
DATABASE_PASSWORD: "{{ BOOKLORE_DB_PASS }}"
volumes:
- "{{ data_dir }}/booklore/data:/app/data"
- "{{ data_dir }}/booklore/books:/books"
- "{{ media_path }}/Books/Bookdrop:/bookdrop"
labels:
traefik.enable: "true"
traefik.http.routers.booklore.rule: Host(`books.fntz.net`)
traefik.http.routers.booklore.entrypoints: webSecure
traefik.http.routers.booklore.tls.certresolver: letsencrypt
traefik.http.services.booklore.loadbalancer.server.port: "6060"

15
tasks/cloudflared.yml Normal file
View File

@@ -0,0 +1,15 @@
---
- name: Deploy Cloudflared
include_role:
name: docker
vars:
name: cloudflared
image:
name: cloudflare/cloudflared
tag: latest
env:
TUNNEL_TOKEN: "{{ CLOUDFLARED_TUNNEL_TOKEN }}"
command: tunnel run
network_name: "tunnel"
networks:
- name: "tunnel"

26
tasks/cobalt.yml Normal file
View File

@@ -0,0 +1,26 @@
---
- name: Deploy Cobalt
include_role:
name: docker
vars:
name: cobalt
directories:
- "{{ data_dir }}/cobalt"
image:
name: ghcr.io/imputnet/cobalt
tag: 11
env:
API_URL: "https://dl.alexav.gg"
JWT_SECRET: "{{ COBALT_JWT_SECRET }}"
API_AUTH_REQUIRED: "1"
API_KEY_URL: "file:///keys.json"
networks:
- name: "{{ docker_network_name }}"
volumes:
- "{{ data_dir }}/cobalt/keys.json:/keys.json:ro"
labels:
traefik.enable: "true"
traefik.http.routers.cobalt.rule: Host(`dl.alexav.gg`)
traefik.http.routers.cobalt.entrypoints: webSecure
traefik.http.routers.cobalt.tls.certresolver: letsencrypt
traefik.http.services.cobalt.loadbalancer.server.port: "9000"

View File

@@ -1,19 +0,0 @@
---
- name: Deploy Dashdot
include_role:
name: docker
vars:
name: dashdot
image:
name: mauricenino/dashdot
tag: latest
networks:
- name: homelab
volumes:
- "/:/mnt/host:ro"
labels:
traefik.enable: "true"
traefik.http.routers.dash.rule: Host(`stats.fntz.net`)
traefik.http.routers.dash.entrypoints: webSecure
traefik.http.routers.dash.tls.certresolver: letsencrypt
traefik.http.services.dash.loadbalancer.server.port: "3001"

25
tasks/docs.yml Normal file
View File

@@ -0,0 +1,25 @@
---
- name: Deploy Wiki.js
include_role:
name: docker
vars:
name: docs
image:
name: ghcr.io/requarks/wiki
tag: 2
env:
DB_TYPE: "postgres"
DB_HOST: "{{ DOCS_DB_HOST }}"
DB_PORT: "5432"
DB_USER: "wikijs"
DB_PASS: "wikijs"
DB_NAME: "wikijs"
networks:
- name: homelab
labels:
traefik.enable: "true"
traefik.http.routers.docs.rule: Host(`docs.fntz.net`)
traefik.http.routers.docs.entrypoints: webSecure
traefik.http.routers.docs.tls.certresolver: letsencrypt
traefik.http.services.docs.loadbalancer.server.port: "3000"
traefik.http.routers.docs.middlewares: tinyauth

View File

@@ -1,50 +1,14 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/drop"
- "{{ data_dir }}/drop/db"
- name: Deploy Drop
include_role:
name: docker
vars:
name: drop
directories:
- "{{ data_dir }}/drop/app"
- name: Create Drop Network
docker_network:
name: drop
- name: Pull latest Drop Docker Image
docker_image:
image:
name: ghcr.io/drop-oss/drop
tag: v0.3.3
source: pull
- name: Create Drop DB Container
docker_container:
name: drop_postgres
image: postgres:14-alpine
recreate: true
restart_policy: unless-stopped
networks:
- name: drop
healthcheck:
test: pg_isready -d drop -U drop
retries: 5
start_period: 10s
interval: 30s
timeout: 60s
volumes:
- "{{ data_dir }}/drop/db:/var/lib/postgresql/data"
env:
POSTGRES_PASSWORD: "drop"
POSTGRES_USER: "drop"
POSTGRES_DB: "drop"
- name: Create Drop Container
docker_container:
name: drop
image: ghcr.io/drop-oss/drop:latest
recreate: true
restart_policy: unless-stopped
tag: latest
networks:
- name: homelab
- name: drop
@@ -52,7 +16,7 @@
- "{{ media_path }}/Games/Desktop:/library"
- "{{ data_dir }}/drop/app:/data"
env:
DATABASE_URL: "postgres://drop:drop@drop_postgres:5432/drop"
DATABASE_URL: "postgres://drop:drop@172.16.0.25:5432/drop"
GIANT_BOMB_API_KEY: "{{ DROP_GIANT_BOMB_API_KEY }}"
EXTERNAL_URL: "https://games.fntz.net"
labels:

View File

@@ -1,31 +1,26 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy Ersatz
include_role:
name: docker
vars:
name: ersatztv
directories:
- "{{ data_dir }}/ersatz"
- name: Pull latest Docker Image
docker_image:
image:
name: ghcr.io/ersatztv/ersatztv
tag: latest
source: pull
- name: Create Docker Container
docker_container:
name: ersatztv
image: ghcr.io/ersatztv/ersatztv:latest
recreate: true
restart_policy: unless-stopped
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
mounts:
- type: tmpfs
target: /transcode
tmpfs_size: 5G
volumes:
- "{{ data_dir }}/ersatz:/config"
- "{{ media_path }}:{{ media_path }}:ro"
networks:
- name: homelab
published_ports:
- "8409:8409"
volumes:
- "{{ data_dir }}/ersatz:/config"
- "{{ media_path }}:/media"
devices:
- /dev/dri:/dev/dri
labels:
traefik.enable: "true"
traefik.http.routers.iptv.rule: Host(`iptv.fntz.net`)
traefik.http.routers.iptv.entrypoints: webSecure
traefik.http.routers.iptv.tls.certresolver: letsencrypt
traefik.http.services.iptv.loadbalancer.server.port: "8409"

View File

@@ -1,17 +0,0 @@
---
- name: Deploy Excalidraw
include_role:
name: docker
vars:
name: excalidraw
image:
name: excalidraw/excalidraw
tag: latest
networks:
- name: homelab
labels:
traefik.enable: "true"
traefik.http.routers.draw.rule: Host(`draw.fntz.net`)
traefik.http.routers.draw.entrypoints: webSecure
traefik.http.routers.draw.tls.certresolver: letsencrypt
traefik.http.services.draw.loadbalancer.server.port: "80"

23
tasks/floof.yml Normal file
View File

@@ -0,0 +1,23 @@
---
- name: Deploy Floof
include_role:
name: docker
vars:
name: floofs_adventure
directories:
- "{{ data_dir }}/floof"
networks:
- name: "{{ docker_network_name }}"
build:
git:
repo: git@git.alexav.gg:alex/floofs-adventure.git
dest: "{{ data_dir }}/floof"
image:
name: floofs-adventure
tag: latest
labels:
traefik.enable: "true"
traefik.http.routers.dz.rule: Host(`floof.alexav.gg`)
traefik.http.routers.dz.entrypoints: webSecure
traefik.http.routers.dz.tls.certresolver: letsencrypt
traefik.http.services.dz.loadbalancer.server.port: "3001"

View File

@@ -1,37 +1,26 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy Frigate
include_role:
name: docker
vars:
name: frigate
directories:
- "{{ data_dir }}/frigate"
- name: Pull latest Frigate Docker Image
docker_image:
image:
name: ghcr.io/blakeblackshear/frigate
tag: stable
source: pull
- name: Deploy Frigate Docker Container
docker_container:
name: frigate
image: ghcr.io/blakeblackshear/frigate:stable
recreate: true
privileged: true
restart_policy: unless-stopped
published_ports:
- "5000:5000"
- "8555:8555/tcp"
- "8555:8555/udp"
- "8554:8554"
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri
- /dev/kfd
networks:
- name: "{{ docker_network_name }}"
volumes:
- /etc/localtime:/etc/localtime:ro
- "{{ data_dir }}/frigate:/config"
- "{{ FRIGATE_RECORDINGS_PATH }}:/media/frigate"
- "{{ media_path }}/Cameras:/media/frigate"
env:
LIBVA_DRIVER_NAME: radeonsi
labels:
traefik.enable: "true"
traefik.http.routers.frigate.rule: Host(`nvr.fntz.net`)

View File

@@ -1,23 +1,14 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy Gitea
include_role:
name: docker
vars:
name: gitea
directories:
- "{{ data_dir }}/gitea"
- name: Pull latest Gitea Docker Image
docker_image:
image:
name: docker.gitea.com/gitea
tag: latest
source: pull
- name: Create Gitea Docker Container
docker_container:
name: gitea
image: docker.gitea.com/gitea:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: "{{ docker_network_name }}"
volumes:

View File

@@ -14,10 +14,9 @@
networks:
- name: homelab
env:
PIHOLE_TOKEN: "{{ GLANCE_PIHOLE_TOKEN }}"
ADGUARD_USERNAME: "{{ GLANCE_ADGUARD_USERNAME }}"
ADGUARD_PASSWORD: "{{ GLANCE_ADGUARD_PASSWORD }}"
VIDEO_MACHINE: "{{ GLANCE_VIDEO_MACHINE }}"
JELLYFIN_URL: "{{ GLANCE_JELLYFIN_URL }}"
JELLYFIN_TOKEN: "{{ GLANCE_JELLYFIN_TOKEN }}"
volumes:
- "{{ data_dir }}/glance/config:/app/config"
- "{{ data_dir }}/glance/assets:/app/assets"

View File

@@ -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"

View File

@@ -1,30 +1,14 @@
---
- name: Create Folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/homebridge"
- name: Pull latest Homebridge Docker Image
docker_image:
- name: Deploy Homebridge
include_role:
name: docker
vars:
name: homebridge
directories:
- "{{ data_dir }}/homebridge/homebridge"
image:
name: homebridge/homebridge
tag: latest
source: pull
- name: Create Homebridge Docker Container
docker_container:
name: homebridge
image: homebridge/homebridge:latest
restart_policy: unless-stopped
network_mode: host
recreate: true
volumes:
- "{{ data_dir }}/homebridge:/homebridge"
labels:
traefik.enable: "true"
traefik.http.routers.bridge.rule: Host(`bridge.fntz.net`)
traefik.http.routers.bridge.entrypoints: webSecure
traefik.http.routers.bridge.tls.certresolver: letsencrypt
traefik.http.services.bridge.loadbalancer.server.url: "http://{{ TRAEFIK_HOST_IP }}:8581"
traefik.http.routers.bridge.middlewares: tinyauth

View File

@@ -1,34 +1,16 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy Immich DB
include_role:
name: docker
vars:
name: immich_postgres
directories:
- "{{ data_dir }}/immich"
- "{{ data_dir }}/immich/model-cache"
- "{{ data_dir }}/immich/db"
- name: Pull latest Immich Server Docker Image
docker_image:
name: ghcr.io/immich-app/immich-server
tag: v2.1.0
source: pull
- name: Create Immich Redis Docker Container
docker_container:
name: immich_redis
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
restart_policy: unless-stopped
recreate: true
networks:
- name: immich
- name: Create Immich DB Docker Container
docker_container:
name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
restart_policy: unless-stopped
recreate: true
image:
name: ghcr.io/immich-app/postgres
tag: 14-vectorchord0.4.3-pgvectors0.2.0
volumes:
- "{{ data_dir }}/immich/db:/var/lib/postgresql/data"
env:
@@ -38,13 +20,25 @@
POSTGRES_INITDB_ARGS: "--data-checksums"
networks:
- name: immich
- name: Create Immich Server Docker Container
docker_container:
name: immich_server
image: ghcr.io/immich-app/immich-server:v2.1.0
restart_policy: unless-stopped
recreate: true
network_name: immich
- name: Deploy Immich Redis
include_role:
name: docker
vars:
name: immich_redis
image:
name: docker.io/valkey/valkey
tag: 8-bookworm
networks:
- name: immich
- name: Deploy Immich Server
include_role:
name: docker
vars:
name: immich
image:
name: ghcr.io/immich-app/immich-server
tag: v2.1.0
networks:
- name: homelab
- name: immich
@@ -52,6 +46,8 @@
- "{{ IMMICH_UPLOAD_LOCATION }}:/usr/src/app/upload"
- "/etc/localtime:/etc/localtime:ro"
env:
PUID: "{{ PUID }}"
PGID: "{{ PGID }}"
DB_HOSTNAME: "immich_postgres"
REDIS_HOSTNAME: "immich_redis"
DB_PASSWORD: "{{ IMMICH_DB_PASSWORD }}"

View File

@@ -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"

View File

@@ -1,35 +0,0 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/kavita"
- name: Pull latest Kavita Docker Image
docker_image:
name: lscr.io/linuxserver/kavita
tag: latest
source: pull
- name: Deploy Kavita Docker Container
docker_container:
name: kavita
image: lscr.io/linuxserver/kavita
recreate: true
restart_policy: unless-stopped
volumes:
- "{{ data_dir }}/kavita:/config"
- "{{ media_path }}/Books:/books"
env:
PUID: "{{ PUID }}"
PGID: "{{ PGID }}"
TZ: "{{ TZ }}"
networks:
- name: homelab
labels:
traefik.enable: "true"
traefik.http.routers.read.rule: Host(`read.fntz.net`)
traefik.http.routers.read.entrypoints: webSecure
traefik.http.routers.read.tls.certresolver: letsencrypt
traefik.http.services.read.loadbalancer.server.port: "5000"

41
tasks/mariadb.yml Normal file
View File

@@ -0,0 +1,41 @@
---
- name: Deploy MariaDB Database
include_role:
name: docker
vars:
name: mariadb
directories:
- "{{ data_dir }}/db"
- "{{ data_dir }}/db/import"
image:
name: mariadb
tag: latest
published_ports:
- "3306:3306"
volumes:
- "{{ data_dir }}/db:/var/lib/mysql"
- "{{ data_dir }}/db/etc:/etc/mysql"
- "{{ data_dir }}/db/import:/mnt/import"
env:
MARIADB_USER: "{{ MARIADB_DB_USER }}"
MARIADB_ROOT_PASSWORD: "{{ MARIADB_DB_PASSWORD }}"
- name: Deploy PHPMyAdmin
include_role:
name: docker
vars:
name: phpmyadmin
image:
name: phpmyadmin
tag: latest
networks:
- name: "{{ docker_network_name }}"
env:
PMA_HOST: "{{ MARIADB_PMA_HOST }}"
PMA_PORT: "{{ MARIADB_PMA_PORT }}"
labels:
traefik.enable: "true"
traefik.http.routers.pma.rule: Host(`{{ MARIADB_PMA_URL }}`)
traefik.http.routers.pma.entrypoints: webSecure
traefik.http.routers.pma.tls.certresolver: letsencrypt
traefik.http.services.pma.loadbalancer.server.port: "80"

View File

@@ -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"

View File

@@ -1,34 +1,25 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy NZBGet
include_role:
name: docker
vars:
name: nzbget
directories:
- "{{ data_dir }}/nzbget"
- name: Pull latest NZBGet Docker Image
docker_image:
image:
name: lscr.io/linuxserver/nzbget
tag: latest
source: pull
- name: Create NZBGet Docker Container
docker_container:
name: nzbget
image: lscr.io/linuxserver/nzbget:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: homelab
volumes:
- "{{ data_dir }}/nzbget:/config"
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
- "{{ media_path }}/Downloads:/downloads"
env:
NZBGET_USER: "{{ NZBGET_USER }}"
NZBGET_PASS: "{{ NZBGET_PASS }}"
TZ: "{{ TZ }}"
PUID: "{{ PUID }}"
PGID: "{{ PGID }}"
PUID: "1000"
PGID: "1000"
labels:
traefik.enable: "true"
traefik.http.routers.nzb.rule: Host(`nzb.fntz.net`)

View File

@@ -1,36 +0,0 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/obsidian"
- "{{ data_dir }}/obsidian/data"
- "{{ data_dir }}/obsidian/etc"
- name: Pull Docker Image
docker_image:
name: couchdb
tag: latest
source: pull
- name: Create Docker Container
docker_container:
name: couchdb
image: couchdb:latest
recreate: true
restart_policy: unless-stopped
networks:
- name: homelab
volumes:
- "{{ data_dir }}/obsidian/data:/opt/couchdb/data"
- "{{ data_dir }}/obsidian/etc:/opt/couchdb/etc/local.d"
env:
COUCHDB_USER: "{{ COUCHDB_USER }}"
COUCHDB_PASSWORD: "{{ COUCHDB_PASSWORD }}"
labels:
traefik.enable: "true"
traefik.http.routers.couch.rule: Host(`couch.fntz.net`)
traefik.http.routers.couch.entrypoints: webSecure
traefik.http.routers.couch.tls.certresolver: letsencrypt
traefik.http.services.couch.loadbalancer.server.port: "5984"

View File

@@ -1,93 +0,0 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/owncloud"
- "{{ data_dir }}/owncloud/data"
- "{{ data_dir }}/owncloud/db"
- "{{ data_dir }}/owncloud/redis"
- name: Create Owncloud Docker Network
docker_network:
name: owncloud
- name: Pull latest Owncloud Docker Image
docker_image:
name: owncloud/server
tag: "10.15"
source: pull
- name: Create Owncloud DB Docker Container
docker_container:
name: oc_database
image: mariadb:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: owncloud
volumes:
- "{{ data_dir }}/owncloud/db:/var/lib/mysql"
env:
MYSQL_ROOT_PASSWORD: "{{ OWNCLOUD_DB_PASSWORD }}"
MYSQL_DATABASE: "owncloud"
MYSQL_USER: "owncloud"
MYSQL_PASSWORD: "{{ OWNCLOUD_DB_PASSWORD }}"
MARIADB_AUTO_UPGRADE: "1"
command: "--max-allowed-packet=128M --innodb-log-file-size=64M"
healthcheck:
test: "CMD mysqladmin ping -u root --password={{ OWNCLOUD_DB_PASSWORD }}"
interval: 10s
timeout: 5s
retries: 5
- name: Create Owncloud Redis Container
docker_container:
name: oc_redis
image: redis:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: owncloud
command: "--databases 1"
healthcheck:
test: CMD redis-cli ping
interval: 10s
timeout: 5s
retries: 5
volumes:
- "{{ data_dir }}/owncloud/redis:/data"
- name: Create Owncloud Docker Container
docker_container:
name: owncloud
image: owncloud/server:10.15
restart_policy: unless-stopped
recreate: true
networks:
- name: "{{ docker_network_name }}"
- name: owncloud
volumes:
- "{{ data_dir }}/owncloud/data:/mnt/data"
env:
OWNCLOUD_DOMAIN: "{{ OWNCLOUD_APP_URL }}"
OWNCLOUD_TRUSTED_DOMAINS: "{{ OWNCLOUD_APP_URL }}"
OWNCLOUD_DB_TYPE: "mysql"
OWNCLOUD_DB_NAME: "owncloud"
OWNCLOUD_DB_USERNAME: "owncloud"
OWNCLOUD_DB_PASSWORD: "{{ OWNCLOUD_DB_PASSWORD }}"
OWNCLOUD_DB_HOST: "oc_database"
OWNCLOUD_ADMIN_USERNAME: "{{ OWNCLOUD_ADMIN_USERNAME }}"
OWNCLOUD_ADMIN_PASSWORD: "{{ OWNCLOUD_ADMIN_PASSWORD }}"
OWNCLOUD_MYSQL_UTF8MB4: "true"
OWNCLOUD_REDIS_ENBALED: "true"
OWNCLOUD_REDIS_HOST: "oc_redis"
labels:
traefik.enable: "true"
traefik.http.routers.nc.rule: Host(`{{ OWNCLOUD_APP_URL }}`)
traefik.http.routers.nc.entrypoints: webSecure
traefik.http.routers.nc.tls.certresolver: letsencrypt
traefik.http.services.nc.loadbalancer.server.port: "8080"
traefik.http.middlewares.limit.buffering.maxRequestBodyBytes: "1073741824"
traefik.http.routers.nc.middlewares: "limit"

42
tasks/pelican.yml Normal file
View File

@@ -0,0 +1,42 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/pelican"
- name: Create Pelican Caddyfile
template:
src: templates/pelican/Caddyfile
dest: "{{ data_dir }}/pelican/Caddyfile"
- name: Deploy Pelican Panel
include_role:
name: docker
vars:
name: Pelican
image:
name: ghcr.io/pelican-dev/panel
tag: latest
volumes:
- "pelican-data:/pelican-data"
- "pelican-logs:/var/www/html/storage/logs"
- "{{ data_dir }}/pelican/Caddyfile:/etc/caddy/Caddyfile"
etc_hosts:
- "host.docker.internal:host-gateway"
networks:
- name: "{{ docker_network_name }}"
env:
XDG_DATA_HOME: /pelican-data
TRUSTED_PROXIES: "172.21.0.0/16"
APP_URL: "https://{{ PELICAN_APP_URL }}"
ADMIN_EMAIL: "{{ PELICAN_EMAIL }}"
PUID: "{{ PUID }}"
PGID: "{{ PGID }}"
labels:
traefik.enable: "true"
traefik.http.routers.pelican.rule: Host(`{{ PELICAN_APP_URL }}`)
traefik.http.routers.pelican.entrypoints: webSecure
traefik.http.routers.pelican.tls.certresolver: letsencrypt
traefik.http.services.pelican.loadbalancer.server.port: "80"

View File

@@ -1,36 +0,0 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/pihole"
- name: Pull latest PiHole Docker Image
docker_image:
name: pihole/pihole
tag: latest
source: pull
- name: Create PiHole Docker Container
docker_container:
name: pihole
image: pihole/pihole:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: homelab
published_ports:
- "{{ TRAEFIK_HOST_IP }}:53:53/tcp"
- "{{ TRAEFIK_HOST_IP }}:53:53/udp"
volumes:
- "{{ data_dir }}/pihole:/etc/pihole"
env:
FTLCONF_webserver_api_password: "{{ PIHOLE_FTLCONF_WEBSERVER_API_PASSWORD }}"
TZ: "{{ TZ }}"
labels:
traefik.enable: "true"
traefik.http.routers.pihole.rule: Host(`pihole.fntz.net`)
traefik.http.routers.pihole.entrypoints: webSecure
traefik.http.routers.pihole.tls.certresolver: letsencrypt
traefik.http.services.pihole.loadbalancer.server.port: "80"

View File

@@ -3,7 +3,6 @@
file:
path: "{{ item }}"
state: directory
owner: 999
with_items:
- "{{ data_dir }}/plausible"
- "{{ data_dir }}/plausible/app"

View File

@@ -1,29 +1,18 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/plex"
- name: Pull latest Plex Docker Image
docker_image:
- name: Deploy Plex
include_role:
name: docker
vars:
name: plex
image:
name: lscr.io/linuxserver/plex
tag: latest
source: pull
- name: Deploy Plex Docker Container
docker_container:
name: plex
image: lscr.io/linuxserver/plex
network_mode: host
restart_policy: unless-stopped
recreate: true
devices:
- /dev/dri:/dev/dri
env:
PUID: "{{ PUID }}"
PGID: "{{ PGID }}"
PUID: "1000"
PGID: "1000"
TZ: "{{ TZ }}"
VERSION: "docker"
PLEX_CLAIM: "{{ PLEX_CLAIM_TOKEN }}"

View File

@@ -1,28 +1,20 @@
---
- name: Create Folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/pocketid"
- name: Pull latest PocketID Docker Image
docker_image:
name: ghcr.io/pocket-id/pocket-id
tag: v1
source: pull
- name: Create PocketID Docker Container
docker_container:
- name: Deploy PocketID
include_role:
name: docker
vars:
name: pocketid
image: ghcr.io/pocket-id/pocket-id:v1
restart_policy: unless-stopped
recreate: true
directories:
- "{{ data_dir }}/pocketid"
image:
name: ghcr.io/pocket-id/pocket-id
tag: v2
networks:
- name: homelab
volumes:
- "{{ data_dir }}/pocketid:/app/data"
env:
ENCRYPTION_KEY: "{{ POCKETID_ENCRYPTION_KEY }}"
APP_URL: "{{ POCKETID_APP_URL }}"
TRUST_PROXY: "{{ POCKETID_TRUST_PROXY }}"
PUID: "{{ PUID }}"

21
tasks/postgres.yml Normal file
View File

@@ -0,0 +1,21 @@
---
- name: Deploy Postgres
include_role:
name: docker
vars:
name: postgres
image:
name: postgres
tag: 18-alpine
published_ports:
- "5432:5432"
directories:
- "{{ data_dir }}/postgres"
- "{{ data_dir }}/postgres/data"
- "{{ data_dir }}/postgres/import"
volumes:
- "{{ data_dir }}/postgres/data:/var/lib/postgresql/18/docker"
- "{{ data_dir }}/postgres/import:/mnt/import"
env:
POSTGRES_USER: "{{ POSTGRES_USER }}"
POSTGRES_PASSWORD: "{{ POSTGRES_PASSWORD }}"

View File

@@ -64,7 +64,7 @@
restart_policy: unless-stopped
networks:
- name: pterodactyl
- name: homelab
- name: "{{ docker_network_name }}"
volumes:
- "{{ data_dir }}/pterodactyl/nginx:/etc/nginx/http.d"
- "{{ data_dir }}/pterodactyl/logs:/app/storage/logs"
@@ -83,7 +83,7 @@
TRUSTED_PROXIES: "*"
labels:
traefik.enable: "true"
traefik.http.routers.panel.rule: Host(`panel.fntz.net`)
traefik.http.routers.panel.rule: Host(`{{ PTERODACTYL_APP_URL }}`)
traefik.http.routers.panel.entrypoints: webSecure
traefik.http.routers.panel.tls.certresolver: letsencrypt
traefik.http.services.panel.loadbalancer.server.port: "80"

View File

@@ -1,52 +1,19 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy Romm
include_role:
name: docker
vars:
name: romm
directories:
- "{{ data_dir }}/romm"
- "{{ data_dir }}/romm/igdb"
- "{{ data_dir }}/romm/assets"
- "{{ data_dir }}/romm/config"
- "{{ data_dir }}/romm/db"
- name: Pull latest Romm Docker Image
docker_image:
name: rommapp/romm
tag: latest
source: pull
- name: Create Romm DB Docker Container
docker_container:
name: romm-db
image: mariadb:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: romm
volumes:
- "{{ data_dir }}/romm/db:/var/lib/mysql"
env:
MARIADB_ROOT_PASSWORD: romm
MARIADB_DATABASE: romm
MARIADB_USER: romm-user
MARIADB_PASSWORD: romm
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
start_period: 30s
interval: 10s
timeout: 5s
retries: 5
- name: Create Romm Docker Container
docker_container:
name: romm
image: rommapp/romm:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: homelab
- name: romm
image:
name: rommapp/romm
tag: latest
volumes:
- "{{ data_dir }}/romm/igdb:/romm/resources"
- "{{ data_dir }}/romm/redis:/redis-data"
@@ -54,19 +21,19 @@
- "{{ data_dir }}/romm/config:/romm/config"
- "{{ ROMM_LIBRARY_PATH }}:/romm/library"
env:
DB_HOST: romm-db
DB_HOST: 172.16.0.44
DB_NAME: romm
DB_USER: romm-user
DB_USER: rommuser
DB_PASSWD: romm
AUTH_SECRET_KEY: "{{ ROMM_AUTH_SECRET_KEY }}"
ROMM_AUTH_SECRET_KEY: "{{ ROMM_AUTH_SECRET_KEY }}"
IGDB_CLIENT_ID: "{{ ROMM_IGDB_CLIENT_ID }}"
IGDB_CLIENT_SECRET: "{{ ROMM_IGDB_CLIENT_SECRET }}"
OIDC_ENABLED: "{{ ROMM_OIDC_ENABLED }}"
OIDC_PROVIDER: "{{ ROMM_OIDC_PROVIDER }}"
OIDC_CLIENT_ID: "{{ ROMM_OIDC_CLIENT_ID }}"
OIDC_CLIENT_SECRET: "{{ ROMM_OIDC_CLIENT_SECRET }}"
OIDC_REDIRECT_URL: "{{ ROMM_OIDC_REDIRECT_URL }}"
SERVER_APPLICATION_URL: "{{ ROMM_SERVER_APPLICATION_URL }}"
OIDC_REDIRECT_URI: "{{ ROMM_OIDC_REDIRECT_URL }}"
OIDC_SERVER_APPLICATION_URL: "{{ ROMM_SERVER_APPLICATION_URL }}"
labels:
traefik.enable: "true"
traefik.http.routers.emu.rule: Host(`emu.fntz.net`)

26
tasks/runner.yml Normal file
View File

@@ -0,0 +1,26 @@
---
- name: Create Gitea Runner Configuration
template:
src: templates/runner/gitea-runner.yaml.j2
dest: "{{ data_dir }}/gitea/config.yaml"
- name: Deploy Gitea Runner
include_role:
name: docker
vars:
name: gitea-runner
directories:
- "{{ data_dir }}/gitea"
image:
name: docker.io/gitea/act_runner
tag: nightly
network_mode: host
volumes:
- "{{ data_dir }}/gitea/config.yaml:/config.yaml"
- "/var/run/docker.sock:/var/run/docker.sock"
env:
CONFIG_FILE: "/config.yaml"
GITEA_INSTANCE_URL: "{{ GITEA_INSTANCE_URL }}"
GITEA_RUNNER_REGISTRATION_TOKEN: "{{ GITEA_RUNNER_REGISTRATION_TOKEN }}"
GITEA_RUNNER_NAME: "runner"
GITEA_RUNNER_LABELS: "runner:host"

62
tasks/scrobbling.yml Normal file
View File

@@ -0,0 +1,62 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/scrobbling"
- "{{ data_dir }}/scrobbling/koito"
- "{{ data_dir }}/scrobbling/multi-scrobbler"
- name: Create Scrobbler Configuration
template:
src: templates/scrobbling/lastfm.json.j2
dest: "{{ data_dir }}/scrobbling/multi-scrobbler/lastfm.json"
- name: Deploy Kotio
include_role:
name: docker
vars:
name: scrobbling_kotio
network_name: scrobbling
networks:
- name: scrobbling
- name: homelab
image:
name: gabehf/koito
tag: latest
env:
KOITO_DATABASE_URL: "postgres://koito:{{ KOTIO_DB_PASS }}@172.16.0.44:5432/koito"
KOITO_ALLOWED_HOSTS: koito.fntz.net
volumes:
- "{{ data_dir }}/scrobbling/koito:/etc/koito"
labels:
traefik.enable: "true"
traefik.http.routers.kotio.rule: Host(`koito.fntz.net`)
traefik.http.routers.kotio.entrypoints: webSecure
traefik.http.routers.kotio.tls.certresolver: letsencrypt
traefik.http.services.kotio.loadbalancer.server.port: "4110"
- name: Deploy Multi-Scrobbler
include_role:
name: docker
vars:
name: scrobbling_multi-scrobbler
image:
name: ghcr.io/foxxmd/multi-scrobbler
tag: latest
networks:
- name: scrobbling
- name: homelab
volumes:
- "{{ data_dir }}/scrobbling/multi-scrobbler:/config"
env:
KOITO_TOKEN: "{{ SCROBBLER_KOITO_TOKEN }}"
KOITO_USER: "{{ SCROBBLER_KOITO_USER }}"
KOITO_URL: "{{ SCROBBLER_KOITO_URL }}"
labels:
traefik.enable: "true"
traefik.http.routers.scrobbler.rule: Host(`scrobbler.fntz.net`)
traefik.http.routers.scrobbler.entrypoints: webSecure
traefik.http.routers.scrobbler.tls.certresolver: letsencrypt
traefik.http.services.scrobbler.loadbalancer.server.port: "9078"

View File

@@ -1,45 +1,26 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy Radarr
include_role:
name: docker
vars:
name: servarr_radarr
directories:
- "{{ data_dir }}/servarr"
- "{{ data_dir }}/servarr/sonarr_config"
- "{{ data_dir }}/servarr/radarr_config"
- "{{ data_dir }}/servarr/lidarr_config"
- name: Pull latest Radarr Docker Image
docker_image:
image:
name: lscr.io/linuxserver/radarr
tag: latest
source: pull
- name: Pull latest Sonarr Docker Image
docker_image:
name: lscr.io/linuxserver/sonarr
tag: latest
source: pull
- name: Pull latest Lidarr Docker Image
docker_image:
name: lscr.io/linuxserver/lidarr
tag: latest
source: pull
- name: Deploy Radarr Container
docker_container:
name: radarr
image: lscr.io/linuxserver/radarr:latest
restart_policy: unless-stopped
recreate: true
volumes:
- "{{ data_dir }}/servarr/radarr_config:/config"
- "{{ SERVARR_MEDIA_PATH }}:/media"
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
- "{{ media_path }}:/media"
- "{{ media_path }}/Downloads:/downloads"
networks:
- name: homelab
env:
PUID: "{{ PUID }}"
PGID: "{{ PGID }}"
PUID: "1000"
PGID: "1000"
TZ: "{{ TZ }}"
labels:
traefik.enable: "true"
@@ -48,19 +29,21 @@
traefik.http.routers.radarr.tls.certresolver: letsencrypt
traefik.http.services.radarr.loadbalancer.server.port: "7878"
- name: Deploy Sonarr Container
docker_container:
name: sonarr
image: lscr.io/linuxserver/sonarr:latest
restart_policy: unless-stopped
recreate: true
- name: Deploy Sonarr
include_role:
name: docker
vars:
name: servarr_sonarr
image:
name: lscr.io/linuxserver/sonarr
tag: latest
volumes:
- "{{ data_dir }}/servarr/sonarr_config:/config"
- "{{ SERVARR_MEDIA_PATH }}:/data"
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
- "{{ media_path }}:/data"
- "{{ media_path }}/Downloads:/downloads"
env:
PUID: "{{ PUID }}"
PGID: "{{ PGID }}"
PUID: "1000"
PGID: "1000"
TZ: "{{ TZ }}"
networks:
- name: homelab
@@ -70,26 +53,3 @@
traefik.http.routers.sonarr.entrypoints: webSecure
traefik.http.routers.sonarr.tls.certresolver: letsencrypt
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
- name: Deploy Lidarr Container
docker_container:
name: lidarr
image: lscr.io/linuxserver/lidarr:latest
restart_policy: unless-stopped
recreate: true
env:
PUID: "{{ PUID }}"
PGID: "{{ PGID }}"
TZ: "{{ TZ }}"
volumes:
- "{{ data_dir }}/servarr/lidarr_config:/config"
- "{{ SERVARR_MEDIA_PATH }}:/media"
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
networks:
- name: homelab
labels:
traefik.enable: "true"
traefik.http.routers.lidarr.rule: Host(`lidarr.fntz.net`)
traefik.http.routers.lidarr.entrypoints: webSecure
traefik.http.routers.lidarr.tls.certresolver: letsencrypt
traefik.http.services.lidarr.loadbalancer.server.port: "8686"

View File

@@ -1,34 +1,20 @@
---
- name: "Create file structure"
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy Storage API
include_role:
name: docker
vars:
name: storage-api
directories:
- "{{ data_dir }}/storage-api"
- "{{ data_dir }}/storage-api/app"
- "{{ data_dir }}/storage-api/files"
- name: "Clone latest Storage API"
image:
name: storage-api
tag: latest
build:
git:
repo: git@git.alexav.gg:alex/storage-api.git
dest: "{{ data_dir }}/storage-api/app"
- name: "Build Storage API Docker Image"
docker_image:
name: storage-api
tag: "latest"
build:
path: "{{ data_dir }}/storage-api/app"
dockerfile: Dockerfile
source: build
state: present
- name: Deploy Storage API Container
docker_container:
name: storage_api
image: storage-api:latest
recreate: true
restart_policy: unless-stopped
networks:
- name: "{{ docker_network_name }}"
volumes:

View File

@@ -1,23 +1,14 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy Tautulli
include_role:
name: docker
vars:
name: tautulli
directories:
- "{{ data_dir }}/tautulli"
- name: Pull latest Tautulli Docker Image
docker_image:
image:
name: ghcr.io/tautulli/tautulli
tag: latest
source: pull
- name: Create Tautulli Docker Container
docker_container:
name: tautulli
image: ghcr.io/tautulli/tautulli
restart_policy: unless-stopped
recreate: true
networks:
- name: homelab
volumes:

View File

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

View File

@@ -1,18 +1,16 @@
---
- name: Pull latest Tinyauth Docker Image
docker_image:
- name: Deploy Tinyauth
include_role:
name: docker
vars:
name: tinyauth
image:
name: ghcr.io/steveiliop56/tinyauth
tag: v4
source: pull
- name: Create Tinyauth Docker Container
docker_container:
name: tinyauth
image: ghcr.io/steveiliop56/tinyauth:v4
restart_policy: unless-stopped
recreate: true
networks:
- name: homelab
- name: "{{ docker_network_name }}"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
env:
USERS: "{{ TINYAUTH_USERS }}"
SECRET: "{{ TINYAUTH_SECRET }}"
@@ -28,11 +26,9 @@
OAUTH_WHITELIST: "{{ TINYAUTH_OAUTH_WHITELIST }}"
APP_TITLE: "{{ TINYAUTH_APP_TITLE }}"
BACKGROUND_IMAGE: "{{ TINYAUTH_BACKGROUND_IMAGE }}"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
labels:
traefik.enable: "true"
traefik.http.routers.tinyauth.rule: Host(`auth.fntz.net`)
traefik.http.routers.tinyauth.rule: Host(`{{ TINYAUTH_HOSTNAME }}`)
traefik.http.routers.tinyauth.entrypoints: webSecure
traefik.http.routers.tinyauth.tls.certresolver: letsencrypt
traefik.http.middlewares.tinyauth.forwardauth.address: http://tinyauth:3000/api/auth/traefik

View File

@@ -1,23 +1,14 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy Uptime Kuma
include_role:
name: docker
vars:
name: uptime-kuma
directories:
- "{{ data_dir }}/uptime-kuma"
- name: Pull latest Uptime Kuma Docker Image
docker_image:
image:
name: louislam/uptime-kuma
tag: latest
source: pull
- name: Create Uptime Kuma Docker Container
docker_container:
name: uptime-kuma
image: louislam/uptime-kuma
restart_policy: unless-stopped
recreate: true
networks:
- name: homelab
volumes:

View File

@@ -1,23 +1,14 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- name: Deploy Vaultwarden
include_role:
name: docker
vars:
name: vaultwarden
directories:
- "{{ data_dir }}/vaultwarden"
- name: Pull latest Vaultwarden Docker Image
docker_image:
image:
name: vaultwarden/server
tag: latest
source: pull
- name: Create Vaultwarden Docker Container
docker_container:
name: vaultwarden
image: vaultwarden/server:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: homelab
volumes:

View File

@@ -0,0 +1,29 @@
auth_enabled: false
server:
http_listen_port: 3100
common:
path_prefix: /loki
storage:
filesystem:
chunks_directory: /loki/chunks
rules_directory: /loki/rules
replication_factor: 1
ring:
kvstore:
store: inmemory
schema_config:
configs:
- from: 2020-10-24
store: tsdb
object_store: filesystem
schema: v13
index:
prefix: index_
period: 24h
storage_config:
filesystem:
directory: /loki/chunks

View File

@@ -0,0 +1,14 @@
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["monitoring_prometheus:9090"]
- job_name: "node-exporter"
static_configs:
- targets: ["172.16.0.44:9100"]
- job_name: "cadvisor"
static_configs:
- targets: ["monitoring_cadvisor:8080"]

View File

@@ -0,0 +1,63 @@
server:
http_listen_port: 9080
positions:
filename: /tmp/positions.yaml
clients:
- url: http://monitoring_loki:3100/loki/api/v1/push
scrape_configs:
- job_name: docker
docker_sd_configs:
- host: unix:///var/run/docker.sock
refresh_interval: 5s
relabel_configs:
# Keep only running containers
- source_labels: ['__meta_docker_container_id']
target_label: container_id
# Container name (strips leading slash)
- source_labels: ['__meta_docker_container_name']
regex: '/(.+)'
target_label: container_name
# Compose project name
- source_labels: ['__meta_docker_container_label_com_docker_compose_project']
target_label: compose_project
# Compose service name
- source_labels: ['__meta_docker_container_label_com_docker_compose_service']
target_label: compose_service
# Image name
- source_labels: ['__meta_docker_container_image']
target_label: image
# Custom labels - grab any label starting with "logging."
# e.g. logging.env=production becomes env=production
- regex: '__meta_docker_container_label_logging_(.+)'
action: labelmap
replacement: '$1'
# Drop containers with logging=disabled label
- source_labels: ['__meta_docker_container_label_logging']
regex: 'disabled'
action: drop
pipeline_stages:
# Docker JSON log format parsing
- json:
expressions:
output: log
stream: stream
timestamp: time
# Use Docker's timestamp
- timestamp:
source: timestamp
format: RFC3339Nano
# Output just the log line
- output:
source: output

View File

@@ -0,0 +1,14 @@
{
admin off
servers {
trusted_proxies static private_ranges
}
}
:80 {
root * /var/www/html/public
encode gzip
php_fastcgi 127.0.0.1:9000
file_server
}

View File

@@ -0,0 +1,23 @@
log:
level: info
runner:
file: .runner
capacity: 1
timeout: 3h
shutdown_timeout: 0s
insecure: false
fetch_timeout: 5s
fetch_interval: 2s
labels:
- "ubuntu-latest:docker://catthehacker/ubuntu:act-latest"
- "ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04"
- "ansible:docker://git.alexav.gg/alex/setup-ansible:latest"
container:
network: "host"
privileged: true
force_pull: true
force_rebuild: false
require_docker: false
docker_timeout: 0s

View File

@@ -0,0 +1,12 @@
[
{
"name": "lastFm",
"enable": true,
"configureAs": "source",
"data": {
"apiKey": "{{ SCROBBLER_LASTFM_TOKEN }}",
"secret": "{{ SCROBBLER_LASTFM_SECRET }}",
"redirectUri": "https://scrobbler.fntz.net/lastfm/callback"
}
}
]