Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ab4d6c2242 |
@@ -1,58 +0,0 @@
|
|||||||
name: List of Services README Generation
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: 30 */2 * * *
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
readme-services:
|
|
||||||
name: Generate Services List
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
||||||
with:
|
|
||||||
ref: 'main'
|
|
||||||
|
|
||||||
- name: Install yq
|
|
||||||
uses: dcarbone/install-yq-action@4075b4dca348d74bd83f2bf82d30f25d7c54539b # v1.3.1
|
|
||||||
|
|
||||||
- name: Generate system info
|
|
||||||
id: gen-sysinfo
|
|
||||||
uses: appleboy/ssh-action@v1.2.3
|
|
||||||
with:
|
|
||||||
host: 192.168.1.254
|
|
||||||
username: charish
|
|
||||||
port: 22
|
|
||||||
key: ${{ secrets.RUNNER_SSH_PRIVATE_KEY }}
|
|
||||||
script: neofetch
|
|
||||||
|
|
||||||
- name: Generate service list
|
|
||||||
run: |
|
|
||||||
yq 'explode(.) | .services | to_entries | map({"service": .key, "image": .value.image, "description": (.value.labels."homepage.description" // "")})' docker-compose.yml > services.yml
|
|
||||||
|
|
||||||
- name: Generate Markdown Table
|
|
||||||
uses: gazab/create-markdown-table@6686233d7008e8d8b9d4bbdbfd1fb1ae510019f0 # v1.0.7
|
|
||||||
id: service-table
|
|
||||||
with:
|
|
||||||
file: ./services.yml
|
|
||||||
|
|
||||||
- name: Regenerate README
|
|
||||||
run: |
|
|
||||||
# Insert system info as a code block
|
|
||||||
echo '```' > README.md
|
|
||||||
echo "${{ steps.gen-sysinfo.outputs.stdout }}" >> README.md
|
|
||||||
echo '```' >> README.md
|
|
||||||
echo -e "\n\n" >> README.md
|
|
||||||
|
|
||||||
echo "# List of Services" >> README.md
|
|
||||||
echo -e "\n\n" >> README.md
|
|
||||||
echo "${{ steps.service-table.outputs.table }}" >> README.md
|
|
||||||
|
|
||||||
- name: Add/Commit README.md
|
|
||||||
id: commit-readme
|
|
||||||
uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4
|
|
||||||
with:
|
|
||||||
message: "chore: Update README"
|
|
||||||
add: "README.md"
|
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
name: Gitea Branch PR, SonarQube Analyze, and Merge Workflow
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches-ignore:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# Job 1: Check if PR exists and create one if the branch is new
|
||||||
|
check-and-create-pr:
|
||||||
|
name: Check and Create PR
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: PR list
|
||||||
|
id: list-prs
|
||||||
|
run: |
|
||||||
|
pr_check=$(curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/main/${{ github.ref_name }} \
|
||||||
|
-X 'GET' \
|
||||||
|
-H 'Accept: application/json' \
|
||||||
|
-H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \
|
||||||
|
-sS | jq '{index: .number, state: .state}')
|
||||||
|
pr_state=$(echo ${pr_check} | jq -r '.state')
|
||||||
|
|
||||||
|
- name: Create PR
|
||||||
|
if: steps.list-prs.outputs.pr_state != 'open'
|
||||||
|
uses: arifer612/Gitea-PR-action@v1.2.0
|
||||||
|
with:
|
||||||
|
url: ${{ gitea.server_url }}
|
||||||
|
token: ${{ secrets.BOT_GITEA_TOKEN }}
|
||||||
|
pr-label: 'auto-deploy-pr'
|
||||||
|
|
||||||
|
docker-compose-test:
|
||||||
|
name: Docker Compose Test
|
||||||
|
needs: [check-and-create-pr]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Generate ephemeral .env compose file
|
||||||
|
id: generate-env-file-pr
|
||||||
|
run: |
|
||||||
|
echo "${{ secrets.RINOA_ENV }}" > .env
|
||||||
|
|
||||||
|
- name: Docker Compose Lint
|
||||||
|
uses: yu-ichiro/spin-up-docker-compose-action@v1
|
||||||
|
with:
|
||||||
|
file: docker-compose.yml
|
||||||
|
pull: true
|
||||||
|
pull-opts: --dry-run
|
||||||
|
up: true
|
||||||
|
up-opts: --dry-run -d --remove-orphans
|
||||||
|
env:
|
||||||
|
DOCKER_HOST: tcp://dockerproxy:2375
|
||||||
|
|
||||||
|
cloudflare-dns-setup:
|
||||||
|
name: Cloudflare DNS Setup
|
||||||
|
needs: [docker-compose-test]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install jq
|
||||||
|
uses: dcarbone/install-jq-action@v3.0.1
|
||||||
|
|
||||||
|
- name: Install yq
|
||||||
|
uses: dcarbone/install-yq-action@v1
|
||||||
|
|
||||||
|
- name: Install flarectl
|
||||||
|
uses: supplypike/setup-bin@v4
|
||||||
|
with:
|
||||||
|
uri: 'https://github.com/cloudflare/cloudflare-go/releases/download/v0.113.0/flarectl_0.113.0_linux_amd64.tar.gz'
|
||||||
|
name: 'flarectl'
|
||||||
|
version: '0.113.0'
|
||||||
|
|
||||||
|
- name: Grab Subdomains from Docker Compose & Cloudflare
|
||||||
|
id: grab-subdomains
|
||||||
|
env:
|
||||||
|
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
||||||
|
CF_API_EMAIL: ${{ secrets.CF_API_EMAIL }}
|
||||||
|
run: |
|
||||||
|
echo "Grabbing subdomains from docker-compose.yml..."
|
||||||
|
yq '.services[].labels.swag_url' docker-compose.yml | egrep -v 'null' | sed -e 's|"||g' | awk -F'.' '{print $1}' | sort > compose_subdomains.txt
|
||||||
|
echo "Grabbing subdomains from Cloudflare..."
|
||||||
|
flarectl --json dns list --zone "trez.wtf" --type=CNAME --content "trez.wtf" | jq '.[].Name' | sed -e 's|"||g' | awk -F"." '{print $1}' | sort > cloudflare_subdomains.txt
|
||||||
|
|
||||||
|
- name: Compare Subdomains
|
||||||
|
id: compare-subdomains
|
||||||
|
uses: LouisBrunner/diff-action@v2.2.0
|
||||||
|
with:
|
||||||
|
old: compose_subdomains.txt
|
||||||
|
new: cloudflare_subdomains.txt
|
||||||
|
mode: addition
|
||||||
|
tolerance: mixed-better
|
||||||
|
output: domain_compare.txt
|
||||||
|
|
||||||
|
- name: Create Subdomains
|
||||||
|
if: steps.compare-subdomains.outputs.output != ''
|
||||||
|
env:
|
||||||
|
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
||||||
|
CF_API_EMAIL: ${{ secrets.CF_API_EMAIL }}
|
||||||
|
run: |
|
||||||
|
cat domain_compare.txt | egrep '^-[a-z]' | sed -e 's|-||g' | while read -r subdomain; do
|
||||||
|
echo "Creating $subdomain.trez.wtf..."
|
||||||
|
flarectl dns create --zone "trez.wtf" --name "${subdomain}" --type=CNAME --content "trez.wtf"
|
||||||
|
done
|
||||||
|
|
||||||
|
merge-pr:
|
||||||
|
name: PR Merge
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ always() }}
|
||||||
|
needs: [cloudflare-dns-setup]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Tea CLI Setup & PR Merge
|
||||||
|
run: |
|
||||||
|
curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea
|
||||||
|
chmod +x /usr/local/bin/tea
|
||||||
|
echo "Merging PR..."
|
||||||
|
tea login add --name gitea-rinoa --url ${{ vars.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
|
||||||
|
pr_index=$(tea pr ls --repo ${{ github.repository }} --state open --fields index,title,head,state --output csv | egrep ${{ gitea.ref_name }} | awk -F, '{print $1}' | sed -e 's|"||g')
|
||||||
|
tea pr m --repo ${{ github.repository }} --title "${{ github.ref_name }} Auto Merge" --message "Merged by ${{ gitea.actor }}" --output table ${pr_index}
|
||||||
@@ -1,466 +0,0 @@
|
|||||||
name: Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
push:
|
|
||||||
branches-ignore:
|
|
||||||
- "main"
|
|
||||||
- "renovate/**"
|
|
||||||
paths:
|
|
||||||
- "**/docker-compose.yml"
|
|
||||||
|
|
||||||
env:
|
|
||||||
FLARECTL_VERSION: "0.116.0"
|
|
||||||
HC_VAULT_VERSION: "1.21.0"
|
|
||||||
TEA_VERSION: "0.10.1"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check-and-create-pr:
|
|
||||||
name: Check and Create PR
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout Code
|
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
||||||
with:
|
|
||||||
fetch-depth: 1
|
|
||||||
|
|
||||||
- name: Gotify Notification
|
|
||||||
uses: https://git.trez.wtf/Trez/gotify-action@main
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: PR Check @ Rinoa"
|
|
||||||
notification_message: "Checking for existing PR... 🔍"
|
|
||||||
|
|
||||||
- name: PR Check/Creation
|
|
||||||
uses: https://git.trez.wtf/Trez/gitea-auto-pr@main
|
|
||||||
with:
|
|
||||||
url: ${{ secrets.TREZ_GITEA_URL }}
|
|
||||||
token: ${{ secrets.BOT_GITEA_TOKEN }}
|
|
||||||
pr-label: docker-compose,manual
|
|
||||||
assignee: ${{ github.actor }}
|
|
||||||
|
|
||||||
- name: Gotify Notification
|
|
||||||
uses: https://git.trez.wtf/Trez/gotify-action@main
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: PR Check @ Rinoa"
|
|
||||||
notification_message: "PR Check done 🎟️"
|
|
||||||
|
|
||||||
generate-service-list:
|
|
||||||
name: Generate list of added/modified/deleted services
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [check-and-create-pr]
|
|
||||||
outputs:
|
|
||||||
svc_deploy_list: ${{ steps.detect_services.outputs.docker_svc_list }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
||||||
|
|
||||||
- name: Fetch base branch
|
|
||||||
run: |
|
|
||||||
git fetch origin ${{ github.event.pull_request.base.ref }}
|
|
||||||
|
|
||||||
- name: Gotify Notification
|
|
||||||
uses: https://git.trez.wtf/Trez/gotify-action@main
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: Services TBD"
|
|
||||||
notification_message: "Generating list of services to deploy..."
|
|
||||||
|
|
||||||
- name: Save both versions of docker-compose.yml
|
|
||||||
run: |
|
|
||||||
git show origin/main:docker-compose.yml > docker-compose-main.yml || touch docker-compose-main.yml
|
|
||||||
cp docker-compose.yml docker-compose-head.yml
|
|
||||||
|
|
||||||
- name: Detect added, deleted, and modified services
|
|
||||||
id: detect_services
|
|
||||||
run: |
|
|
||||||
set +e # prevent failure on non-zero exit codes
|
|
||||||
|
|
||||||
echo "Getting services from main and ${{ github.ref_name }}"
|
|
||||||
yq '.services | keys | .[]' docker-compose-main.yml | sort > services_main.txt
|
|
||||||
yq '.services | keys | .[]' docker-compose-head.yml | sort > services_head.txt
|
|
||||||
|
|
||||||
echo "Creating list of service changes..."
|
|
||||||
touch service_changes.txt
|
|
||||||
|
|
||||||
# Detect newly added services
|
|
||||||
comm -13 services_main.txt services_head.txt 2>/dev/null | while read service; do
|
|
||||||
[ -n "$service" ] && echo "$service: added" >> service_changes.txt
|
|
||||||
done
|
|
||||||
|
|
||||||
# Detect removed services
|
|
||||||
comm -23 services_main.txt services_head.txt 2>/dev/null | while read service; do
|
|
||||||
[ -n "$service" ] && echo "$service: removed" >> service_changes.txt
|
|
||||||
done
|
|
||||||
|
|
||||||
# Detect modified services
|
|
||||||
comm -12 services_main.txt services_head.txt 2>/dev/null | while read service; do
|
|
||||||
yq ".services[\"$service\"]" docker-compose-main.yml > tmp_main.yml
|
|
||||||
yq ".services[\"$service\"]" docker-compose-head.yml > tmp_head.yml
|
|
||||||
if ! diff -q tmp_main.yml tmp_head.yml > /dev/null; then
|
|
||||||
echo "$service: modified" >> service_changes.txt
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Detected service changes:"
|
|
||||||
cat service_changes.txt || echo "None"
|
|
||||||
|
|
||||||
# Separate categories safely
|
|
||||||
added_svcs=$(grep -E ': added' service_changes.txt 2>/dev/null | cut -d':' -f1 | sort | uniq)
|
|
||||||
modified_svcs=$(grep -E ': modified' service_changes.txt 2>/dev/null | cut -d':' -f1 | sort | uniq)
|
|
||||||
removed_svcs=$(grep -E ': removed' service_changes.txt 2>/dev/null | cut -d':' -f1 | sort | uniq)
|
|
||||||
|
|
||||||
# Gather list of modified/added services
|
|
||||||
mod_svcs=$( (echo "$added_svcs"; echo "$modified_svcs") | tr ' ' '\n' | sort -u | grep -v '^$' || true)
|
|
||||||
|
|
||||||
if [ -z "$mod_svcs" ]; then
|
|
||||||
echo "No modified or added services detected."
|
|
||||||
echo "docker_svc_list<<EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo "Modified/added services:"
|
|
||||||
echo "$mod_svcs"
|
|
||||||
|
|
||||||
# Include direct dependencies (only if head file exists)
|
|
||||||
if [ -f docker-compose-head.yml ]; then
|
|
||||||
echo "Resolving direct dependencies..."
|
|
||||||
deps_list=""
|
|
||||||
for svc in $mod_svcs; do
|
|
||||||
deps=$(yq -r ".services[\"$svc\"].depends_on | keys | .[]" docker-compose-head.yml 2>/dev/null || true)
|
|
||||||
if [ -n "$deps" ]; then
|
|
||||||
echo "$svc depends on:"
|
|
||||||
echo "$deps"
|
|
||||||
deps_list="$deps_list $deps"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
all_svcs=$( (echo "$mod_svcs"; echo "$deps_list") | tr ' ' '\n' | sort -u)
|
|
||||||
else
|
|
||||||
all_svcs="$mod_svcs"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Final service list (including direct dependencies):"
|
|
||||||
echo "$all_svcs"
|
|
||||||
|
|
||||||
echo "docker_svc_list<<EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "$all_svcs" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Output removed services separately
|
|
||||||
echo "Removed services:"
|
|
||||||
echo "${removed_svcs:-None}"
|
|
||||||
echo "removed_svc_list<<EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "$removed_svcs" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
# Always exit cleanly
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
docker-compose-dry-run:
|
|
||||||
name: Docker Compose Dry Run
|
|
||||||
needs: [generate-service-list]
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
VAULT_ADDR: ${{ secrets.TREZ_VAULT_ADDR }}
|
|
||||||
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
|
|
||||||
VAULT_NAMESPACE: ""
|
|
||||||
RINOA_REGISTRY_PASSWORD: ${{ secrets.BOT_GITEA_PASSWORD }}
|
|
||||||
DOCKER_SVC_LIST: ${{ needs.generate-service-list.outputs.svc_deploy_list }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
||||||
|
|
||||||
- name: Login to Docker Hub
|
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKERHUB_USER }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ secrets.GHCR_USER }}
|
|
||||||
password: ${{ secrets.GHCR_LOGIN_TOKEN }}
|
|
||||||
|
|
||||||
- name: Login to Private Gitea Registry
|
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
|
||||||
with:
|
|
||||||
registry: git.trez.wtf
|
|
||||||
username: ${{ secrets.BOT_GITEA_USER }}
|
|
||||||
password: ${{ secrets.BOT_GITEA_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Gotify Notification
|
|
||||||
uses: https://git.trez.wtf/Trez/gotify-action@main
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: Docker Compose Dry Run @ Rinoa"
|
|
||||||
notification_message: "Starting Docker Compose dry run..."
|
|
||||||
|
|
||||||
- name: Generate .env from Hashicorp Vault
|
|
||||||
uses: https://git.trez.wtf/Trez/hc-vault-env@main
|
|
||||||
with:
|
|
||||||
HC_VAULT_VERSION: ${{ env.HC_VAULT_VERSION }}
|
|
||||||
HC_VAULT_ADDR: ${{ secrets.TREZ_VAULT_ADDR }}
|
|
||||||
HC_VAULT_AUTH: token
|
|
||||||
HC_VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
|
|
||||||
HC_VAULT_SECRETS_PATH: rinoa-docker/env
|
|
||||||
|
|
||||||
- name: Check services
|
|
||||||
env:
|
|
||||||
DSLIST: ${{ env.DOCKER_SVC_LIST }}
|
|
||||||
run: |
|
|
||||||
if [ -z ${DSLIST} ]; then
|
|
||||||
echo "DOCKER_SVC_LIST=" >> $GITHUB_ENV
|
|
||||||
else
|
|
||||||
echo "${DLIST}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Pre-pull/build service images in parallel
|
|
||||||
continue-on-error: true
|
|
||||||
uses: https://git.trez.wtf/Trez/docker-select-image-pull@main
|
|
||||||
env:
|
|
||||||
DOCKER_HOST: tcp://dockerproxy:2375
|
|
||||||
with:
|
|
||||||
services: ${{ env.DOCKER_SVC_LIST }}
|
|
||||||
compose_profile: "rinoa-apps"
|
|
||||||
|
|
||||||
- name: Docker Compose Dry Run
|
|
||||||
uses: hoverkraft-tech/compose-action@3846bcd61da338e9eaaf83e7ed0234a12b099b72 # v2.4.1
|
|
||||||
env:
|
|
||||||
DOCKER_HOST: tcp://dockerproxy:2375
|
|
||||||
with:
|
|
||||||
services: |
|
|
||||||
${{ needs.generate-service-list.outputs.svc_deploy_list }}
|
|
||||||
up-flags: -d --remove-orphans --dry-run
|
|
||||||
compose-flags: --dry-run --profile rinoa-apps
|
|
||||||
services-log-level: debug
|
|
||||||
|
|
||||||
- name: Gotify Notification
|
|
||||||
uses: https://git.trez.wtf/Trez/gotify-action@main
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: Docker Compose Dry Run @ Rinoa"
|
|
||||||
notification_message: "Docker Compose dry run completed successfully."
|
|
||||||
|
|
||||||
cloudflare-dns-setup:
|
|
||||||
name: Cloudflare DNS Setup
|
|
||||||
needs: [docker-compose-dry-run]
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
||||||
with:
|
|
||||||
fetch-depth: 1
|
|
||||||
|
|
||||||
- name: Install flarectl
|
|
||||||
uses: supplypike/setup-bin@8e3f88b4f143d9b5c3497f0fc12d45c83c123787 # v4.0.1
|
|
||||||
with:
|
|
||||||
uri: https://github.com/cloudflare/cloudflare-go/releases/download/v${{ env.FLARECTL_VERSION }}/flarectl_${{ env.FLARECTL_VERSION }}_linux_amd64.tar.gz
|
|
||||||
name: flarectl
|
|
||||||
version: ${{ env.FLARECTL_VERSION }}
|
|
||||||
|
|
||||||
- name: Grab Subdomains from Docker Compose & Cloudflare
|
|
||||||
id: grab-subdomains
|
|
||||||
env:
|
|
||||||
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
|
||||||
CF_API_EMAIL: ${{ secrets.CF_API_EMAIL }}
|
|
||||||
run: |
|
|
||||||
yq -r '.services[].labels.swag_url' docker-compose.yml | \
|
|
||||||
egrep -v 'null' | \
|
|
||||||
awk -F'.' '{print $1}' | \
|
|
||||||
sort > compose_subdomains.txt
|
|
||||||
|
|
||||||
flarectl --json dns list \
|
|
||||||
--zone "trez.wtf" \
|
|
||||||
--type=CNAME \
|
|
||||||
--content "trez.wtf" \
|
|
||||||
| jq -r '.[].Name' | awk -F"." '{print $1}' | \
|
|
||||||
sort > cloudflare_subdomains.txt
|
|
||||||
|
|
||||||
- name: Gotify Notification
|
|
||||||
uses: https://git.trez.wtf/Trez/gotify-action@main
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: Cloudflare Setup @ Rinoa"
|
|
||||||
notification_message: "Starting Cloudflare DNS setup..."
|
|
||||||
|
|
||||||
- name: Compare Subdomains
|
|
||||||
id: compare-subdomains
|
|
||||||
uses: LouisBrunner/diff-action@9ea7b75986aa27143ad4928974c98a5a1bd92170 # v2.2.0
|
|
||||||
with:
|
|
||||||
old: compose_subdomains.txt
|
|
||||||
new: cloudflare_subdomains.txt
|
|
||||||
mode: addition
|
|
||||||
tolerance: mixed-better
|
|
||||||
output: domain_compare.txt
|
|
||||||
|
|
||||||
- name: Create Subdomains
|
|
||||||
if: steps.compare-subdomains.outputs.output != ''
|
|
||||||
continue-on-error: true
|
|
||||||
env:
|
|
||||||
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
|
||||||
CF_API_EMAIL: ${{ secrets.CF_API_EMAIL }}
|
|
||||||
run: |
|
|
||||||
cat domain_compare.txt | egrep '^-[a-z]' | sed -e 's|-||g' | while read -r subdomain; do
|
|
||||||
echo "Creating $subdomain.trez.wtf..."
|
|
||||||
flarectl dns create --zone "trez.wtf" --name "${subdomain}" --type=CNAME --content "trez.wtf" --proxy true
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Gotify Notification
|
|
||||||
uses: https://git.trez.wtf/Trez/gotify-action@main
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: Cloudflare Setup @ Rinoa"
|
|
||||||
notification_message: "Cloudflare DNS setup completed successfully."
|
|
||||||
|
|
||||||
pr-merge:
|
|
||||||
name: PR Merge
|
|
||||||
needs: [generate-service-list, docker-compose-dry-run]
|
|
||||||
if: github.ref != 'refs/heads/main'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
||||||
|
|
||||||
- name: Install tea
|
|
||||||
uses: supplypike/setup-bin@8e3f88b4f143d9b5c3497f0fc12d45c83c123787 # v4.0.1
|
|
||||||
with:
|
|
||||||
uri: https://gitea.com/gitea/tea/releases/download/v${{ env.TEA_VERSION }}/tea-${{ env.TEA_VERSION }}-linux-amd64
|
|
||||||
name: tea
|
|
||||||
version: ${{ env.TEA_VERSION }}
|
|
||||||
|
|
||||||
- name: PR Merge
|
|
||||||
id: pr_merge
|
|
||||||
run: |
|
|
||||||
tea login add \
|
|
||||||
--name gitea-rinoa \
|
|
||||||
--url "${{ secrets.TREZ_GITEA_URL }}" \
|
|
||||||
--user gitea-sonarqube-bot \
|
|
||||||
--password "${{ secrets.BOT_GITEA_PASSWORD }}" \
|
|
||||||
--token ${{ secrets.BOT_GITEA_TOKEN }}
|
|
||||||
|
|
||||||
tea login default gitea-rinoa
|
|
||||||
|
|
||||||
echo "Merging PR..."
|
|
||||||
|
|
||||||
pr_index=$(tea pr ls \
|
|
||||||
--repo ${{ github.repository }} \
|
|
||||||
--state open --fields index,title,head,state \
|
|
||||||
--output csv | \
|
|
||||||
egrep ${{ github.ref_name }} | awk -F"," '{print $1}' | sed -e 's|"||g')
|
|
||||||
|
|
||||||
tea pr m \
|
|
||||||
--repo ${{ github.repository }} \
|
|
||||||
--title "Auto Merge of PR ${pr_index} - ${{ github.ref_name }}" \
|
|
||||||
--message "Merged by ${{ github.actor }}" ${pr_index}
|
|
||||||
|
|
||||||
echo "pr_index=${pr_index}" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Gotify Notification
|
|
||||||
uses: https://git.trez.wtf/Trez/gotify-action@main
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: PR Merge Successful"
|
|
||||||
notification_message: "PR #${{ steps.pr_merge.outputs.pr_index }} merged."
|
|
||||||
|
|
||||||
docker-compose-deploy:
|
|
||||||
name: Docker Compose Deployment
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [generate-service-list, docker-compose-dry-run, pr-merge]
|
|
||||||
env:
|
|
||||||
VAULT_ADDR: ${{ secrets.TREZ_VAULT_ADDR }}
|
|
||||||
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
|
|
||||||
DOCKER_HOST: tcp://dockerproxy:2375
|
|
||||||
RINOA_REGISTRY_PASSWORD: ${{ secrets.BOT_GITEA_PASSWORD }}
|
|
||||||
DOCKER_SVC_LIST: ${{ needs.generate-service-list.outputs.svc_deploy_list }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
||||||
with:
|
|
||||||
ref: main
|
|
||||||
|
|
||||||
- name: Login to Docker Hub
|
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKERHUB_USER }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ secrets.GHCR_USER }}
|
|
||||||
password: ${{ secrets.GHCR_LOGIN_TOKEN }}
|
|
||||||
|
|
||||||
- name: Login to Private Gitea Registry
|
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
|
||||||
with:
|
|
||||||
registry: git.trez.wtf
|
|
||||||
username: ${{ secrets.BOT_GITEA_USER }}
|
|
||||||
password: ${{ secrets.BOT_GITEA_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Gotify Notification
|
|
||||||
uses: https://git.trez.wtf/Trez/gotify-action@main
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: Docker Compose Deployment @ Rinoa"
|
|
||||||
notification_message: "Starting Docker Compose run..."
|
|
||||||
|
|
||||||
- name: Generate .env from Hashicorp Vault
|
|
||||||
uses: https://git.trez.wtf/Trez/hc-vault-env@main
|
|
||||||
with:
|
|
||||||
HC_VAULT_VERSION: ${{ env.HC_VAULT_VERSION }}
|
|
||||||
HC_VAULT_ADDR: ${{ secrets.TREZ_VAULT_ADDR }}
|
|
||||||
HC_VAULT_AUTH: token
|
|
||||||
HC_VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
|
|
||||||
HC_VAULT_SECRETS_PATH: rinoa-docker/env
|
|
||||||
|
|
||||||
- name: Pre-pull/build service images in parallel
|
|
||||||
uses: https://git.trez.wtf/Trez/docker-select-image-pull@main
|
|
||||||
env:
|
|
||||||
DOCKER_HOST: tcp://dockerproxy:2375
|
|
||||||
with:
|
|
||||||
services: ${{ env.DOCKER_SVC_LIST }}
|
|
||||||
compose_profile: "rinoa-apps"
|
|
||||||
|
|
||||||
- name: Docker Compose Deployment
|
|
||||||
uses: hoverkraft-tech/compose-action@3846bcd61da338e9eaaf83e7ed0234a12b099b72 # v2.4.1
|
|
||||||
env:
|
|
||||||
DOCKER_HOST: tcp://dockerproxy:2375
|
|
||||||
with:
|
|
||||||
services: |
|
|
||||||
${{ needs.generate-service-list.outputs.svc_deploy_list }}
|
|
||||||
up-flags: -d --remove-orphans
|
|
||||||
down-flags: --dry-run
|
|
||||||
compose-flags: --profile rinoa-apps
|
|
||||||
services-log-level: debug
|
|
||||||
|
|
||||||
- name: Docker Compose Healthcheck
|
|
||||||
uses: jaracogmbh/docker-compose-health-check-action@973fbdccf7c8e396b652d3501984c8e530a9fa80 # v1.0.0
|
|
||||||
with:
|
|
||||||
max-retries: 30
|
|
||||||
retry-interval: 10
|
|
||||||
compose-file: "docker-compose.yml"
|
|
||||||
skip-exited: "true"
|
|
||||||
skip-no-healthcheck: "true"
|
|
||||||
|
|
||||||
- name: Gotify Notification
|
|
||||||
uses: https://git.trez.wtf/Trez/gotify-action@main
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: Docker Compose Deployment @ Rinoa"
|
|
||||||
notification_message: "Deployment completed successfully."
|
|
||||||
@@ -1,172 +0,0 @@
|
|||||||
name: Renovate Image Tag Deployment
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
pull_request:
|
|
||||||
types: [closed]
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- "**/docker-compose.yml"
|
|
||||||
|
|
||||||
env:
|
|
||||||
HC_VAULT_VERSION: "1.21.0"
|
|
||||||
VAULT_ADDR: ${{ secrets.TREZ_VAULT_ADDR }}
|
|
||||||
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
name: Renovate PR Deployment
|
|
||||||
if: |
|
|
||||||
github.event.pull_request.merged == true &&
|
|
||||||
github.event.pull_request.user.login == 'renovate-bot'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout full repository
|
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
||||||
with:
|
|
||||||
fetch-depth: 0 # required so we can access main^1
|
|
||||||
|
|
||||||
- name: Save docker-compose.yml before merge (old)
|
|
||||||
run: |
|
|
||||||
git fetch origin main
|
|
||||||
if git ls-tree -r origin/main^1 --name-only | grep -q '^docker-compose.yml$'; then
|
|
||||||
git show origin/main^1:docker-compose.yml > docker-compose-old.yml
|
|
||||||
else
|
|
||||||
echo "services: {}" > docker-compose-old.yml
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Save docker-compose.yml after merge (new)
|
|
||||||
run: |
|
|
||||||
git show origin/main:docker-compose.yml > docker-compose-new.yml
|
|
||||||
|
|
||||||
- name: Detect services with image tag/digest changes
|
|
||||||
id: detect_services
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
echo "Flattening docker-compose files..."
|
|
||||||
yq eval '... comments=""' docker-compose-old.yml > docker-compose-old-flat.yml
|
|
||||||
yq eval '... comments=""' docker-compose-new.yml > docker-compose-new-flat.yml
|
|
||||||
|
|
||||||
echo "Getting service names..."
|
|
||||||
yq eval '.services | keys | .[]' docker-compose-old-flat.yml | sort > services_old.txt
|
|
||||||
yq eval '.services | keys | .[]' docker-compose-new-flat.yml | sort > services_new.txt
|
|
||||||
|
|
||||||
echo "Checking for image changes..."
|
|
||||||
: > service_changes.txt
|
|
||||||
|
|
||||||
comm -12 services_old.txt services_new.txt | while read service; do
|
|
||||||
old_image=$(yq eval-all --yaml-fix-merge-anchor-to-spec=true ".services[\"$service\"].image // \"\"" docker-compose-old-flat.yml)
|
|
||||||
new_image=$(yq eval-all --yaml-fix-merge-anchor-to-spec=true ".services[\"$service\"].image // \"\"" docker-compose-new-flat.yml)
|
|
||||||
|
|
||||||
if [ "$old_image" != "$new_image" ]; then
|
|
||||||
echo "$service" >> service_changes.txt
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Detected services with changed images:"
|
|
||||||
cat service_changes.txt || echo "None"
|
|
||||||
|
|
||||||
changed_svcs=$(sort -u service_changes.txt | xargs || true)
|
|
||||||
if [ -z "$changed_svcs" ]; then
|
|
||||||
echo "No image tag/digest changes detected."
|
|
||||||
echo "docker_svc_list<<EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Collecting direct dependencies..."
|
|
||||||
deps_list=""
|
|
||||||
for svc in $changed_svcs; do
|
|
||||||
deps=$(yq -r ".services[\"$svc\"].depends_on | keys | .[]" docker-compose-new-flat.yml 2>/dev/null || true)
|
|
||||||
if [ -n "$deps" ]; then
|
|
||||||
echo "$svc depends on:"
|
|
||||||
echo "$deps"
|
|
||||||
deps_list="$deps_list $deps"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Combine changed services and their dependencies, deduplicate
|
|
||||||
all_svcs=$( (echo "$changed_svcs"; echo "$deps_list") | tr ' ' '\n' | sort -u )
|
|
||||||
|
|
||||||
echo "Final service list (including direct dependencies):"
|
|
||||||
echo "$all_svcs"
|
|
||||||
|
|
||||||
# Prepare multiline output for GitHub Actions
|
|
||||||
echo "docker_svc_list<<EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "$all_svcs" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
- name: Stop if no image changes
|
|
||||||
if: steps.detect_services.outputs.docker_svc_list == ''
|
|
||||||
run: |
|
|
||||||
echo "No image tag/digest changes detected. Exiting."
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
- name: Login to Docker Hub
|
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKERHUB_USER }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ secrets.GHCR_USER }}
|
|
||||||
password: ${{ secrets.GHCR_LOGIN_TOKEN }}
|
|
||||||
|
|
||||||
- name: Login to Private Gitea Registry
|
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
|
||||||
with:
|
|
||||||
registry: git.trez.wtf
|
|
||||||
username: ${{ secrets.BOT_GITEA_USER }}
|
|
||||||
password: ${{ secrets.BOT_GITEA_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Gotify Notification (Start)
|
|
||||||
uses: eikendev/gotify-action@master
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: [RENOVATE] Docker Compose Deployment @ Rinoa"
|
|
||||||
notification_message: "Starting Docker Compose run..."
|
|
||||||
|
|
||||||
- name: Generate .env from Hashicorp Vault
|
|
||||||
uses: https://git.trez.wtf/Trez/hc-vault-env@main
|
|
||||||
with:
|
|
||||||
HC_VAULT_VERSION: ${{ env.HC_VAULT_VERSION }}
|
|
||||||
HC_VAULT_ADDR: ${{ secrets.TREZ_VAULT_ADDR }}
|
|
||||||
HC_VAULT_AUTH: token
|
|
||||||
HC_VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
|
|
||||||
HC_VAULT_SECRETS_PATH: rinoa-docker/env
|
|
||||||
|
|
||||||
- name: Docker Compose Deployment
|
|
||||||
uses: hoverkraft-tech/compose-action@3846bcd61da338e9eaaf83e7ed0234a12b099b72 # v2.4.1
|
|
||||||
env:
|
|
||||||
DOCKER_HOST: tcp://dockerproxy:2375
|
|
||||||
with:
|
|
||||||
services: |
|
|
||||||
${{ steps.detect_services.outputs.docker_svc_list }}
|
|
||||||
up-flags: -d --remove-orphans
|
|
||||||
down-flags: --dry-run
|
|
||||||
services-log-level: debug
|
|
||||||
|
|
||||||
- name: Docker Compose Healthcheck
|
|
||||||
id: health
|
|
||||||
uses: jaracogmbh/docker-compose-health-check-action@973fbdccf7c8e396b652d3501984c8e530a9fa80 # v1.0.0
|
|
||||||
with:
|
|
||||||
max-retries: 30
|
|
||||||
retry-interval: 10
|
|
||||||
compose-file: "docker-compose.yml"
|
|
||||||
skip-exited: "true"
|
|
||||||
skip-no-healthcheck: "true"
|
|
||||||
|
|
||||||
- name: Gotify Notification (Finish)
|
|
||||||
uses: eikendev/gotify-action@master
|
|
||||||
with:
|
|
||||||
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
|
|
||||||
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
|
|
||||||
notification_title: "GITEA: [RENOVATE] Docker Compose Deployment @ Rinoa"
|
|
||||||
notification_message: "Deployment completed successfully."
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
name: Renovate
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: "0/30 * * * *"
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
RENOVATE_VERSION: "41.168.6"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
renovate:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
timeout-minutes: 5
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
||||||
|
|
||||||
- name: Renovate Run
|
|
||||||
env:
|
|
||||||
DOCKER_HOST: tcp://dockerproxy:2375
|
|
||||||
RENOVATE_PLATFORM: gitea
|
|
||||||
RENOVATE_ENDPOINT: https://git.trez.wtf/api/v1
|
|
||||||
RENOVATE_TOKEN: ${{ secrets.RENOVATE_BOT_TOKEN }}
|
|
||||||
LOG_LEVEL: ${{ vars.RENOVATE_LOG_LEVEL }}
|
|
||||||
RENOVATE_GITHUB_COM_TOKEN: ${{ secrets.RENOVATE_GITHUB_TOKEN }}
|
|
||||||
RENOVATE_CONFIG_FILE: renovate.json
|
|
||||||
RENOVATE_REPOSITORIES: trez/rinoa-docker
|
|
||||||
RENOVATE_HOST_RULES: |
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"description": "Docker Hub authentication",
|
|
||||||
"hostType": "docker",
|
|
||||||
"matchHost": "docker.io",
|
|
||||||
"username": "${{ secrets.DOCKERHUB_USER }}",
|
|
||||||
"password": "${{ secrets.DOCKERHUB_PASSWORD }}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "GitHub Container Registry (GHCR)",
|
|
||||||
"hostType": "docker",
|
|
||||||
"matchHost": "ghcr.io",
|
|
||||||
"username": "${{ secrets.GHCR_USER }}",
|
|
||||||
"password": "${{ secrets.GHCR_LOGIN_TOKEN }}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Self-hosted Gitea Docker Registry",
|
|
||||||
"hostType": "docker",
|
|
||||||
"matchHost": "git.trez.wtf",
|
|
||||||
"username": "${{ secrets.BOT_GITEA_USER }}",
|
|
||||||
"password": "${{ secrets.BOT_GITEA_PASSWORD }}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
run: |
|
|
||||||
docker run --rm \
|
|
||||||
-e RENOVATE_PLATFORM \
|
|
||||||
-e RENOVATE_ENDPOINT \
|
|
||||||
-e RENOVATE_TOKEN \
|
|
||||||
-e LOG_LEVEL \
|
|
||||||
-e RENOVATE_GITHUB_COM_TOKEN \
|
|
||||||
-e RENOVATE_CONFIG_FILE \
|
|
||||||
-e RENOVATE_REPOSITORIES \
|
|
||||||
-e RENOVATE_HOST_RULES \
|
|
||||||
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
||||||
-w ${GITHUB_WORKSPACE} \
|
|
||||||
renovate/renovate:${{ env.RENOVATE_VERSION }}-full
|
|
||||||
+2
-2
@@ -1,2 +1,2 @@
|
|||||||
**/.cache_ggshield
|
**/.env*
|
||||||
**/.env
|
**/*env*
|
||||||
|
|||||||
@@ -1,197 +1,588 @@
|
|||||||
# List of Services
|
# List of Services
|
||||||
|
|
||||||
|
```json
|
||||||
|
~> yq '.services | to_entries | map({service: .key, image: .value.image})' docker-compose.yml
|
||||||
|
|
||||||
|
[
|
||||||
| Service | Image | Description |
|
{
|
||||||
| --- | --- | --- |
|
"service": "actual_server",
|
||||||
| 13ft | ghcr.io/wasi-master/13ft:latest@sha256:563ce7794a7173250c25c9162495bf2f510dd714067d74363c9ab2bd0e5a994f | Web interface for blocking ads and paywalls |
|
"image": "docker.io/actualbudget/actual-server:latest"
|
||||||
| actual_server | docker.io/actualbudget/actual-server:latest@sha256:8f72d73e68958566850325c1f9fe780a4477340979969bd6979649dc519723ab | Privacy-focused app for managing finances |
|
},
|
||||||
| adguard | adguard/adguardhome:v0.107.69@sha256:8a4107ec812023842ccab9e04600c5d39d3be6b15e907c34a36339c184c8fccf | Ad-blocking/DNS |
|
{
|
||||||
| apcupsd-cgi | bnhf/apcupsd-cgi:latest@sha256:e8733930739719aca608fd97aecfb0aa5f53aaf7681bf4bbccd49dbf67132bf8 | Web interface for apcupsd |
|
"service": "adguard",
|
||||||
| apprise-api | lscr.io/linuxserver/apprise-api:latest@sha256:21295ffabb1e93ac751662160aaa514c6d7f6acc8dfcbe956c9fb32384d51be6 | Multi-channel notification API |
|
"image": "adguard/adguardhome:latest"
|
||||||
| archivebox | archivebox/archivebox:latest@sha256:fdf2936192aa1e909b0c3f286f60174efa24078555be4b6b90a07f2cef1d4909 | Open-source and self-hosted web archiving |
|
},
|
||||||
| asciinema | ghcr.io/asciinema/asciinema-server:latest@sha256:fad89accd5cedb366cd9213ed90e02c4f3c069458771122a9065bc7ffb2e93e1 | Platform for hosting and sharing terminal session recordings |
|
{
|
||||||
| asciinema-pg-db | postgres:14-alpine@sha256:cb54bb67c0fca8b439f18c1daadb315ad67de1faf8c387988c63080d15a54145 | |
|
"service": "apprise",
|
||||||
| audiobookshelf | ghcr.io/advplyr/audiobookshelf:latest@sha256:6fbd7dc95d53c6e168ce69e760b87c334e3b9ba88bf7b8531ed5a116d5d6da03 | Podcasts, eBooks, & Audiobooks |
|
"image": "lscr.io/linuxserver/apprise-api:latest"
|
||||||
| audiomuse-ai-flask | ghcr.io/neptunehub/audiomuse-ai:0.7.9-beta@sha256:2a4bfc79f0ebd4f11881a4817276dbf4ef5981fa1b3cd6adbbfc6a3ea54b25a4 | Platform for hosting and sharing terminal session recordings |
|
},
|
||||||
| audiomuse-ai-pg | postgres:15-alpine@sha256:64583b3cb4f2010277bdd9749456de78e5c36f8956466ba14b0b96922e510950 | |
|
{
|
||||||
| audiomuse-ai-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
"service": "audiobookshelf",
|
||||||
| audiomuse-ai-worker | ghcr.io/neptunehub/audiomuse-ai:0.7.9-beta@sha256:2a4bfc79f0ebd4f11881a4817276dbf4ef5981fa1b3cd6adbbfc6a3ea54b25a4 | |
|
"image": "ghcr.io/advplyr/audiobookshelf:latest"
|
||||||
| authelia | authelia/authelia:master@sha256:6c6b34db605194300d816b111124cbd22750548a56265041ec5df09783b3309c | Authentication/authorization server with MFA & SSO |
|
},
|
||||||
| authelia-pg | postgres:16-alpine@sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297 | |
|
{
|
||||||
| authelia-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
"service": "authelia",
|
||||||
| backrest | garethgeorge/backrest:latest@sha256:1308397161321b3c5aeca8acc6bf26eccb990df385f2532d3ce0eaa8b483dedf | Data backup |
|
"image": "authelia/authelia:master"
|
||||||
| bazarr | lscr.io/linuxserver/bazarr:latest@sha256:a42fef2a5ffa1dca8714e12892ba0b8de5c6c513f1bcdb1ffe4143e715cffb45 | Subtitle automation for TV shows/movies |
|
},
|
||||||
| beszel | henrygd/beszel:latest@sha256:37858df37c29cc532d9af103b90a4f2645bc7555f6a291ed3f15c9096a00731e | Lightweight server monitoring hub |
|
{
|
||||||
| beszel-agent | henrygd/beszel-agent:latest@sha256:bc6c4068ce99d20e66ea28830d853339145552704497496d1d0cfd6999413070 | |
|
"service": "authelia-pg",
|
||||||
| bitwarden | vaultwarden/server:latest@sha256:84fd8a47f58d79a1ad824c27be0a9492750c0fa5216b35c749863093bfa3c3d7 | Credential/Information Vault |
|
"image": "postgres:16-alpine"
|
||||||
| bluesky-pds | code.modernleft.org/gravityfargo/bluesky-pds:v0.4.158@sha256:44810dc5cf9c78135d20dfd60e0999e2db0dfc5fd56dc7e45e8844d1b57c54bd | |
|
},
|
||||||
| browserless | ghcr.io/browserless/chromium:latest@sha256:3c467f68e3b588b89faa6d27556a798121defc46509100386cd100248599fd3f | |
|
{
|
||||||
| bytestash | ghcr.io/jordan-dalby/bytestash:latest@sha256:9c17b5510ca45c976fe23b0d4705ad416aa58d4bf756a70e03ef1f08cf7801fd | Code Gists/Snippets |
|
"service": "bazarr",
|
||||||
| changedetection | ghcr.io/dgtlmoon/changedetection.io@sha256:a3684335bc4806b305b40271abc787687e716fbf68bfdb8e7e069ee19c599670 | Page change monitoring with alerts |
|
"image": "lscr.io/linuxserver/bazarr:latest"
|
||||||
| changedetection-chrome | dgtlmoon/sockpuppetbrowser:latest@sha256:9f2df6791a4cd9b2c3138cb62b5a8de7f27953cab84729fe09d28cbd341a8973 | |
|
},
|
||||||
| chrome | gcr.io/zenika-hub/alpine-chrome:123@sha256:e38563d4475a3d791e986500a2e4125c9afd13798067138881cf770b1f6f3980 | |
|
{
|
||||||
| clipcascade | sathvikrao/clipcascade:latest@sha256:0f7aadec03af6b22a157466ade3ed1730dfd3b390d2989e55c0180e1d12d736f | Online file converter |
|
"service": "bitmagnet",
|
||||||
| cloudflareddns | ghcr.io/hotio/cloudflareddns:latest@sha256:b64687779bbe0dcd41f9854129ce8fa9d6c5f009e1992a79bed97c85fe253eaf | |
|
"image": "ghcr.io/bitmagnet-io/bitmagnet:latest"
|
||||||
| convertx | ghcr.io/c4illin/convertx@sha256:53f2c04ebe63fdfb4d812ee66b78a5db9360c729f3defe3dcc864256ff91a7cb | Online file converter |
|
},
|
||||||
| crowdsec | crowdsecurity/crowdsec:latest@sha256:4beb1633cf4f41bb6f9e64d065d151d3aa5e3aa7082d5c3061a243037db0d890 | |
|
{
|
||||||
| crowdsec-dashboard | metabase/metabase@sha256:7cde7e7129ed13ec153ba7f5d08d79f4cb7db84dc06d9a47d411e66f65fd6933 | Real-time & crowdsourced protection against aggressive IPs |
|
"service": "bitmagnet-pg-db",
|
||||||
| cyber-chef | mpepping/cyberchef:latest@sha256:1772a04fd261f971da89cf6212147afe55a37b4a93421db928a78e01de3d65ea | Web app for encryption, encoding, compression, and data analysis |
|
"image": "postgres:17-alpine"
|
||||||
| czkawka | jlesage/czkawka@sha256:03109f40d1bc41ebe24c2fd3ee81429950338591bbb64c4cf39ec6160fee75a4 | Smart file management |
|
},
|
||||||
| dagu | ghcr.io/dagu-org/dagu:alpine@sha256:6e82388c6acb0e50222f57ba8834dc993fca0e2ea379576a30e92b18d9afc09a | Cron alternative with a web UI |
|
{
|
||||||
| dawarich-app | freikin/dawarich:latest@sha256:74bfa35f8e6d29ad1ee820c2b5461e44804e3170cf82487e71da0035f6528898 | Self-hosted alternative to Google Location History |
|
"service": "bitwarden",
|
||||||
| dawarich-pg-db | postgis/postgis:17-3.5-alpine@sha256:470d7569e6aa821a503eac1f1c3e9851582281db9c1b2fa239ddcc01624fa19a | |
|
"image": "vaultwarden/server:latest"
|
||||||
| dawarich-sidekiq | freikin/dawarich:latest@sha256:74bfa35f8e6d29ad1ee820c2b5461e44804e3170cf82487e71da0035f6528898 | |
|
},
|
||||||
| dawarich-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
{
|
||||||
| dead-man-hand | ghcr.io/bkupidura/dead-man-hand:latest@sha256:31905f19678f60d55ecdfa63dad009c07e2055cb5db0c608c8cab5de4467050e | |
|
"service": "bluesky-pds",
|
||||||
| docker-socket-proxy | ghcr.io/tecnativa/docker-socket-proxy:latest@sha256:3400c429c5f9e1b21d62130fb93b16e2e772d4fb7695bd52fc2b743800b9fe9e | |
|
"image": "ghcr.io/bluesky-social/pds:latest"
|
||||||
| dockflare | alplat/dockflare:stable@sha256:d5d77c1caeb3a82467499371dd5e7c9ab7c2c03c527d4f1465062b755aa7c8ca | Cloudflare Tunnel controller |
|
},
|
||||||
| dockpeek | ghcr.io/dockpeek/dockpeek:v1.7.2@sha256:87654d0104eacff48a70c7c1eea6126f19f5803b21bfdace842ae765351593b4 | Real-time port monitoring and discovery |
|
{
|
||||||
| duplicati | lscr.io/linuxserver/duplicati:latest@sha256:ed6cee6ea5d9ebe28f7eae68adb8a8760869d316d42c2a56eec489dbf2f95232 | Data backup |
|
"service": "browserless",
|
||||||
| excalidraw | excalidraw/excalidraw:latest@sha256:b0b28b8d822519bf7fb9e2fab4a1e74754a557a4f6f42d36756ce95d281d62c5 | Virtual whiteboard for sketching hand-drawn like diagrams |
|
"image": "ghcr.io/browserless/chromium:latest"
|
||||||
| explo | ghcr.io/lumepart/explo:latest@sha256:4d8870ea033cb27e078772e60c4ca7b92f8c3ece062de8ceaec047e46e79f1df | |
|
},
|
||||||
| fastenhealth | ghcr.io/fastenhealth/fasten-onprem:main@sha256:ed5353eb49d0dbd3e3e30aeb1b71d430a35aebe6823637dcd3dca7aa9b7fa3c3 | Open-source, self-hosted, personal/family electronic medical record aggregator |
|
{
|
||||||
| flaresolverr | ghcr.io/flaresolverr/flaresolverr:latest@sha256:06c76759d062c185d8ac0b48f302258645b8d99db86109a3d6dce3209d93de51 | |
|
"service": "castopod",
|
||||||
| garage | dxflrs/garage:v2.1.0@sha256:4c9b34c113e61358466e83fd6e7d66e6d18657ede14b776eb78a93ee8da7cf6a | |
|
"image": "castopod/castopod:latest"
|
||||||
| garage-webui | khairul169/garage-webui:latest@sha256:17c793551873155065bf9a022dabcde874de808a1f26e648d4b82e168806439c | S3-compatible storage backend |
|
},
|
||||||
| ghost | ghost:latest@sha256:1e243c833aaa518c6f0786037e83ebe3a8567f8aeac0aa71a38f6fe9d7790935 | Personal blog |
|
{
|
||||||
| gitea | gitea/gitea:1.25.1@sha256:b3aee0f6fa4ff3271180a2388bb796be5cced8828685b968a310d70e881fcbb3 | Private Code Repo |
|
"service": "cloudflared",
|
||||||
| gitea-db | postgres:14@sha256:962ffbe9f6418387643411b127c1db27465e5a23b9a8849bfaf45fa6323963ce | |
|
"image": "cloudflare/cloudflared:latest"
|
||||||
| gitea-runner | gitea/act_runner:latest@sha256:8477d5b61b655caad4449888bae39f1f34bebd27db56cb15a62dccb3dcf3a944 | |
|
},
|
||||||
| gitea-sonarqube-bot | justusbunsi/gitea-sonarqube-bot:v0.4.0@sha256:18dd43b470d9a470e27d5999dd7dcbb44423d5c4466ae56dd7c1722f23115673 | |
|
{
|
||||||
| gitignore-io | guog/gitignore.io:latest@sha256:27b0bc3e9eb81adaee39fb6f77169ea9cbef164bcab049d29bcab68d154013ad | .gitignore generator |
|
"service": "cloudflareddns",
|
||||||
| gluetun | qmcgaw/gluetun:latest@sha256:ffc080cc41f2b9cc55d413aa5779de96f0c760100879152c7b296d590b1e8a46 | |
|
"image": "ghcr.io/hotio/cloudflareddns:latest"
|
||||||
| gotify | gotify/server@sha256:2ae0e4e689f183137c8247884382fcb174d5a72253ce1897e7e5267090093fc8 | Notification System |
|
},
|
||||||
| guacamole | flcontainers/guacamole:latest@sha256:81a420f386ef8cbb4697208e13ea90f6a10a54619981241bed672e4a41b5f77f | Client-less remote desktop gateway |
|
{
|
||||||
| homepage | ghcr.io/gethomepage/homepage:latest@sha256:8c7ec6a3c9094af7ac0686aa361fed3129264a8ed2c17594d5114a5e8342f7c9 | |
|
"service": "crowdsec",
|
||||||
| hugo | hugomods/hugo:exts@sha256:86b9a9ee8915be9cd5e9b555082352ab502daebf12c0bdae0a513f5340586496 | Static site |
|
"image": "crowdsecurity/crowdsec:latest"
|
||||||
| immich-server | ghcr.io/immich-app/immich-server:release@sha256:4504d794123c3f5410cc45bbc61e4d7dbcacec1e1b0cd2e599691430c94e5849 | High performance self-hosted photo and video management solution |
|
},
|
||||||
| immich-machine-learning | ghcr.io/immich-app/immich-machine-learning:release@sha256:bf339cbb44af6c2ef25d9128e1da51b2bec0cfd524846a83e3017c21bd71ddb4 | |
|
{
|
||||||
| immich-pg-db | tensorchord/pgvecto-rs:pg14-v0.2.1@sha256:9172feae86a211bc502db4ec2d3309a57329060b031d91796d39f45d1d698ef3 | |
|
"service": "crowdsec-dashboard",
|
||||||
| immich-public-proxy | alangrainger/immich-public-proxy:latest@sha256:ed5c7cc406bd26bb1cff327b8a3d8aad35210e45830b620d55f280773b528f3b | Immich Proxy for public sharing |
|
"image": "metabase/metabase"
|
||||||
| immich-power-tools | ghcr.io/varun-raj/immich-power-tools:latest@sha256:2abdc8a73cd7438006e16f7a9b50f51ca6806332f8855404375e8bbdd5b024f7 | |
|
},
|
||||||
| immich-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
{
|
||||||
| influxdb2 | influxdb:2-alpine@sha256:b4dbe25bb8f8be38f9cf5a12cbca453318a1ad3475954e9d37c38f6e5bc5006b | Scalable datastore for metrics, events, and real-time analytics |
|
"service": "czkawka",
|
||||||
| invidious | quay.io/invidious/invidious:latest@sha256:2836b5b8226a53a9cc2afdbd5f5fe6bccdd200f2e17cd92a828b4dc8d8b5cc06 | Alternative YouTube frontend (privacy-focused, ad-blocking) |
|
"image": "jlesage/czkawka"
|
||||||
| invidious-companion | quay.io/invidious/invidious-companion:latest@sha256:4f589b8eedf3c2d49de4a256ee018d7e4ff54fcce683f9005a31dbb7d1bf870f | |
|
},
|
||||||
| invidious-db | docker.io/library/postgres:14@sha256:962ffbe9f6418387643411b127c1db27465e5a23b9a8849bfaf45fa6323963ce | |
|
{
|
||||||
| it-tools | ghcr.io/corentinth/it-tools:latest@sha256:8b8128748339583ca951af03dfe02a9a4d7363f61a216226fc28030731a5a61f | Useful tools for developers and people working in IT |
|
"service": "dagu-scheduler",
|
||||||
| jellyfin | jellyfin/jellyfin@sha256:d43a8878689311f841a1967f899f54db56877bf6b426fd7ff870ac1a6fd1dce4 | Movie/TV Streaming |
|
"image": "ghcr.io/dagu-org/dagu:latest"
|
||||||
| jitsi-etherpad | etherpad/etherpad:1.9.7@sha256:d1d6a772dd49e2d920fda874cdae2d4a43f24ba5713a1e330b6342fbab3eb5ec | |
|
},
|
||||||
| jitsi-jibri | jitsi/jibri:stable | |
|
{
|
||||||
| jitsi-jicofo | jitsi/jicofo:stable | |
|
"service": "dagu-server",
|
||||||
| jitsi-jigasi | jitsi/jigasi:stable | |
|
"image": "ghcr.io/dagu-org/dagu:latest"
|
||||||
| jitsi-jvb | jitsi/jvb:stable | |
|
},
|
||||||
| jitsi-prosody | jitsi/prosody:stable | |
|
{
|
||||||
| jitsi-web | jitsi/web:stable | Web Conferencing |
|
"service": "delugevpn",
|
||||||
| joplin-db | postgres:17-alpine@sha256:ef257d85f76e48da1c64832459b59fcaba1a4dac97bf5d7450c77753542eee94 | |
|
"image": "ghcr.io/binhex/arch-delugevpn:latest"
|
||||||
| joplin | joplin/server:latest@sha256:95b67dc6a4e77a974ac2bcc86818cbbfe5495e7b62d06a66f848a877878dce53 | Open-source note taking & to-do |
|
},
|
||||||
| karakeep | ghcr.io/karakeep-app/karakeep:release@sha256:cd2348520ba25bbee64199468cd41758ab325eecd6a3a5c40cd6443a1607f9e9 | Self-hosted bookmark-everything app with a touch of AI for data hoarders |
|
{
|
||||||
| languagetool | elestio/languagetool:latest@sha256:85a32bdef9e7d87125977a201bfe7aa4310e67cab8abfa370157a9fc67cda4cd | |
|
"service": "docker-socket-proxy",
|
||||||
| libretranslate | libretranslate/libretranslate@sha256:4330ec7f3b397572f1e891cefa94b3b113e79df7f7539aaecaae1feadb4d1bcf | Open-source machine translation API |
|
"image": "ghcr.io/tecnativa/docker-socket-proxy:latest"
|
||||||
| lidarr | lscr.io/linuxserver/lidarr:latest@sha256:1d49ebdfaae525d9e1e4ad5b7fa1753e364da44ac1b5e6acae241a2173ac09a4 | Music Automation |
|
},
|
||||||
| lidify | thewicklowwolf/lidify:latest@sha256:958eaddeef8195470b974ee03512d9a5c31ad2af3167f7824448fb026fa9c94a | Music Discovery a la Last.fm, Spotify, Pandora, etc. |
|
{
|
||||||
| linkstack | linkstackorg/linkstack:latest@sha256:abd691b4293b020a317de8794737671e0315159efcb868e8a4124d6f0611f7ae | Personal profile |
|
"service": "docuseal",
|
||||||
| lldap | lldap/lldap:stable@sha256:9e605a66c02514bfcffd1b67cafb1e98d50992216bb2871d7ae44622047dd09d | LDAP made easy |
|
"image": "docuseal/docuseal:latest"
|
||||||
| loggifly | ghcr.io/clemcer/loggifly:latest@sha256:6faa4d4964994a9213494f879b58085acc04cafa2927cadfde98657676dfd199 | |
|
},
|
||||||
| maloja | krateng/maloja:latest@sha256:4ecea26058d2ca5168a8d53820279942d28f0606664cea6425f42371d5d88f95 | Simple self-hosted music scrobble database to create personal listening statistics |
|
{
|
||||||
| manyfold | lscr.io/linuxserver/manyfold:latest@sha256:d1641224025e227201b6110a9cb699b324395b0980d35f2808769f4ea79846f1 | Self-hosted digital asset manager for 3D print files |
|
"service": "duplicati",
|
||||||
| manyfold-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
"image": "lscr.io/linuxserver/duplicati:latest"
|
||||||
| mariadb | linuxserver/mariadb@sha256:195b6be2d3e2dd0744a54ba2542a136c572b3375bc7f019e37a505da5da3022b | |
|
},
|
||||||
| mastodon | lscr.io/linuxserver/mastodon:latest@sha256:b15c78b3bdaeb84bac40a6900dc2e37d188e0b9b512299e5b2f99766106a38d8 | Open-source social network |
|
{
|
||||||
| mastodon-pg-db | postgres:17-alpine@sha256:ef257d85f76e48da1c64832459b59fcaba1a4dac97bf5d7450c77753542eee94 | |
|
"service": "fastenhealth",
|
||||||
| mastodon-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
"image": "ghcr.io/fastenhealth/fasten-onprem:main"
|
||||||
| maxun-backend | getmaxun/maxun-backend:latest@sha256:d9c5f3036d2bccde7387cd3ab06f6cb9f23fb9f8094a9bf83eb194683724430e | |
|
},
|
||||||
| maxun-frontend | getmaxun/maxun-frontend:latest@sha256:fd6f977affa245a2b7d93ffada7c9a5d36657b1948d2374914d6a71e0df63dd6 | No-code web data extraction platform |
|
{
|
||||||
| maxun-pg-db | postgres:17-alpine@sha256:ef257d85f76e48da1c64832459b59fcaba1a4dac97bf5d7450c77753542eee94 | |
|
"service": "flaresolverr",
|
||||||
| maxun-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
"image": "ghcr.io/flaresolverr/flaresolverr:latest"
|
||||||
| meilisearch | getmeili/meilisearch:v1.24@sha256:d991eb07331e9d1f9cec7bc0f9523fd5d51aee3b223d997e0e66206361952056 | |
|
},
|
||||||
| meme-search-pro | ghcr.io/neonwatty/meme_search_pro:latest@sha256:bf3c20a6a0407ffa594d3e2fe8611073c0499659c90f44a28decd5e701e9e1f6 | Meme search engine built with Python and Ruby |
|
{
|
||||||
| meme-search-pro-img2txt-gen | ghcr.io/neonwatty/image_to_text_generator:latest@sha256:e8445afab38e2eae1fcb95101dd26cf66708ef72127b291cab748050b4700cb8 | |
|
"service": "ghost",
|
||||||
| meme-search-db | pgvector/pgvector:pg17@sha256:9ae02a756ba16a2d69dd78058e25915e36e189bb36ddf01ceae86390d7ed786a | |
|
"image": "ghost:latest"
|
||||||
| mini-qr | ghcr.io/lyqht/mini-qr:latest@sha256:babe90594f88cb3e8463a7622b1aac46defff7ef5c8d991299c5df4ca8514f66 | Scan and generate customized QR codes easily |
|
},
|
||||||
| minio | minio/minio:RELEASE.2025-04-22T22-12-26Z@sha256:a1ea29fa28355559ef137d71fc570e508a214ec84ff8083e39bc5428980b015e | S3-compatible storage backend |
|
{
|
||||||
| mixpost | inovector/mixpost:latest@sha256:088a0eed84289e9a408294acea969c1eebf80dff803d165629fe20c3442b0f8c | Multi-channel social media manager |
|
"service": "gitea",
|
||||||
| mixpost-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
"image": "gitea/gitea:1.22.2"
|
||||||
| mgob | stefanprodan/mgob@sha256:d089c6d105d7d0f9db5222786cb93d85b1bf61e28b21ad717cea90f92570c8f3 | Headless Automated MongoDB Backups |
|
},
|
||||||
| mongodb | mongo:7@sha256:a814f930db8c4514f5fe5dc3e489f58637fb7ee32a7b9bb0b7064d3274e90b8e | |
|
{
|
||||||
| mongodb-exporter | percona/mongodb_exporter:0.47.1@sha256:8ba5d6e25fe7e30912f10b01a9e16e14c6c3af05f36dcaed0659690d70dc1670 | |
|
"service": "gitea-db",
|
||||||
| multi-scrobbler | foxxmd/multi-scrobbler@sha256:e1e4832256f5fca895dc3e2f377abfb1476230eb6b30da97fbc32840f21d1e7f | JS App for scrobbling/recording play history from/to multiple sources |
|
"image": "postgres:14"
|
||||||
| n8n | docker.n8n.io/n8nio/n8n@sha256:a17dbca282c95d2aa5021f0860ca136c1bda529daaa37dbece117c029d65ca39 | Extendable workflow automation tool to easily automate tasks |
|
},
|
||||||
| navidrome | deluan/navidrome:latest@sha256:648ebd45c50c58edc7ad9f0cc3b4411a1bece16c81f0b3630a0ab0a739c6d7ec | Music Streaming |
|
{
|
||||||
| netalertx | jokobsk/netalertx:latest@sha256:9304e29cd71bf9ddc9f33d6a7ddb3d71bab71815e077ab330f86bcc081598a79 | Network Monitoring |
|
"service": "gitea-opengist",
|
||||||
| nextcloud | nextcloud/all-in-one:latest@sha256:090f59bbef2c6753b2ac58163d3bece84b15af19d9d83d02c33da83080cb6400 | Private Cloud |
|
"image": "ghcr.io/thomiceli/opengist:latest"
|
||||||
| nocodb | nocodb/nocodb:latest@sha256:8fd57018accf775fb5390392910e4b0ef6bb154f17c5732b478eb76c40ee8d1e | Turn any SQL-based database into a smart spreadsheet |
|
},
|
||||||
| nocodb-pg-db | postgres:16-alpine@sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297 | |
|
{
|
||||||
| nocodb-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
"service": "gitea-runner",
|
||||||
| ollama | ollama/ollama:latest@sha256:e2f0af4a865c61b580cc17a7e2bda3c82083046b74c5a5402ce32a0d84454f9b | |
|
"image": "gitea/act_runner:latest"
|
||||||
| ombi | lscr.io/linuxserver/ombi:latest@sha256:edd574de14131cfc1e641904684ff7aa7a98defedd42b8cfdff6159cb2917db1 | Media Requests |
|
},
|
||||||
| omnitools | iib0011/omni-tools:latest@sha256:66027051e7fcf25ca898f3ddddb1e7a7a6682fea4985ca4b96444a7b9d5a984c | Tools for common tasks |
|
{
|
||||||
| omnipoly | kweg/omnipoly:latest@sha256:fa133d5ac6534ee45e393fab85ad61098a0826351724996e0d29ba61033dde7d | Open-source language translation with LanguageTool, LibreTranslate, & Ollama |
|
"service": "gitea-sonarqube-bot",
|
||||||
| open-webui | ghcr.io/open-webui/open-webui:main@sha256:53a4d2fc8c7a7cc620cd18e6fe416ed9940f2db87fddf837e3aa55111bec6995 | User-friendly and extensible AI interface |
|
"image": "justusbunsi/gitea-sonarqube-bot:v0.4.0"
|
||||||
| open-webui-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
},
|
||||||
| paperless-ngx | ghcr.io/paperless-ngx/paperless-ngx:latest@sha256:5f2a72fd7be42c6b1d8fa1751606a140452d4c3e6e829ae6b1b15e3c95129481 | Document indexer & archiver with OCR |
|
{
|
||||||
| paperless-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
"service": "gluetun",
|
||||||
| pgbackweb | eduardolat/pgbackweb:latest@sha256:56358e7adff53250ec0b43cf2764e723e45872fa2b92b9608fdddfeebaafbed7 | Backups for PostgreSQL |
|
"image": "qmcgaw/gluetun:latest"
|
||||||
| pgbackweb-db | postgres:17-alpine@sha256:ef257d85f76e48da1c64832459b59fcaba1a4dac97bf5d7450c77753542eee94 | |
|
},
|
||||||
| planka | ghcr.io/plankanban/planka:2.0.0-rc.3@sha256:5a2a69ec7159a2f9c6679c31698e4b5b17ccf254d5bfc6e9be43e411b6de0c3d | Kanban board |
|
{
|
||||||
| planka-pg-db | postgres:16-alpine@sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297 | |
|
"service": "gotify",
|
||||||
| plant-it | msdeluise/plant-it-server:latest@sha256:23ddf8660087d6b9f5dbdca2ca09817b84db45cb2d9d6e2e0176e70f514629e7 | 🪴 Self-hosted, open source gardening companion app |
|
"image": "gotify/server"
|
||||||
| plant-it-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
},
|
||||||
| plantuml-server | plantuml/plantuml-server:jetty@sha256:ac656ab4215fd80554c59330fd365a3b29041e317f232563c7fc807680ec4ef0 | Textual diagram generator for UML & other visualizations. |
|
{
|
||||||
| portainer | portainer/portainer-ce:alpine@sha256:adcb33ce6a1debd31918a215ebfd08bca84259b907466d93cea63bd538d20f02 | Service delivery platform for containerized applications |
|
"service": "grafana",
|
||||||
| portchecker-web | ghcr.io/dsgnr/portcheckerio-web:latest@sha256:8bea203e8785541c0acac7860de9f70849b05806e0c6db1d83dfc1b8407a6077 | Service delivery platform for containerized applications |
|
"image": "grafana/grafana-enterprise:latest"
|
||||||
| portchecker-api | ghcr.io/dsgnr/portcheckerio-api:latest@sha256:7783796d791c3e10aedba9d5f7fc2b934bb0e7afa75bc89054b70b886ed39e5c | |
|
},
|
||||||
| postal-smtp | ghcr.io/postalserver/postal:latest@sha256:ff9a42deeda9b236ac36df012dab843b14726da8f3c2464c18c371f23107d986 | |
|
{
|
||||||
| postal-web | ghcr.io/postalserver/postal:latest@sha256:ff9a42deeda9b236ac36df012dab843b14726da8f3c2464c18c371f23107d986 | OSS Mail delivery platform |
|
"service": "grafana-alloy",
|
||||||
| postal-worker | ghcr.io/postalserver/postal:latest@sha256:ff9a42deeda9b236ac36df012dab843b14726da8f3c2464c18c371f23107d986 | |
|
"image": "grafana/alloy:latest"
|
||||||
| protonmail-bridge | shenxn/protonmail-bridge@sha256:3717b4441130675dc9131196de9f9c5287d2ea21b138d83b0486429e1737638a | |
|
},
|
||||||
| prowlarr | lscr.io/linuxserver/prowlarr:latest@sha256:643220338204525524db787ff38a607261597f49d1f550694acdb3e908e2b43e | Index aggregator |
|
{
|
||||||
| qbit-manage | ghcr.io/stuffanthings/qbit_manage:latest@sha256:64f749b97604d607747fc8b790821cf0317d8107385ea111afe1ed1c9d1d5b11 | |
|
"service": "grafana-loki",
|
||||||
| qbittorrentvpn | ghcr.io/binhex/arch-qbittorrentvpn:latest@sha256:e6556875ffa483ff603c0ed76c0c10122efad1edee2d9f5e4a94244accd5b3a3 | Fast and stable torrent client |
|
"image": "grafana/loki:latest"
|
||||||
| radarec | thewicklowwolf/radarec:latest@sha256:df726f35e3a1ef2f0cd482a6cf993bac8782804efd38ee8004c8694f7e8f526e | Movie discovery based on library/tastes |
|
},
|
||||||
| radarr | lscr.io/linuxserver/radarr:latest@sha256:c984533510abe0219a70e80d15bd0d212b7df21baa0913759c4ce6cc9092240b | Movie Automation |
|
{
|
||||||
| reactive-resume | amruthpillai/reactive-resume:latest@sha256:f1b27f567b2a1b57fb6b2a81f7b9cec0af577b6be945820c1599a0a8b6b91f8b | Open-source resume builder |
|
"service": "grafana-mimir",
|
||||||
| reactive-resume-pg | postgres:16-alpine@sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297 | |
|
"image": "grafana/mimir:latest"
|
||||||
| readarr | lscr.io/linuxserver/readarr:develop@sha256:eb37f58646a901dc7727cf448cae36daaefaba79de33b5058dab79aa4c04aefb | eBook/Audiobook Automation |
|
},
|
||||||
| redlib | quay.io/redlib/redlib:latest@sha256:25dbb5466ebd22e58277d4aa54897899b044f02f7219ca3054784aecc0be34e1 | Redlib is a private front-end like Invidious but for Reddit |
|
{
|
||||||
| rocketchat | registry.rocket.chat/rocketchat/rocket.chat:latest | Fully customizable communications platform with high standards of data protection |
|
"service": "grafana-mimir-memcached",
|
||||||
| romm | rommapp/romm:latest@sha256:056114e8fdab8d6b592d1330390e6203f08642d6ba17d1b3ad1681ce8fc8fee3 | Beautiful, powerful, self-hosted ROM manager |
|
"image": "memcached"
|
||||||
| romm-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
},
|
||||||
| sabnzbdvpn | ghcr.io/binhex/arch-sabnzbdvpn:latest@sha256:411ed4ba589529960690c08de64fb2791c76d37d9a4278a99d30d7d32fc701f5 | NZB Downloader over VPN |
|
{
|
||||||
| sablier | sablierapp/sablier:latest@sha256:4d4096b59a6e1496bd3106c1a90a7fdd161aafb73d58539b8c749c69380dedae | |
|
"service": "grafana-pyroscope",
|
||||||
| scraparr | ghcr.io/thecfu/scraparr:2@sha256:cfe07f005aa6e93221dd0bb540600aaa51ea1215968595806863f9df3dc3b26c | |
|
"image": "grafana/pyroscope:latest"
|
||||||
| scrutiny | ghcr.io/analogj/scrutiny:master-omnibus@sha256:e5638d8580adba40f7c03464cde8420866188b9e48cddb9fc3866ec3243163d5 | WebUI for smartd S.M.A.R.T monitoring |
|
},
|
||||||
| searxng | searxng/searxng:latest@sha256:5a5d0e69819757e3fa23392a687c63851250bc13d2486a1f1711804b1691dc12 | Anonymized Meta-Search Engine |
|
{
|
||||||
| searxng-valkey | docker.io/valkey/valkey:9-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 | |
|
"service": "grafana-tempo",
|
||||||
| semaphore-ui | semaphoreui/semaphore:v2.16.45@sha256:979a5924ed459d5169178197fc7b4d849bcb6fbb4aded1f1d1c0b279717b5187 | Modern UI for Ansible, Terraform, OpenTofu, PowerShell and other DevOps tools |
|
"image": "grafana/tempo:latest"
|
||||||
| signoz-app | signoz/signoz:v0.96.1@sha256:e2cded000c87adb0366c9ae4f292e034515458552d151879195071ba4f078b4e | Logs, metrics, and traces in a single pane |
|
},
|
||||||
| signoz-clickhouse | clickhouse/clickhouse-server:25.5.6-alpine | |
|
{
|
||||||
| signoz-init-clickhouse | clickhouse/clickhouse-server:25.5.6-alpine | |
|
"service": "homepage",
|
||||||
| signoz-logspout | pavanputhra/logspout-signoz@sha256:6da8ce12279a5262de8b2d5c083ce82d4c878c4eab702b4d328afe147ed7553b | |
|
"image": "ghcr.io/gethomepage/homepage:latest"
|
||||||
| signoz-otel-collector | signoz/signoz-otel-collector:v0.129.8@sha256:1beda534e337767597c3fdc83fcca8593a98b6db89bc34032e8fec7c58b7c900 | |
|
},
|
||||||
| signoz-schema-migrator-async | signoz/signoz-schema-migrator:v0.129.8@sha256:eb20e69025373e0d9749d3a88e34d74654ea4c03be694eebdb5b76a6cbeadfdc | |
|
{
|
||||||
| signoz-schema-migrator-sync | signoz/signoz-schema-migrator:v0.129.8@sha256:eb20e69025373e0d9749d3a88e34d74654ea4c03be694eebdb5b76a6cbeadfdc | |
|
"service": "hortusfox",
|
||||||
| signoz-zookeeper-1 | signoz/zookeeper:3.7.1@sha256:fcc4a3288154ccaa3bdb5ae6dc10180c084d29a8a6a26b62ac8e30a8940dc2e6 | |
|
"image": "ghcr.io/danielbrendel/hortusfox-web:latest"
|
||||||
| sonarqube | mc1arke/sonarqube-with-community-branch-plugin:lts@sha256:70b055c294a2a751357ee65d5d55139c93f87faed436d0075034da38b2edafa1 | Code/DevOps quality/security |
|
},
|
||||||
| sonarqube-pg-db | postgres:17-alpine@sha256:ef257d85f76e48da1c64832459b59fcaba1a4dac97bf5d7450c77753542eee94 | |
|
{
|
||||||
| sonarr | lscr.io/linuxserver/sonarr:latest@sha256:4b8a853b76337cd5de5f69961e23b7d0792ce7bf0a8be083dd7202ef670bfc34 | TV Show Automation |
|
"service": "hugo",
|
||||||
| sonashow | thewicklowwolf/sonashow:latest@sha256:4b40df407bf31577668bfb3191e007ac78c349d81bfde7463ec8433d417ebd3d | TV show discovery based on library/tastes |
|
"image": "hugomods/hugo:exts"
|
||||||
| soularr | mrusse08/soularr:latest@sha256:71a0b9e5a522d76bb0ffdb6d720d681fde22417b3a5acc9ecae61c89d05d8afc | |
|
},
|
||||||
| soularr-dashboard | ghcr.io/mrusse/soularr:main@sha256:61181c5809845d2c49c8c3c182c0280c5c91069cd2e5d7c341ddd8bfa2c01598 | Dashboard for monitoring Soularr |
|
{
|
||||||
| soulseek | slskd/slskd@sha256:239ccb871fa1a624aa8ad4f11a712b4ec6c7a2ff570bf5800abae2cf91030834 | Modern client-server application for the Soulseek file-sharing network. |
|
"service": "invidious",
|
||||||
| speedtest-tracker | lscr.io/linuxserver/speedtest-tracker:latest@sha256:f09edeb0c1dbb63db9c0bf256e8cb41cea48943d97881dba4522991051ebd28c | Self-hosted internet performance tracking |
|
"image": "quay.io/invidious/invidious:latest"
|
||||||
| stable-diffusion-webui | ghcr.io/neggles/sd-webui-docker:latest@sha256:1795fe796e1dad0d8d3baa9ef7c38a255b69c0878b76869feecc617bfd015e53 | |
|
},
|
||||||
| stirling-pdf | docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest@sha256:bfe2b8dd378c4f3d5fc1d2fc7649a357d0916b3a713022aa70ac3f08d6302cbc | PDF Operations |
|
{
|
||||||
| swag | lscr.io/linuxserver/swag:latest@sha256:19c0853e19c0446a45e84773ee4b2ff94ed643fc30d7e49070145601e378a0b3 | SWAG Dashboard for proxies |
|
"service": "invidious-db",
|
||||||
| tandoor | vabene1111/recipes@sha256:af6bd76e703d644748a93d581da05c25159d742b94b2da9eddadaaec93555858 | Recipes, cookbooks, meal-planning, & grocery lists |
|
"image": "docker.io/library/postgres:14"
|
||||||
| tandoor-pg | postgres:16-alpine@sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297 | |
|
},
|
||||||
| unmanic | josh5/unmanic:latest@sha256:998f2dd5cbf6379a85e3427d0339dcfd3500f93e7a2ad089b968803d3fe05fbe | Library Optimizer |
|
{
|
||||||
| uptimekuma | louislam/uptime-kuma:latest@sha256:431fee3be822b04861cf0e35daf4beef6b7cb37391c5f26c3ad6e12ce280fe18 | HTTP Endpoint Monitoring |
|
"service": "invoice_ninja",
|
||||||
| vault | hashicorp/vault:latest@sha256:62dd55c9ccbdc0af0a9269e87481a64650258907434d5ddb5e795e2eb2ac5780 | HashiCorp Vault for secrets, key/value stores, etc. |
|
"image": "invoiceninja/invoiceninja:5"
|
||||||
| wallos | bellamy/wallos:latest@sha256:1277c83dc626853ac14658c1b0aaf003e1bced213c37370d149fdd9622b5747f | Subscription Tracking |
|
},
|
||||||
| web-check | lissy93/web-check@sha256:f2d1dc726958c1d79ac459cac84eb26eb4f203a4d27447f336695a8c1884f1e3 | Site scanner for attack vectors, architecture, security configs, and more |
|
{
|
||||||
| whodb | clidey/whodb@sha256:9bdd46c7d37c2cf6aa57a689749eb28acd5ea6b63519c58d59cb25a1ee8f57ae | Lightweight next-gen database explorer |
|
"service": "invoice_ninja_proxy",
|
||||||
| wizarr | ghcr.io/wizarrrr/wizarr@sha256:dbf51675f35cd39db92d0a6522b461eec5e28f65357d804c60daca60ba1f3dd8 | User invitation management system for Jellyfin, Plex, and Emby |
|
"image": "nginx"
|
||||||
| youtubedl | nbr23/youtube-dl-server:latest@sha256:a5274ded39024da2fe8c3116747e9b906a867ffea8307a6cd4220215f1dfefed | YouTube Downloader |
|
},
|
||||||
|
{
|
||||||
|
"service": "it-tools",
|
||||||
|
"image": "ghcr.io/corentinth/it-tools:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "jellyfin",
|
||||||
|
"image": "jellyfin/jellyfin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "jitsi-etherpad",
|
||||||
|
"image": "etherpad/etherpad:1.8.6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "jitsi-jibri",
|
||||||
|
"image": "jitsi/jibri:${JITSI_IMAGE_VERSION:-stable}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "jitsi-jicofo",
|
||||||
|
"image": "jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "jitsi-jigasi",
|
||||||
|
"image": "jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "jitsi-jvb",
|
||||||
|
"image": "jitsi/jvb:${JITSI_IMAGE_VERSION:-stable}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "jitsi-prosody",
|
||||||
|
"image": "jitsi/prosody:${JITSI_IMAGE_VERSION:-stable}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "jitsi-web",
|
||||||
|
"image": "jitsi/web:${JITSI_IMAGE_VERSION:-stable}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "joplin-db",
|
||||||
|
"image": "postgres:17-alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "joplin",
|
||||||
|
"image": "joplin/server:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "komodo-core",
|
||||||
|
"image": "ghcr.io/mbecker20/komodo:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "komodo-ferretdb",
|
||||||
|
"image": "ghcr.io/ferretdb/ferretdb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "komodo-periphery",
|
||||||
|
"image": "ghcr.io/mbecker20/periphery:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "komodo-pg-db",
|
||||||
|
"image": "postgres:17-alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "librespeed",
|
||||||
|
"image": "lscr.io/linuxserver/librespeed:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "lidarr",
|
||||||
|
"image": "lscr.io/linuxserver/lidarr:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "lidify",
|
||||||
|
"image": "thewicklowwolf/lidify:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "lldap",
|
||||||
|
"image": "lldap/lldap:stable"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "localai",
|
||||||
|
"image": "localai/localai:latest-aio-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "maloja",
|
||||||
|
"image": "krateng/maloja:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "mariadb",
|
||||||
|
"image": "ghcr.io/linuxserver/mariadb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "meshcentral",
|
||||||
|
"image": "ghcr.io/ylianst/meshcentral:master"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "minio",
|
||||||
|
"image": "minio/minio"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "mongodb",
|
||||||
|
"image": "mongo:7.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "multi-scrobbler",
|
||||||
|
"image": "foxxmd/multi-scrobbler"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "n8n",
|
||||||
|
"image": "docker.n8n.io/n8nio/n8n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "navidrome",
|
||||||
|
"image": "deluan/navidrome:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "netbox",
|
||||||
|
"image": "lscr.io/linuxserver/netbox:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "netbox-db",
|
||||||
|
"image": "postgres:17-alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "nextcloud",
|
||||||
|
"image": "lscr.io/linuxserver/nextcloud:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "ollama",
|
||||||
|
"image": "ollama/ollama"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "ombi",
|
||||||
|
"image": "lscr.io/linuxserver/ombi:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "paperless-ngx",
|
||||||
|
"image": "ghcr.io/paperless-ngx/paperless-ngx:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "plausible",
|
||||||
|
"image": "ghcr.io/plausible/community-edition:v2.1.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "plausible_db",
|
||||||
|
"image": "postgres:16-alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "plausible_events_db",
|
||||||
|
"image": "clickhouse/clickhouse-server:24.3.3.102-alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "postal-smtp",
|
||||||
|
"image": "ghcr.io/postalserver/postal:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "postal-web",
|
||||||
|
"image": "ghcr.io/postalserver/postal:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "postal-worker",
|
||||||
|
"image": "ghcr.io/postalserver/postal:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "prowlarr",
|
||||||
|
"image": "lscr.io/linuxserver/prowlarr:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "radarec",
|
||||||
|
"image": "thewicklowwolf/radarec:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "radarr",
|
||||||
|
"image": "lscr.io/linuxserver/radarr:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "reactive-resume",
|
||||||
|
"image": "amruthpillai/reactive-resume:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "reactive-resume-pg",
|
||||||
|
"image": "postgres:16-alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "readarr",
|
||||||
|
"image": "lscr.io/linuxserver/readarr:develop"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "redis",
|
||||||
|
"image": "redis:alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "redlib",
|
||||||
|
"image": "quay.io/redlib/redlib:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "sabnzbdvpn",
|
||||||
|
"image": "ghcr.io/binhex/arch-sabnzbdvpn:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "scraperr",
|
||||||
|
"image": "jpyles0524/scraperr:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "scraperr-api",
|
||||||
|
"image": "jpyles0524/scraperr_api:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "scrutiny",
|
||||||
|
"image": "ghcr.io/analogj/scrutiny:master-omnibus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "searxng",
|
||||||
|
"image": "searxng/searxng:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "semaphore",
|
||||||
|
"image": "semaphoreui/semaphore:v2.10.32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "slurpit-portal",
|
||||||
|
"image": "slurpit/portal:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "slurpit-scanner",
|
||||||
|
"image": "slurpit/scanner:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "slurpit-scraper",
|
||||||
|
"image": "slurpit/scraper:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "slurpit-warehouse",
|
||||||
|
"image": "slurpit/warehouse:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "sonarqube",
|
||||||
|
"image": "mc1arke/sonarqube-with-community-branch-plugin:lts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "sonarqube-pg-db",
|
||||||
|
"image": "postgres:17-alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "sonarr",
|
||||||
|
"image": "lscr.io/linuxserver/sonarr:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "sonashow",
|
||||||
|
"image": "thewicklowwolf/sonashow:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "soulseek",
|
||||||
|
"image": "slskd/slskd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "spotisub",
|
||||||
|
"image": "blastbeng/spotisub:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "swag",
|
||||||
|
"image": "lscr.io/linuxserver/swag:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "synapse",
|
||||||
|
"image": "docker.io/matrixdotorg/synapse:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "synapse-db",
|
||||||
|
"image": "postgres:16-alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "tandoor",
|
||||||
|
"image": "vabene1111/recipes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "tandoor-pg",
|
||||||
|
"image": "postgres:16-alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "traccar",
|
||||||
|
"image": "traccar/traccar:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "traccar-pg",
|
||||||
|
"image": "postgres:16-alpine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "unmanic",
|
||||||
|
"image": "josh5/unmanic:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "uptimekuma",
|
||||||
|
"image": "louislam/uptime-kuma:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "vault",
|
||||||
|
"image": "hashicorp/vault:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "wallabag",
|
||||||
|
"image": "wallabag/wallabag"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "wallos",
|
||||||
|
"image": "bellamy/wallos:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "watchtower",
|
||||||
|
"image": "ghcr.io/containrrr/watchtower:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "wazuh.agent",
|
||||||
|
"image": "opennix/wazuh-agent:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "wazuh.dashboard",
|
||||||
|
"image": "wazuh/wazuh-dashboard:${WAZUH_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "wazuh.indexer",
|
||||||
|
"image": "wazuh/wazuh-indexer:${WAZUH_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "wazuh.manager",
|
||||||
|
"image": "wazuh/wazuh-manager:${WAZUH_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "web-check",
|
||||||
|
"image": "lissy93/web-check"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "whodb",
|
||||||
|
"image": "clidey/whodb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "your_spotify",
|
||||||
|
"image": "lscr.io/linuxserver/your_spotify:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "youtubedl",
|
||||||
|
"image": "nbr23/youtube-dl-server:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zammad-backup",
|
||||||
|
"image": "postgres:${ZAMMAD_POSTGRES_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zammad-elasticsearch",
|
||||||
|
"image": "bitnami/elasticsearch:${ZAMMAD_ELASTICSEARCH_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zammad-init",
|
||||||
|
"image": "${ZAMMAD_IMAGE_REPO}:${ZAMMAD_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zammad-memcached",
|
||||||
|
"image": "memcached:${ZAMMAD_MEMCACHE_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zammad-nginx",
|
||||||
|
"image": "${ZAMMAD_IMAGE_REPO}:${ZAMMAD_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zammad-postgresql",
|
||||||
|
"image": "postgres:${ZAMMAD_POSTGRES_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zammad-railsserver",
|
||||||
|
"image": "${ZAMMAD_IMAGE_REPO}:${ZAMMAD_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zammad-redis",
|
||||||
|
"image": "redis:${ZAMMAD_REDIS_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zammad-scheduler",
|
||||||
|
"image": "${ZAMMAD_IMAGE_REPO}:${ZAMMAD_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zammad-websocket",
|
||||||
|
"image": "${ZAMMAD_IMAGE_REPO}:${ZAMMAD_VERSION}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zitadel",
|
||||||
|
"image": "ghcr.io/zitadel/zitadel:latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"service": "zitadel-pg-db",
|
||||||
|
"image": "postgres:16-alpine"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
+4364
-4173
File diff suppressed because it is too large
Load Diff
+842
@@ -0,0 +1,842 @@
|
|||||||
|
# Global Settings
|
||||||
|
COMPOSE_HTTP_TIMEOUT=''
|
||||||
|
DOCKER_GID=''
|
||||||
|
DOCKER_HOSTNAME=''
|
||||||
|
DOCKER_VOLUME_CONFIG=''
|
||||||
|
DOCKER_VOLUME_STORAGE=''
|
||||||
|
PGID=''
|
||||||
|
PUID=''
|
||||||
|
TZ=''
|
||||||
|
MY_TLD=''
|
||||||
|
# END OF DEFAULT SETTINGS
|
||||||
|
|
||||||
|
##
|
||||||
|
## ADDY
|
||||||
|
##
|
||||||
|
ADDY_ANONADDY_ADDITIONAL_USERNAME_LIMIT=''
|
||||||
|
ADDY_ANONADDY_ADMIN_USERNAME=''
|
||||||
|
ADDY_ANONADDY_ALL_DOMAINS=''
|
||||||
|
ADDY_ANONADDY_BANDWIDTH_LIMIT=''
|
||||||
|
ADDY_ANONADDY_DKIM_SELECTOR=''
|
||||||
|
ADDY_ANONADDY_DKIM_SIGNING_KEY=''
|
||||||
|
ADDY_ANONADDY_DNS_RESOLVER=''
|
||||||
|
ADDY_ANONADDY_DOMAIN=''
|
||||||
|
ADDY_ANONADDY_HOSTNAME=''
|
||||||
|
ADDY_ANONADDY_LIMIT=''
|
||||||
|
ADDY_ANONADDY_NEW_ALIAS_LIMIT=''
|
||||||
|
ADDY_ANONADDY_RETURN_PATH=''
|
||||||
|
ADDY_ANONADDY_SECRET=''
|
||||||
|
ADDY_ANONADDY_SIGNING_KEY_FINGERPRINT=''
|
||||||
|
ADDY_APP_KEY=''
|
||||||
|
ADDY_APP_URL=''
|
||||||
|
ADDY_DB_PASSWORD=''
|
||||||
|
ADDY_MAIL_ENCRYPTION=''
|
||||||
|
ADDY_MAIL_FROM_ADDRESS=''
|
||||||
|
ADDY_MAIL_FROM_NAME=''
|
||||||
|
ADDY_POSTFIX_DEBUG=''
|
||||||
|
ADDY_POSTFIX_MESSAGE_SIZE_LIMIT=''
|
||||||
|
ADDY_POSTFIX_RELAYHOST=''
|
||||||
|
ADDY_POSTFIX_RELAYHOST_AUTH_ENABLE=''
|
||||||
|
ADDY_POSTFIX_SMTPD_TLS_CERT_FILE=''
|
||||||
|
ADDY_POSTFIX_SMTPD_TLS_KEY_FILE=''
|
||||||
|
ADDY_POSTFIX_SPAMHAUS_DQS_KEY=''
|
||||||
|
ADDY_REDIS_PASSWORD=''
|
||||||
|
ADDY_RSPAMD_NO_LOCAL_ADDRS=''
|
||||||
|
ADDY_RSPAMD_WEB_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## ADGUARD
|
||||||
|
##
|
||||||
|
ADGUARD_CONTAINER_NAME=''
|
||||||
|
ADGUARD_ENABLED=''
|
||||||
|
ADGUARD_ENVIRONMENT_SERVERIP=''
|
||||||
|
ADGUARD_NETWORK_MODE=''
|
||||||
|
ADGUARD_PORT_3000=''
|
||||||
|
ADGUARD_PORT_443=''
|
||||||
|
ADGUARD_PORT_53=''
|
||||||
|
ADGUARD_PORT_67=''
|
||||||
|
ADGUARD_PORT_68=''
|
||||||
|
ADGUARD_PORT_80=''
|
||||||
|
ADGUARD_PORT_853=''
|
||||||
|
ADGUARD_RESTART=''
|
||||||
|
ADGUARD_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## ADGUARD
|
||||||
|
##
|
||||||
|
ADGUARD_CF_TUNNEL_PASSWORD=''
|
||||||
|
ADGUARD_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## ANYTHINGLLM
|
||||||
|
##
|
||||||
|
ANYTHINGLLM_JWT_SECRET=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## APPRISE
|
||||||
|
##
|
||||||
|
APPRISE_CONTAINER_NAME=''
|
||||||
|
APPRISE_ENABLED=''
|
||||||
|
APPRISE_NETWORK_MODE=''
|
||||||
|
APPRISE_PORT_8000=''
|
||||||
|
APPRISE_RESTART=''
|
||||||
|
APPRISE_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## AUDIOBOOKSHELF
|
||||||
|
##
|
||||||
|
AUDIOBOOKSHELF_CONTAINER_NAME=''
|
||||||
|
AUDIOBOOKSHELF_ENABLED=''
|
||||||
|
AUDIOBOOKSHELF_NETWORK_MODE=''
|
||||||
|
AUDIOBOOKSHELF_PORT_80=''
|
||||||
|
AUDIOBOOKSHELF_RESTART=''
|
||||||
|
AUDIOBOOKSHELF_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## AUDIOBOOKSHELF
|
||||||
|
##
|
||||||
|
AUDIOBOOKSHELF_ROOT_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## AUTHELIA
|
||||||
|
##
|
||||||
|
AUTHELIA_AUTH_BIND_LDAP_PASSWORD=''
|
||||||
|
AUTHELIA_JWT_SECRET=''
|
||||||
|
AUTHELIA_SESSION_SECRET=''
|
||||||
|
AUTHELIA_STORAGE_ENCRYPTION_KEY=''
|
||||||
|
AUTHELIA_STORAGE_POSTGRES_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## BAZARR
|
||||||
|
##
|
||||||
|
BAZARR_CONTAINER_NAME=''
|
||||||
|
BAZARR_ENABLED=''
|
||||||
|
BAZARR_NETWORK_MODE=''
|
||||||
|
BAZARR_PORT_6767=''
|
||||||
|
BAZARR_RESTART=''
|
||||||
|
BAZARR_TAG=''
|
||||||
|
BAZARR_API_KEY=''
|
||||||
|
##
|
||||||
|
## BITMAGNET
|
||||||
|
##
|
||||||
|
BITMAGNET_POSTGRESQL_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## BITWARDEN
|
||||||
|
##
|
||||||
|
BITWARDEN_CONTAINER_NAME=''
|
||||||
|
BITWARDEN_ENABLED=''
|
||||||
|
BITWARDEN_ENVIRONMENT_ADMIN_TOKEN=''
|
||||||
|
BITWARDEN_ENVIRONMENT_DATABASE_URL=''
|
||||||
|
BITWARDEN_ENVIRONMENT_DISABLE_ADMIN_TOKEN=''
|
||||||
|
BITWARDEN_ENVIRONMENT_DOMAIN=''
|
||||||
|
BITWARDEN_ENVIRONMENT_ENABLE_DB_WAL=''
|
||||||
|
BITWARDEN_ENVIRONMENT_INVITATIONS_ALLOWED=''
|
||||||
|
BITWARDEN_ENVIRONMENT_SHOW_PASSWORD_HINT=''
|
||||||
|
BITWARDEN_ENVIRONMENT_SIGNUPS_ALLOWED=''
|
||||||
|
BITWARDEN_ENVIRONMENT_SIGNUPS_VERIFY=''
|
||||||
|
BITWARDEN_ENVIRONMENT_WEBSOCKET_ENABLE=''
|
||||||
|
BITWARDEN_NETWORK_MODE=''
|
||||||
|
BITWARDEN_PORT_3012=''
|
||||||
|
BITWARDEN_PORT_80=''
|
||||||
|
BITWARDEN_RESTART=''
|
||||||
|
BITWARDEN_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## CHROMIUM
|
||||||
|
##
|
||||||
|
CHROMIUM_TOKEN=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## CLOUDFLARE
|
||||||
|
##
|
||||||
|
CLOUDFLARE_ACCOUNT_ID=''
|
||||||
|
CLOUDFLARE_DNS_API_TOKEN=''
|
||||||
|
CLOUDFLARE_ZONE_ID=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## CLOUDFLAREDDNS
|
||||||
|
##
|
||||||
|
CLOUDFLAREDDNS_CONTAINER_NAME=''
|
||||||
|
CLOUDFLAREDDNS_ENABLED=''
|
||||||
|
CLOUDFLAREDDNS_ENVIRONMENT_APIKEY=''
|
||||||
|
CLOUDFLAREDDNS_ENVIRONMENT_APITOKEN=''
|
||||||
|
CLOUDFLAREDDNS_ENVIRONMENT_ARGS=''
|
||||||
|
CLOUDFLAREDDNS_ENVIRONMENT_DETECTION_MODE=''
|
||||||
|
CLOUDFLAREDDNS_ENVIRONMENT_HOSTS=''
|
||||||
|
CLOUDFLAREDDNS_ENVIRONMENT_INTERVAL=''
|
||||||
|
CLOUDFLAREDDNS_ENVIRONMENT_LOG_LEVEL=''
|
||||||
|
CLOUDFLAREDDNS_ENVIRONMENT_RECORDTYPES=''
|
||||||
|
CLOUDFLAREDDNS_ENVIRONMENT_USER=''
|
||||||
|
CLOUDFLAREDDNS_ENVIRONMENT_ZONES=''
|
||||||
|
CLOUDFLAREDDNS_RESTART=''
|
||||||
|
CLOUDFLAREDDNS_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## CROWDSEC
|
||||||
|
##
|
||||||
|
CROWDSEC_API_KEY=''
|
||||||
|
CROWDSEC_LOCAL_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## DELUGEVPN
|
||||||
|
##
|
||||||
|
DELUGEVPN_CONTAINER_NAME=''
|
||||||
|
DELUGEVPN_ENABLED=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_ENABLE_PRIVOXY=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_LAN_NETWORK=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_NAME_SERVERS=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_VPN_CLIENT=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_VPN_ENABLE=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_VPN_INPUT_PORTS=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_VPN_OPTIONS=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_VPN_OUTPUT_PORTS=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_VPN_PASS=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_VPN_PROV=''
|
||||||
|
DELUGEVPN_ENVIRONMENT_VPN_USER=''
|
||||||
|
DELUGEVPN_NETWORK_MODE=''
|
||||||
|
DELUGEVPN_PORT_58846=''
|
||||||
|
DELUGEVPN_PORT_58946=''
|
||||||
|
DELUGEVPN_PORT_8112=''
|
||||||
|
DELUGEVPN_PORT_8118=''
|
||||||
|
DELUGEVPN_RESTART=''
|
||||||
|
DELUGEVPN_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## DELUGEVPN
|
||||||
|
##
|
||||||
|
DELUGEVPN_PASSWORD=''
|
||||||
|
DELUGEVPN_PORT_51413=''
|
||||||
|
DELUGEVPN_PORT_6881=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## DUPLICATI
|
||||||
|
##
|
||||||
|
DUPLICATI_CONTAINER_NAME=''
|
||||||
|
DUPLICATI_ENABLED=''
|
||||||
|
DUPLICATI_NETWORK_MODE=''
|
||||||
|
DUPLICATI_PORT_8200=''
|
||||||
|
DUPLICATI_RESTART=''
|
||||||
|
DUPLICATI_TAG=''
|
||||||
|
DUPLICATI_VOLUME_BACKUPSDIR=''
|
||||||
|
DUPLICATI_VOLUME_SOURCEDIR=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## DUPLICATI
|
||||||
|
##
|
||||||
|
DUPLICATI_CF_TUNNEL_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## EMBY
|
||||||
|
##
|
||||||
|
EMBY_CONTAINER_NAME=''
|
||||||
|
EMBY_ENABLED=''
|
||||||
|
EMBY_NETWORK_MODE=''
|
||||||
|
EMBY_PORT_8096=''
|
||||||
|
EMBY_PORT_8920=''
|
||||||
|
EMBY_RESTART=''
|
||||||
|
EMBY_TAG=''
|
||||||
|
EMBY_VOLUME_TRANSCODEDIR=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## EMBY
|
||||||
|
##
|
||||||
|
EMBY_HOMEPAGE_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## FLARESOLVERR
|
||||||
|
##
|
||||||
|
FLARESOLVERR_CONTAINER_NAME=''
|
||||||
|
FLARESOLVERR_ENABLED=''
|
||||||
|
FLARESOLVERR_ENVIRONMENT_CAPTCHA_SOLVER=''
|
||||||
|
FLARESOLVERR_ENVIRONMENT_LOG_HTML=''
|
||||||
|
FLARESOLVERR_ENVIRONMENT_LOG_LEVEL=''
|
||||||
|
FLARESOLVERR_NETWORK_MODE=''
|
||||||
|
FLARESOLVERR_PORT_8191=''
|
||||||
|
FLARESOLVERR_RESTART=''
|
||||||
|
FLARESOLVERR_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## GHOST
|
||||||
|
##
|
||||||
|
GHOST_DB_PASSWORD=''
|
||||||
|
GHOST_DB_USER=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## GITEA
|
||||||
|
##
|
||||||
|
GITEA_HOMEPAGE_API_KEY=''
|
||||||
|
GITEA_PG_DB_PASSWORD=''
|
||||||
|
GITEA_RUNNER_REGISTRATION_TOKEN=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## GLUETUN
|
||||||
|
##
|
||||||
|
GLUETUN_SERVER_REGIONS=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## GOTIFY
|
||||||
|
##
|
||||||
|
GOTIFY_HOMEPAGE_CLIENT_KEY=''
|
||||||
|
GOTIFY_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## GRAFANA
|
||||||
|
##
|
||||||
|
GRAFANA_CONTAINER_NAME=''
|
||||||
|
GRAFANA_ENABLED=''
|
||||||
|
GRAFANA_ENVIRONMENT_GF_INSTALL_PLUGINS=''
|
||||||
|
GRAFANA_NETWORK_MODE=''
|
||||||
|
GRAFANA_PORT_3000=''
|
||||||
|
GRAFANA_RESTART=''
|
||||||
|
GRAFANA_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## GRAFANA
|
||||||
|
##
|
||||||
|
GRAFANA_ADMIN_PASSWORD=''
|
||||||
|
GRAFANA_MIMIR_HTTP_AUTH_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## GUID
|
||||||
|
##
|
||||||
|
GUID=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## HORTUSFOX
|
||||||
|
##
|
||||||
|
HORTUSFOX_ADMIN_PASSWORD=''
|
||||||
|
HORTUSFOX_DB_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## HUGINN
|
||||||
|
##
|
||||||
|
HUGINN_CONTAINER_NAME=''
|
||||||
|
HUGINN_ENABLED=''
|
||||||
|
HUGINN_ENVIRONMENT_DATABASE_HOST=''
|
||||||
|
HUGINN_ENVIRONMENT_DATABASE_NAME=''
|
||||||
|
HUGINN_ENVIRONMENT_DATABASE_PASSWORD=''
|
||||||
|
HUGINN_ENVIRONMENT_DATABASE_PORT=''
|
||||||
|
HUGINN_ENVIRONMENT_DATABASE_USERNAME=''
|
||||||
|
HUGINN_NETWORK_MODE=''
|
||||||
|
HUGINN_PORT_3000=''
|
||||||
|
HUGINN_RESTART=''
|
||||||
|
HUGINN_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## IN
|
||||||
|
##
|
||||||
|
IN_APP_KEY=''
|
||||||
|
IN_MYSQL_PASSWORD=''
|
||||||
|
IN_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## JAN
|
||||||
|
##
|
||||||
|
JAN_AI_S3_ACCESS_KEY=''
|
||||||
|
JAN_AI_S3_SECRET_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## JITSI
|
||||||
|
##
|
||||||
|
JITSI__ADMIN_DB_PASSWORD=''
|
||||||
|
JITSI__ADMIN_JWT_SECRET=''
|
||||||
|
JITSI__ETHERPAD_DEFAULT_PAD_TEXT=''
|
||||||
|
JITSI__ETHERPAD_SKIN_NAME=''
|
||||||
|
JITSI__ETHERPAD_SKIN_VARIANTS=''
|
||||||
|
JITSI__ETHERPAD_TITLE=''
|
||||||
|
JITSI__ETHERPAD_URL_BASE=''
|
||||||
|
JITSI__HTTP_PORT=''
|
||||||
|
JITSI__HTTPS_PORT=''
|
||||||
|
JITSI__JIBRI_RECORDER_PASSWORD=''
|
||||||
|
JITSI__JIBRI_XMPP_PASSWORD=''
|
||||||
|
JITSI__JICOFO_AUTH_PASSWORD=''
|
||||||
|
JITSI__JIGAGI_SIP_PASSWORD=''
|
||||||
|
JITSI__JIGAGI_SIP_PORT=''
|
||||||
|
JITSI__JIGAGI_SIP_SERVER=''
|
||||||
|
JITSI__JIGAGI_SIP_TRANSPORT=''
|
||||||
|
JITSI__JIGAGI_SIP_URI=''
|
||||||
|
JITSI__JIGASI_XMPP_PASSWORD=''
|
||||||
|
JITSI__JVB_AUTH_PASSWORD=''
|
||||||
|
JITSI__PUBLIC_URL=''
|
||||||
|
JITSI__SIP_URI=''
|
||||||
|
JITSI__TZ=''
|
||||||
|
JITSI__WEBSOCKET_SECRET=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## JOPLIN
|
||||||
|
##
|
||||||
|
JOPLIN_APP_BASE_URL=''
|
||||||
|
JOPLIN_APP_PORT=''
|
||||||
|
JOPLIN_POSTGRES_DATABASE=''
|
||||||
|
JOPLIN_POSTGRES_PASSWORD=''
|
||||||
|
JOPLIN_POSTGRES_PORT=''
|
||||||
|
JOPLIN_POSTGRES_USER=''
|
||||||
|
JOPLIN_S3_ACCESS_KEY=''
|
||||||
|
JOPLIN_S3_SECRET_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## KEYCLOAK
|
||||||
|
##
|
||||||
|
KEYCLOAK_ADMIN_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## LAN
|
||||||
|
##
|
||||||
|
LAN_NETWORK=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## LASTFM
|
||||||
|
##
|
||||||
|
LASTFM_API_KEY=''
|
||||||
|
LASTFM_API_SECRET=''
|
||||||
|
LASTFM_PASSWORD=''
|
||||||
|
LASTFM_USERNAME=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## LIBRESPEED
|
||||||
|
##
|
||||||
|
LIBRESPEED_CONTAINER_NAME=''
|
||||||
|
LIBRESPEED_ENABLED=''
|
||||||
|
LIBRESPEED_ENVIRONMENT_DB_HOSTNAME=''
|
||||||
|
LIBRESPEED_ENVIRONMENT_DB_NAME=''
|
||||||
|
LIBRESPEED_ENVIRONMENT_DB_PASSWORD=''
|
||||||
|
LIBRESPEED_ENVIRONMENT_DB_TYPE=''
|
||||||
|
LIBRESPEED_ENVIRONMENT_DB_USERNAME=''
|
||||||
|
LIBRESPEED_ENVIRONMENT_PASSWORD=''
|
||||||
|
LIBRESPEED_NETWORK_MODE=''
|
||||||
|
LIBRESPEED_PORT_80=''
|
||||||
|
LIBRESPEED_RESTART=''
|
||||||
|
LIBRESPEED_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## LIDARR
|
||||||
|
##
|
||||||
|
LIDARR_CONTAINER_NAME=''
|
||||||
|
LIDARR_ENABLED=''
|
||||||
|
LIDARR_NETWORK_MODE=''
|
||||||
|
LIDARR_PORT_8686=''
|
||||||
|
LIDARR_RESTART=''
|
||||||
|
LIDARR_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## LIDARR
|
||||||
|
##
|
||||||
|
LIDARR_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## LLDAP
|
||||||
|
##
|
||||||
|
LLDAP_JWT_SECRET=''
|
||||||
|
LLDAP_KEY_SEED=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## LOCALAI
|
||||||
|
##
|
||||||
|
LOCALAI_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## MALOJA
|
||||||
|
##
|
||||||
|
MALOJA_FORCE_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## MARIADB
|
||||||
|
##
|
||||||
|
MARIADB_CONTAINER_NAME=''
|
||||||
|
MARIADB_ENABLED=''
|
||||||
|
MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD=''
|
||||||
|
MARIADB_NETWORK_MODE=''
|
||||||
|
MARIADB_PORT_3306=''
|
||||||
|
MARIADB_RESTART=''
|
||||||
|
MARIADB_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## MATTERMOST
|
||||||
|
##
|
||||||
|
MATTERMOST_AWS_S3_ACCESSKEY=''
|
||||||
|
MATTERMOST_AWS_S3_SECRETKEY=''
|
||||||
|
MATTERMOST_POSTGRES_CONNECTION_URI=''
|
||||||
|
MATTERMOST_POSTGRES_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## MAYBE
|
||||||
|
##
|
||||||
|
MAYBE_POSTGRES_PASSWORD=''
|
||||||
|
MAYBE_SECRET_KEY_BASE=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## MEDUSAJS
|
||||||
|
##
|
||||||
|
MEDUSAJS_COOKIE_SECRET=''
|
||||||
|
MEDUSAJS_JWT_TOKEN=''
|
||||||
|
MEDUSAJS_POSTGRES_PASSWORD=''
|
||||||
|
MEDUSAJS_S3_ACCESS_KEY=''
|
||||||
|
MEDUSAJS_S3_SECRET_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## MINIO
|
||||||
|
##
|
||||||
|
MINIO_MIMIR_STORAGE_ACCESS_KEY=''
|
||||||
|
MINIO_MIMIR_STORAGE_SECRET_KEY=''
|
||||||
|
MINIO_ROOT_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## MONGO
|
||||||
|
##
|
||||||
|
MONGO_INITDB_ROOT_PASSWORD=''
|
||||||
|
MONGO_INITDB_ROOT_USERNAME=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## NAVIDROME
|
||||||
|
##
|
||||||
|
NAVIDROME_PASSWORD=''
|
||||||
|
NAVIDROME_USERNAME=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## NEXTCLOUD
|
||||||
|
##
|
||||||
|
NEXTCLOUD_CONTAINER_NAME=''
|
||||||
|
NEXTCLOUD_ENABLED=''
|
||||||
|
NEXTCLOUD_NETWORK_MODE=''
|
||||||
|
NEXTCLOUD_PORT_443=''
|
||||||
|
NEXTCLOUD_RESTART=''
|
||||||
|
NEXTCLOUD_TAG=''
|
||||||
|
NEXTCLOUD_VOLUME_DATADIR=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## OMBI
|
||||||
|
##
|
||||||
|
OMBI_CONTAINER_NAME=''
|
||||||
|
OMBI_ENABLED=''
|
||||||
|
OMBI_NETWORK_MODE=''
|
||||||
|
OMBI_PORT_3579=''
|
||||||
|
OMBI_RESTART=''
|
||||||
|
OMBI_TAG=''
|
||||||
|
OMBI_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## OPENGIST
|
||||||
|
##
|
||||||
|
OPENGIST_GITEA_CLIENT_KEY=''
|
||||||
|
OPENGIST_GITEA_SECRET=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## PAPERLESS
|
||||||
|
##
|
||||||
|
PAPERLESS_DBPASS=''
|
||||||
|
PAPERLESS_SECRET_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## PLAUSIBLE
|
||||||
|
##
|
||||||
|
PLAUSIBLE_PG_PASSWORD=''
|
||||||
|
PLAUSIBLE_SECRET_KEY_BASE=''
|
||||||
|
PLAUSIBLE_TOTP_VAULT_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## PODINDEX
|
||||||
|
##
|
||||||
|
PODINDEX_API_KEY=''
|
||||||
|
PODINDEX_API_SECRET=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## PORTAINER
|
||||||
|
##
|
||||||
|
PORTAINER_CONTAINER_NAME=''
|
||||||
|
PORTAINER_ENABLED=''
|
||||||
|
PORTAINER_NETWORK_MODE=''
|
||||||
|
PORTAINER_PORT_9000=''
|
||||||
|
PORTAINER_RESTART=''
|
||||||
|
PORTAINER_TAG=''
|
||||||
|
PORTAINER_VOLUME_DOCKER_SOCKET=''
|
||||||
|
PORTAINER_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## POSTAL
|
||||||
|
##
|
||||||
|
POSTAL_MYSQL_PASSWORD=''
|
||||||
|
POSTAL_SMTP_AUTH_PASSWORD=''
|
||||||
|
POSTAL_SMTP_AUTH_USER=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## POSTGRES
|
||||||
|
##
|
||||||
|
POSTGRES_HOST=''
|
||||||
|
POSTGRES_PASSWORD=''
|
||||||
|
POSTGRES_USER=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## PROWLARR
|
||||||
|
##
|
||||||
|
PROWLARR_CONTAINER_NAME=''
|
||||||
|
PROWLARR_ENABLED=''
|
||||||
|
PROWLARR_NETWORK_MODE=''
|
||||||
|
PROWLARR_PORT_9696=''
|
||||||
|
PROWLARR_RESTART=''
|
||||||
|
PROWLARR_TAG=''
|
||||||
|
PROWLARR_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## RADARR
|
||||||
|
##
|
||||||
|
RADARR_CONTAINER_NAME=''
|
||||||
|
RADARR_ENABLED=''
|
||||||
|
RADARR_NETWORK_MODE=''
|
||||||
|
RADARR_PORT_7878=''
|
||||||
|
RADARR_RESTART=''
|
||||||
|
RADARR_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## RADARR
|
||||||
|
##
|
||||||
|
RADARR_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## REACTIVE
|
||||||
|
##
|
||||||
|
REACTIVE_RESUME_ACCESS_TOKEN_SECRET=''
|
||||||
|
REACTIVE_RESUME_PGSQL_PASSWORD=''
|
||||||
|
REACTIVE_RESUME_REFRESH_TOKEN_SECRET=''
|
||||||
|
REACTIVE_RESUME_S3_ACCESS_KEY=''
|
||||||
|
REACTIVE_RESUME_S3_SECRET_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## READARR
|
||||||
|
##
|
||||||
|
READARR_CONTAINER_NAME=''
|
||||||
|
READARR_ENABLED=''
|
||||||
|
READARR_NETWORK_MODE=''
|
||||||
|
READARR_PORT_8787=''
|
||||||
|
READARR_RESTART=''
|
||||||
|
READARR_TAG=''
|
||||||
|
READARR_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## REMMINA
|
||||||
|
##
|
||||||
|
REMMINA_CF_TUNNEL_ID=''
|
||||||
|
REMMINA_CF_TUNNEL_PASSWORD=''
|
||||||
|
REMMINA_USER_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## RUSTDESK
|
||||||
|
##
|
||||||
|
RUSTDESK_CUSTOM_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## SABNZBDVPN
|
||||||
|
##
|
||||||
|
SABNZBDVPN_CONTAINER_NAME=''
|
||||||
|
SABNZBDVPN_ENABLED=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_ENABLE_PRIVOXY=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_LAN_NETWORK=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_NAME_SERVERS=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_VPN_CLIENT=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_VPN_ENABLE=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_VPN_INPUT_PORTS=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_VPN_OPTIONS=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_VPN_OUTPUT_PORTS=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_VPN_PASS=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_VPN_PROV=''
|
||||||
|
SABNZBDVPN_ENVIRONMENT_VPN_USER=''
|
||||||
|
SABNZBDVPN_NETWORK_MODE=''
|
||||||
|
SABNZBDVPN_PORT_8080=''
|
||||||
|
SABNZBDVPN_PORT_8090=''
|
||||||
|
SABNZBDVPN_PORT_8118=''
|
||||||
|
SABNZBDVPN_RESTART=''
|
||||||
|
SABNZBDVPN_TAG=''
|
||||||
|
SABNZBDVPN_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## SCRAPERR
|
||||||
|
##
|
||||||
|
SCRAPERR_SECRET_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## SCRUTINY
|
||||||
|
##
|
||||||
|
SCRUTINY_CF_TUNNEL_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## SEARXNG
|
||||||
|
##
|
||||||
|
SEARXNG_BASE_URL=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## SLSKD
|
||||||
|
##
|
||||||
|
SLSKD_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## SONARQUBE
|
||||||
|
##
|
||||||
|
SONARQUBE_POSTGRES_PASSWORD=''
|
||||||
|
SONARQUBE_LDAP_BIND_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## SONARR
|
||||||
|
##
|
||||||
|
SONARR_CONTAINER_NAME=''
|
||||||
|
SONARR_ENABLED=''
|
||||||
|
SONARR_NETWORK_MODE=''
|
||||||
|
SONARR_PORT_8989=''
|
||||||
|
SONARR_RESTART=''
|
||||||
|
SONARR_TAG=''
|
||||||
|
SONARR_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## SWAG
|
||||||
|
##
|
||||||
|
SWAG_CONTAINER_NAME=''
|
||||||
|
SWAG_ENABLED=''
|
||||||
|
SWAG_ENVIRONMENT_DNSPLUGIN=''
|
||||||
|
SWAG_ENVIRONMENT_EMAIL=''
|
||||||
|
SWAG_ENVIRONMENT_EXTRA_DOMAINS=''
|
||||||
|
SWAG_ENVIRONMENT_ONLY_SUBDOMAINS=''
|
||||||
|
SWAG_ENVIRONMENT_SUBDOMAINS=''
|
||||||
|
SWAG_ENVIRONMENT_URL=''
|
||||||
|
SWAG_ENVIRONMENT_VALIDATION=''
|
||||||
|
SWAG_NETWORK_MODE=''
|
||||||
|
SWAG_PORT_443=''
|
||||||
|
SWAG_PORT_80=''
|
||||||
|
SWAG_RESTART=''
|
||||||
|
SWAG_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## SWAG
|
||||||
|
##
|
||||||
|
SWAG_CF_TUNNEL_ID=''
|
||||||
|
SWAG_CF_TUNNEL_PASSWORD=''
|
||||||
|
SWAG_DUCKDNSTOKEN=''
|
||||||
|
SWAG_MAXMINDDB_LICENSE_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## TANDOOR
|
||||||
|
##
|
||||||
|
TANDOOR_API_TOKEN=''
|
||||||
|
TANDOOR_POSTGRES_PASSWORD=''
|
||||||
|
TANDOOR_SECRET_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## TMDB
|
||||||
|
##
|
||||||
|
TMDB_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## TRACCAR
|
||||||
|
##
|
||||||
|
TRACCAR_POSTGRES_DATABASE=''
|
||||||
|
TRACCAR_POSTGRES_PASSWORD=''
|
||||||
|
TRACCAR_POSTGRES_USER=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## UPTIME
|
||||||
|
##
|
||||||
|
UPTIME_KUMA_PASSWORD=''
|
||||||
|
UPTIME_KUMA_USERNAME=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## UPTIMEKUMA
|
||||||
|
##
|
||||||
|
UPTIMEKUMA_CONTAINER_NAME=''
|
||||||
|
UPTIMEKUMA_ENABLED=''
|
||||||
|
UPTIMEKUMA_NETWORK_MODE=''
|
||||||
|
UPTIMEKUMA_PORT_3001=''
|
||||||
|
UPTIMEKUMA_RESTART=''
|
||||||
|
UPTIMEKUMA_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## VAULT
|
||||||
|
##
|
||||||
|
VAULT_HASHICORP_AWS_ACCESS_KEY_ID=''
|
||||||
|
VAULT_HASHICORP_AWS_SECRET_ACCESS_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## VIRUS
|
||||||
|
##
|
||||||
|
VIRUS_TOTAL_API_KEY=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## WALLABAG
|
||||||
|
##
|
||||||
|
WALLABAG_DB=''
|
||||||
|
WALLABAG_DB_PASSWORD=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## WATCHTOWER
|
||||||
|
##
|
||||||
|
WATCHTOWER_CONTAINER_NAME=''
|
||||||
|
WATCHTOWER_ENABLED=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_CLEANUP=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_INCLUDE_STOPPED=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_MONITOR_ONLY=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_NOTIFICATION_TEMPLATE=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_NOTIFICATION_URL=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_NOTIFICATIONS=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_NOTIFICATIONS_LEVEL=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_REPO_PASS=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_REPO_USER=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_SCHEDULE=''
|
||||||
|
WATCHTOWER_ENVIRONMENT_TIMEOUT=''
|
||||||
|
WATCHTOWER_NETWORK_MODE=''
|
||||||
|
WATCHTOWER_RESTART=''
|
||||||
|
WATCHTOWER_TAG=''
|
||||||
|
WATCHTOWER_VOLUME_DOCKER_SOCKET=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## WATCHTOWER
|
||||||
|
##
|
||||||
|
WATCHTOWER_HTTP_API_TOKEN=''
|
||||||
|
WATCHTOWER_NOTIFICATION_GOTIFY_TLS_SKIP_VERIFY=''
|
||||||
|
WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN=''
|
||||||
|
WATCHTOWER_NOTIFICATION_GOTIFY_URL=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## WAZUH
|
||||||
|
##
|
||||||
|
WAZUH_API_PASSWORD=''
|
||||||
|
WAZUH_INDEXER_PASSWORD=''
|
||||||
|
WAZUH_KIBANA_PASSWORD=''
|
||||||
|
WAZUH_VERSION=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## YOUR
|
||||||
|
##
|
||||||
|
YOUR_SPOTIFY_ID=''
|
||||||
|
YOUR_SPOTIFY_PORT_443=''
|
||||||
|
YOUR_SPOTIFY_PORT_80=''
|
||||||
|
YOUR_SPOTIFY_SECRET=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## YOUTUBEDL
|
||||||
|
##
|
||||||
|
YOUTUBEDL_CONTAINER_NAME=''
|
||||||
|
YOUTUBEDL_ENABLED=''
|
||||||
|
YOUTUBEDL_ENVIRONMENT_CONFIG_PATH=''
|
||||||
|
YOUTUBEDL_ENVIRONMENT_DEBUG=''
|
||||||
|
YOUTUBEDL_NETWORK_MODE=''
|
||||||
|
YOUTUBEDL_PORT_8080=''
|
||||||
|
YOUTUBEDL_RESTART=''
|
||||||
|
YOUTUBEDL_TAG=''
|
||||||
|
|
||||||
|
##
|
||||||
|
## ZAMMAD
|
||||||
|
##
|
||||||
|
ZAMMAD_ELASTICSEARCH_VERSION=''
|
||||||
|
ZAMMAD_IMAGE_REPO=''
|
||||||
|
ZAMMAD_MEMCACHE_SERVERS=''
|
||||||
|
ZAMMAD_MEMCACHE_VERSION=''
|
||||||
|
ZAMMAD_POSTGRES_DB=''
|
||||||
|
ZAMMAD_POSTGRES_HOST=''
|
||||||
|
ZAMMAD_POSTGRES_PASS=''
|
||||||
|
ZAMMAD_POSTGRES_PORT=''
|
||||||
|
ZAMMAD_POSTGRES_USER=''
|
||||||
|
ZAMMAD_POSTGRES_VERSION=''
|
||||||
|
ZAMMAD_POSTGRESQL_OPTIONS=''
|
||||||
|
ZAMMAD_REDIS_URL=''
|
||||||
|
ZAMMAD_REDIS_VERSION=''
|
||||||
|
ZAMMAD_RESTART=''
|
||||||
|
ZAMMAD_S3_ACCESS_KEY=''
|
||||||
|
ZAMMAD_S3_SECRET_KEY=''
|
||||||
|
ZAMMAD_VERSION=''
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
||||||
"extends": ["local>trez/renovate-config"],
|
|
||||||
"packageRules": [
|
|
||||||
{
|
|
||||||
"description": "Freeze ClickHouse and Zookeeper",
|
|
||||||
"matchDatasources": ["docker"],
|
|
||||||
"matchManagers": ["docker-compose"],
|
|
||||||
"matchPackageNames": [
|
|
||||||
"clickhouse/clickhouse-server",
|
|
||||||
"signoz/zookeeper"
|
|
||||||
],
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Pin Postgres, pgvector, and pgvecto-rs images",
|
|
||||||
"matchDatasources": ["docker"],
|
|
||||||
"matchManagers": ["docker-compose"],
|
|
||||||
"matchPackageNames": ["postgres", "pgvector", "pgvecto-rs"],
|
|
||||||
"pinDigests": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user