764 lines
14 KiB
TOML
764 lines
14 KiB
TOML
[[server]]
|
|
name = "Synology"
|
|
[server.config]
|
|
address = "https://172.24.3.23:8120"
|
|
enabled = true
|
|
|
|
##
|
|
|
|
[[server]]
|
|
name = "unraid"
|
|
[server.config]
|
|
enabled = true
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "automation"
|
|
[stack.config]
|
|
server = "unraid"
|
|
linked_repo = "compose-automation"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
env_file_path = "n8n.env"
|
|
additional_env_files = ["n8n.env"]
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "dashboards"
|
|
[stack.config]
|
|
server = "unraid"
|
|
poll_for_updates = true
|
|
linked_repo = "compose-dashboards"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
additional_env_files = ["timezone.env"]
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "homebox"
|
|
[stack.config]
|
|
server = "unraid"
|
|
poll_for_updates = true
|
|
linked_repo = "compose-homebox"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "icloud_pd"
|
|
[stack.config]
|
|
server = "unraid"
|
|
linked_repo = "compose-icloudpd"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "immich"
|
|
[stack.config]
|
|
server = "unraid"
|
|
poll_for_updates = true
|
|
linked_repo = "compose-immich"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
additional_env_files = ["immich.env", "immich-frame.env"]
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "makemkv"
|
|
[stack.config]
|
|
server = "unraid"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
linked_repo = "compose-makemkv"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "manyfold"
|
|
[stack.config]
|
|
server = "unraid"
|
|
linked_repo = "compose-manyfold"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
env_file_path = "manyfold.env"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "media-streaming"
|
|
[stack.config]
|
|
server = "unraid"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
linked_repo = "compose-media-streaming"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "media_apps"
|
|
[stack.config]
|
|
server = "unraid"
|
|
project_name = "media_apps"
|
|
poll_for_updates = true
|
|
linked_repo = "compose-Media_Apps"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
additional_env_files = ["karakeep.env"]
|
|
environment = """
|
|
# VARIABLE = value
|
|
"""
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "obsidian-sync"
|
|
[stack.config]
|
|
server = "unraid"
|
|
poll_for_updates = true
|
|
linked_repo = "compose-obsidian-sync"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
additional_env_files = ["andrew-obsidian-vault.env"]
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "ossint-web-check"
|
|
[stack.config]
|
|
server = "unraid"
|
|
poll_for_updates = true
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
linked_repo = "compose-OSSINT-Webcheck"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "paperless-ngx"
|
|
[stack.config]
|
|
server = "unraid"
|
|
linked_repo = "compose-paperless-ngx"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
additional_env_files = ["stack.env"]
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "resilio-sync"
|
|
[stack.config]
|
|
server = "unraid"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
linked_repo = "compose-resilio-sync"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "romm"
|
|
[stack.config]
|
|
server = "unraid"
|
|
poll_for_updates = true
|
|
auto_update_all_services = true
|
|
linked_repo = "compose-romm"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "rustdesk"
|
|
[stack.config]
|
|
server = "unraid"
|
|
poll_for_updates = true
|
|
linked_repo = "compose-rustdesk"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "servarr"
|
|
[stack.config]
|
|
server = "unraid"
|
|
poll_for_updates = true
|
|
linked_repo = "compose-servarr"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
additional_env_files = ["timezone.env"]
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "swag"
|
|
[stack.config]
|
|
server = "unraid"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
linked_repo = "compose-swag"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "traefik"
|
|
[stack.config]
|
|
server = "unraid"
|
|
poll_for_updates = true
|
|
linked_repo = "compose-reverseproxy"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
env_file_path = "traefik.env"
|
|
environment = """
|
|
TZ=US/New_York
|
|
CF_API_EMAIL=andrew_amason@live.com
|
|
CLOUDFLARE_DNS_API_TOKEN=YrGr8Q2iLJ-Ui_bpSxreYJ7D6T8YJOFOj7A4eYDq
|
|
"""
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "uptime-kuma"
|
|
[stack.config]
|
|
server = "unraid"
|
|
project_name = "uptime-kuma"
|
|
linked_repo = "compose-uptime-kuma"
|
|
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
|
|
additional_env_files = ["uptime.env"]
|
|
ignore_services = ["signal-cli-rest-api"]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "audiobookshelf"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "audiobookshelf"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "cloudflare-ddns"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "cloudflare-ddns"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "dashy"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "dashy"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "flaresolverr"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "flaresolverr"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "freshrss"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "freshrss"
|
|
dockerfile_path = "Docker/Dockerfile"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "glance"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "Glance"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "heimdall"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "Heimdall"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "homebox"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "homebox"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "icloudpd"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "icloudpd"
|
|
dockerfile_path = "icloudpd.dockerfile"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "swag"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "swag"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[build]]
|
|
name = "web-check"
|
|
[build.config]
|
|
builder = "local"
|
|
linked_repo = "web-check"
|
|
image_registry = [
|
|
{ domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" }
|
|
]
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "Glance"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "glanceapp/glance"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "Heimdall"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "linuxserver/docker-heimdall"
|
|
branch = "master"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "Master_Resource_Sync"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea:3000"
|
|
git_https = false
|
|
git_account = "andrewamason"
|
|
repo = "andrewamason/resources"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "audiobookshelf"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "advplyr/audiobookshelf"
|
|
branch = "master"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "cloudflare-ddns"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "oznu/cloudflare-ddns"
|
|
branch = "master"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-Media_Apps"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/Media_Apps"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-OSSINT-Webcheck"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/OSSINT-Webcheck"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-automation"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/automation"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-dashboards"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/Dashboards"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-homebox"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/HomeBox"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-icloudpd"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/iCloud_PD"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-immich"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/immich"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-makemkv"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/makemkv"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-manyfold"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/manyfold"
|
|
env_file_path = "manyfold.env"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-media-streaming"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/Media-Streaming"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-obsidian-sync"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/obsidian-sync"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-paperless-ngx"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/paperless-ngx"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-repoflow"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/RepoFlow"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-resilio-sync"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/Resilio-Sync"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-reverseproxy"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/reverse-proxy"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-romm"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/Romm"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-rustdesk"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/RustDesk"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-servarr"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/servarr"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-swag"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea:3000"
|
|
git_https = false
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/swag"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "compose-uptime-kuma"
|
|
[repo.config]
|
|
server = "unraid"
|
|
git_provider = "gitea.andrewamason.tech"
|
|
git_account = "andrewamason"
|
|
repo = "HomeLab/uptime-kuma"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "dashy"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "lissy93/dashy"
|
|
branch = "master"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "flaresolverr"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "flaresolverr/flaresolverr"
|
|
branch = "master"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "freshrss"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "FreshRSS/FreshRSS"
|
|
branch = "latest"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "homebox"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "sysadminsmedia/homebox"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "icloudpd"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "boredazfcuk/docker-icloudpd"
|
|
branch = "master"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "swag"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "linuxserver/docker-swag"
|
|
branch = "master"
|
|
|
|
##
|
|
|
|
[[repo]]
|
|
name = "web-check"
|
|
[repo.config]
|
|
server = "unraid"
|
|
builder = "local"
|
|
git_account = "andrewamason"
|
|
repo = "lissy93/web-check"
|
|
branch = "master"
|
|
|
|
##
|
|
|
|
[[action]]
|
|
name = "Deploy if Changed"
|
|
[action.config]
|
|
file_contents = """
|
|
// Same as BatchDeployStacksIfChanged, but with an exclusion filter
|
|
console.log('Deploying all non-excluded stacks...\n');
|
|
|
|
// Get Tag Id. The API should throw if it's not found, but we employ safety checks just in case
|
|
const exclusionTagId = (await komodo.read("GetTag", { tag: "ad-hoc" }))?._id?.$oid ?? null; // YOUR TAG HERE
|
|
if (!exclusionTagId)
|
|
console.log('Exclusion tag not found!\n');
|
|
|
|
// Deploy all stacks, minus the excluded ones
|
|
const allStacks = await komodo.read("ListStacks", {});
|
|
for(const stack of allStacks) {
|
|
const name = stack.name;
|
|
const id = stack.id;
|
|
const tags = stack.tags;
|
|
|
|
if(tags.includes(exclusionTagId)) {
|
|
console.log('Skipping stack', name, '(excuded)')
|
|
continue;
|
|
}
|
|
|
|
console.log('Deploying', name)
|
|
await komodo.execute("DeployStackIfChanged", {
|
|
stack: id,
|
|
});
|
|
}
|
|
"""
|
|
|
|
##
|
|
|
|
[[action]]
|
|
name = "Global Auto Update"
|
|
[action.config]
|
|
schedule = "Run every day at 2:00 AM"
|
|
schedule_timezone = "America/New_York"
|
|
file_contents = """
|
|
|
|
|
|
// Get Tag Id. The API should throw if it's not found, but we employ safety checks just in case
|
|
|
|
// Deploy all stacks, minus the excluded ones
|
|
console.log('GlobalAutoUpdate');
|
|
await komodo.execute('GlobalAutoUpdate', {server: "unraid"});
|
|
"""
|
|
|
|
##
|
|
|
|
[[action]]
|
|
name = "Prune Images"
|
|
[action.config]
|
|
schedule = "Every Sunday at noon"
|
|
schedule_timezone = "America/New_York"
|
|
file_contents = """
|
|
|
|
|
|
// Get Tag Id. The API should throw if it's not found, but we employ safety checks just in case
|
|
|
|
// Deploy all stacks, minus the excluded ones
|
|
console.log('PruneImages');
|
|
await komodo.execute('PruneImages', {server: "unraid"});
|
|
"""
|
|
|
|
##
|
|
|
|
[[builder]]
|
|
name = "local"
|
|
[builder.config]
|
|
type = "Server"
|
|
params.server_id = "unraid"
|
|
|
|
##
|
|
|
|
[[builder]]
|
|
name = "synology"
|
|
[builder.config]
|
|
type = "Server"
|
|
params.server_id = "Synology"
|
|
|
|
##
|
|
|
|
[[resource_sync]]
|
|
name = "Master Resource Sync"
|
|
[resource_sync.config]
|
|
linked_repo = "Master_Resource_Sync"
|
|
resource_path = ["master_sync.toml"]
|
|
managed = true
|
|
delete = true |