Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ab4d6c2242 |
@@ -1,42 +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 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: |
|
||||
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,434 +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.20.4"
|
||||
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: eikendev/gotify-action@master
|
||||
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: eikendev/gotify-action@master
|
||||
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: eikendev/gotify-action@master
|
||||
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: |
|
||||
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 modified services..."
|
||||
touch service_changes.txt
|
||||
|
||||
# Detect newly added services
|
||||
comm -13 services_main.txt services_head.txt | while read service; do
|
||||
[ -n "$service" ] && echo "$service: added" >> service_changes.txt
|
||||
done
|
||||
|
||||
# Detect modified services
|
||||
comm -12 services_main.txt services_head.txt | 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"
|
||||
|
||||
# Gather list of modified/added services
|
||||
mod_svcs=$(cut -d':' -f1 service_changes.txt | sort | uniq)
|
||||
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"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Modified/added services:"
|
||||
echo "$mod_svcs"
|
||||
|
||||
# Include direct dependencies
|
||||
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)
|
||||
|
||||
echo "Final service list (including direct dependencies):"
|
||||
echo "$all_svcs"
|
||||
|
||||
# Expose to workflow output
|
||||
echo "docker_svc_list<<EOF" >> "$GITHUB_OUTPUT"
|
||||
echo "$all_svcs" >> "$GITHUB_OUTPUT"
|
||||
echo "EOF" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: List of Services for (Re)Deployment
|
||||
run: |
|
||||
echo -e "${{ steps.detect_services.outputs.docker_svc_list }}"
|
||||
|
||||
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: eikendev/gotify-action@master
|
||||
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_USERNAME: ${{ secrets.VAULT_GITEA_USER }}
|
||||
HC_VAULT_PASSWORD: ${{ secrets.VAULT_GITEA_PASSWORD }}
|
||||
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 Dry Run
|
||||
uses: hoverkraft-tech/compose-action@b716db5b717cb9b81e391fe638e5aceaa2299e43 # v2.4.0
|
||||
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: eikendev/gotify-action@master
|
||||
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: eikendev/gotify-action@master
|
||||
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: eikendev/gotify-action@master
|
||||
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: eikendev/gotify-action@master
|
||||
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: eikendev/gotify-action@master
|
||||
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_USERNAME: ${{ secrets.VAULT_GITEA_USER }}
|
||||
HC_VAULT_PASSWORD: ${{ secrets.VAULT_GITEA_PASSWORD }}
|
||||
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@b716db5b717cb9b81e391fe638e5aceaa2299e43 # v2.4.0
|
||||
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: eikendev/gotify-action@master
|
||||
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,146 +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.20.4"
|
||||
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 || true
|
||||
|
||||
# Prepare multiline output for GitHub Actions
|
||||
echo "docker_svc_list<<EOF" >> "$GITHUB_OUTPUT"
|
||||
sort -u service_changes.txt >> "$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_USERNAME: ${{ secrets.VAULT_GITEA_USER }}
|
||||
HC_VAULT_PASSWORD: ${{ secrets.VAULT_GITEA_PASSWORD }}
|
||||
HC_VAULT_SECRETS_PATH: rinoa-docker/env
|
||||
|
||||
- name: Docker Compose Deployment
|
||||
uses: hoverkraft-tech/compose-action@b716db5b717cb9b81e391fe638e5aceaa2299e43 # v2.4.0
|
||||
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,33 +0,0 @@
|
||||
name: Renovate
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0/30 * * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
RENOVATE_VERSION: "41.138.5"
|
||||
|
||||
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
|
||||
run: |
|
||||
docker run --rm \
|
||||
-e RENOVATE_PLATFORM=gitea \
|
||||
-e RENOVATE_ENDPOINT=https://git.trez.wtf/api/v1 \
|
||||
-e RENOVATE_TOKEN=${{ secrets.RENOVATE_BOT_TOKEN }} \
|
||||
-e LOG_LEVEL=${{ vars.RENOVATE_LOG_LEVEL }} \
|
||||
-e RENOVATE_GITHUB_COM_TOKEN=${{ secrets.RENOVATE_GITHUB_TOKEN }} \
|
||||
-e RENOVATE_CONFIG_FILE=renovate.json \
|
||||
-e RENOVATE_REPOSITORIES=trez/rinoa-docker \
|
||||
--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 +0,0 @@
|
||||
2025-10-08T06-54-08
|
||||
@@ -1,213 +1,588 @@
|
||||
# List of Services
|
||||
|
||||
```json
|
||||
~> yq '.services | to_entries | map({service: .key, image: .value.image})' docker-compose.yml
|
||||
|
||||
|
||||
| Service | Image | Description |
|
||||
| --- | --- | --- |
|
||||
| 13ft | ghcr.io/wasi-master/13ft:latest@sha256:563ce7794a7173250c25c9162495bf2f510dd714067d74363c9ab2bd0e5a994f | Web interface for blocking ads and paywalls |
|
||||
| actual_server | docker.io/actualbudget/actual-server:latest@sha256:32dceb536149fcfe6e5292a6a568403c363e9fd59a41596da002b994a0b2216e | Privacy-focused app for managing finances |
|
||||
| adguard | adguard/adguardhome:v0.107.67@sha256:927dc14b3e3cbd359e84658914590270a77d54446a6565e9498bef3444c286a4 | Ad-blocking/DNS |
|
||||
| apcupsd-cgi | bnhf/apcupsd-cgi:latest@sha256:e8733930739719aca608fd97aecfb0aa5f53aaf7681bf4bbccd49dbf67132bf8 | Web interface for apcupsd |
|
||||
| apprise-api | lscr.io/linuxserver/apprise-api:latest@sha256:31fc75e049546a808fb287af2d26b934c6417d1961c739e8fb583066de99bfca | Multi-channel notification API |
|
||||
| archivebox | archivebox/archivebox:latest@sha256:fdf2936192aa1e909b0c3f286f60174efa24078555be4b6b90a07f2cef1d4909 | Open-source and self-hosted web archiving |
|
||||
| asciinema | ghcr.io/asciinema/asciinema-server:latest@sha256:8da830a6eb0b6715becf31b2495877aa5d661674f29c52a3a3363110847c5598 | Platform for hosting and sharing terminal session recordings |
|
||||
| asciinema-pg-db | postgres:14-alpine@sha256:49f7dcce1efddd8d86ae3f37dcba206b5655d9fac3d3872d2823177fd6c1e7fa | |
|
||||
| audiobookshelf | ghcr.io/advplyr/audiobookshelf:latest@sha256:dd4a3079d26bfe9f0ea63de3e3eff483dfa25fef05ef850a5a9d121dca3794b2 | Podcasts, eBooks, & Audiobooks |
|
||||
| authelia | authelia/authelia:master@sha256:e9fb691f9d835d79cd56d7250224780341f43531006f1ed9e12bf021e8d47552 | Authentication/authorization server with MFA & SSO |
|
||||
| authelia-pg | postgres:16-alpine@sha256:84fb5d5bdd7d47f1889f325e534f3ce643f853f460832c8a61949f5391b8dc42 | |
|
||||
| authelia-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| bazarr | lscr.io/linuxserver/bazarr:latest@sha256:005f97fcab0fd7402cd7ff3c09f5ff4da4c63ca51be487e90d5c4dc8a8f85a45 | Subtitle automation for TV shows/movies |
|
||||
| beszel | henrygd/beszel:latest@sha256:a019a9f05ba6b16d2f990ed21cedab99741ae408ec22eef2fb84be3a16640d33 | Lightweight server monitoring hub |
|
||||
| beszel-agent | henrygd/beszel-agent:latest@sha256:17fe8c1bf093bc65fba8808093de6b3a3a8ed915bc59eef9815ea42c889aab6a | |
|
||||
| bitwarden | vaultwarden/server:latest@sha256:84fd8a47f58d79a1ad824c27be0a9492750c0fa5216b35c749863093bfa3c3d7 | Credential/Information Vault |
|
||||
| bluesky-pds | code.modernleft.org/gravityfargo/bluesky-pds:v0.4.158@sha256:44810dc5cf9c78135d20dfd60e0999e2db0dfc5fd56dc7e45e8844d1b57c54bd | |
|
||||
| browserless | ghcr.io/browserless/chromium:latest@sha256:ef2affc38cd47b23e62851e8be3644a97a485faa0de899ffbd74e1c3883e88b4 | |
|
||||
| bytestash | ghcr.io/jordan-dalby/bytestash:latest@sha256:9c17b5510ca45c976fe23b0d4705ad416aa58d4bf756a70e03ef1f08cf7801fd | Code Gists/Snippets |
|
||||
| castopod | castopod/castopod:latest@sha256:e59262a89b035d1cb7decd7dcc387670c5ba81e31b67c7e0e89ef827d7f58ea9 | Podcast self-hosting |
|
||||
| castopod-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| changedetection | ghcr.io/dgtlmoon/changedetection.io@sha256:d924bacc4640cfe2dbffcdbb221caa740d00dd6e24fa6877ea6b797d8cd29f99 | Page change monitoring with alerts |
|
||||
| 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 |
|
||||
| cloudflareddns | ghcr.io/hotio/cloudflareddns:latest@sha256:5c3d73dec0b80e712ac3fefa660f403875e78ba643fd97563fc39531e403e281 | |
|
||||
| convertx | ghcr.io/c4illin/convertx@sha256:346589f154332997329fdc888417d4b24c49cc9140eab80e637a68cfbdd8041b | Online file converter |
|
||||
| crowdsec | crowdsecurity/crowdsec:latest@sha256:26841bec239f53c74f5ac35ca89166b0566c511a449c4852d3187c8a62faf4ed | |
|
||||
| crowdsec-dashboard | metabase/metabase@sha256:f8a99822a7d3e2ee0874412b1835c99996addeb2101a183de7b6d55e5f6018cb | Real-time & crowdsourced protection against aggressive IPs |
|
||||
| cyber-chef | mpepping/cyberchef:latest@sha256:1772a04fd261f971da89cf6212147afe55a37b4a93421db928a78e01de3d65ea | Web app for encryption, encoding, compression, and data analysis |
|
||||
| czkawka | jlesage/czkawka@sha256:03109f40d1bc41ebe24c2fd3ee81429950338591bbb64c4cf39ec6160fee75a4 | Smart file management |
|
||||
| dagu | ghcr.io/dagu-org/dagu:alpine@sha256:da97d58fde48b39aa9a5456b3fafeb8f05691c6925922d2d89b9a87514c36638 | Cron alternative with a web UI |
|
||||
| dawarich-app | freikin/dawarich:latest@sha256:ca06ad58ac7a26d30cd26d84242f12ac0b27227c2c095a0d03c0d167e9cb909a | Self-hosted alternative to Google Location History |
|
||||
| dawarich-pg-db | postgis/postgis:17-3.5-alpine@sha256:b5316941603622f8c10ccff770885cd3adf940555cb8f65b0e3d9c9040722492 | |
|
||||
| dawarich-sidekiq | freikin/dawarich:latest@sha256:ca06ad58ac7a26d30cd26d84242f12ac0b27227c2c095a0d03c0d167e9cb909a | |
|
||||
| dawarich-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| dead-man-hand | ghcr.io/bkupidura/dead-man-hand:latest@sha256:31905f19678f60d55ecdfa63dad009c07e2055cb5db0c608c8cab5de4467050e | |
|
||||
| docker-socket-proxy | ghcr.io/tecnativa/docker-socket-proxy:latest@sha256:3400c429c5f9e1b21d62130fb93b16e2e772d4fb7695bd52fc2b743800b9fe9e | |
|
||||
| dockflare | alplat/dockflare:stable@sha256:f37b8b0080a7ee9a448b5c34ce2043ec71e9378ae92736487ec8e6b6ce69bdba | Cloudflare Tunnel controller |
|
||||
| dockpeek | ghcr.io/dockpeek/dockpeek:v1.6.5@sha256:6807298f51c5eedf34c6f44dc7cbdaecd6bd2d789cea9f50489d0786539abd4c | Real-time port monitoring and discovery |
|
||||
| duplicati | lscr.io/linuxserver/duplicati:latest@sha256:6f9d58c8183dcfee25f0a36077b14ef278f06e51c47aa4d44c51f1d5360f44a9 | Data backup |
|
||||
| easyappointments | alextselegidis/easyappointments:1.5.2@sha256:484f183a7f5bcc9c0486674de4af01c785ab73fc2ee962dc35db7d0ba69d2825 | Highly customizable appointment scheduler |
|
||||
| excalidraw | excalidraw/excalidraw:latest@sha256:b5b9454af5f9c4403ea3b8ef06f2a3e29ac68e79e7d457f373f4d4a4b603d4bc | Virtual whiteboard for sketching hand-drawn like diagrams |
|
||||
| explo | ghcr.io/lumepart/explo:latest@sha256:2c6fe1e5fbe0ceb17c653191001e7cb96eff0ae82539b44f61b024caa0fbfd14 | |
|
||||
| fastenhealth | ghcr.io/fastenhealth/fasten-onprem:main@sha256:992a3fe0096500475cc29f5a83234481a6079652d064bc6e2c4e660860af7fba | Open-source, self-hosted, personal/family electronic medical record aggregator |
|
||||
| flaresolverr | ghcr.io/flaresolverr/flaresolverr:latest@sha256:5379a9209c86870558d77c8cdf7efdf300aecf0447617a05dc77e0491d53f34c | |
|
||||
| garage | dxflrs/garage:v2.1.0@sha256:4c9b34c113e61358466e83fd6e7d66e6d18657ede14b776eb78a93ee8da7cf6a | |
|
||||
| garage-webui | khairul169/garage-webui:latest@sha256:17c793551873155065bf9a022dabcde874de808a1f26e648d4b82e168806439c | S3-compatible storage backend |
|
||||
| ghost | ghost:latest@sha256:ffc213a6f2db7210b69396dc4330b4a9c5e27c8b044ae453854d53bd3937a6ec | Personal blog |
|
||||
| gitea | gitea/gitea:1.24.6@sha256:2edc102cbb636ae1ddac5fa0c715aa5b03079dee13ac6800b2cef6d4e912e718 | Private Code Repo |
|
||||
| gitea-db | postgres:14@sha256:fbd63b8e1eb2b318d342e8ad279891f622aa5ff69bd95e5683cc915301218bcf | |
|
||||
| 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 |
|
||||
| gluetun | qmcgaw/gluetun:latest@sha256:9b429a254a359f7553b0260e2f194901a1fd6fc4ac09f0749c7de6620cb11b1a | |
|
||||
| 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:e7fc26f914cf5e7dcd6c566e24ca218addb879aa76478ad4a553b1f9ae48b1d7 | |
|
||||
| hugo | hugomods/hugo:exts@sha256:89c0472bdfc5f9ff051ae9f54942428c62edb1d2ec3527bf1a4e63e24aa48356 | Static site |
|
||||
| immich-server | ghcr.io/immich-app/immich-server:release@sha256:8286638680f0a38a7cb380be64ed77d1d1cfe6d0e0b843f64bff92b24289078d | High performance self-hosted photo and video management solution |
|
||||
| immich-machine-learning | ghcr.io/immich-app/immich-machine-learning:release@sha256:45626a33361ef7ed361de41b0d2dc19e5949442cdf0a8eb64b157dc8a04e9855 | |
|
||||
| immich-pg-db | tensorchord/pgvecto-rs:pg14-v0.2.1@sha256:9172feae86a211bc502db4ec2d3309a57329060b031d91796d39f45d1d698ef3 | |
|
||||
| immich-public-proxy | alangrainger/immich-public-proxy:latest@sha256:bf9ae2b60f9cd69867789a2a492510443aa61cf01ab085475a08496ef35e67d0 | Immich Proxy for public sharing |
|
||||
| immich-power-tools | ghcr.io/varun-raj/immich-power-tools:latest@sha256:abfe87c08d6c08575649d7f4af04bd61ab2e5d3d54bdba693700595f70c92d0a | |
|
||||
| immich-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| influxdb2 | influxdb:2-alpine@sha256:fa166d3bdf6beeecf57791b70e558f6ef54e1e6cea95fb7728b45314bc48543b | Scalable datastore for metrics, events, and real-time analytics |
|
||||
| invidious | quay.io/invidious/invidious:latest@sha256:2836b5b8226a53a9cc2afdbd5f5fe6bccdd200f2e17cd92a828b4dc8d8b5cc06 | Alternative YouTube frontend (privacy-focused, ad-blocking) |
|
||||
| invidious-companion | quay.io/invidious/invidious-companion:latest@sha256:62e5ec92802bc6da3e7ca6f39879d869e20d065c5c6d9cfa8ec2296057c48a3d | |
|
||||
| invidious-db | docker.io/library/postgres:14@sha256:fbd63b8e1eb2b318d342e8ad279891f622aa5ff69bd95e5683cc915301218bcf | |
|
||||
| invoice-ninja | invoiceninja/invoiceninja-debian:5@sha256:5505dffeb378e4ea926c761177025881f251b049dc1dba15af3384e5ca5568b4 | |
|
||||
| invoice-ninja_proxy | nginx@sha256:f79cde317d4d172a392978344034eed6dff5728a8e6d7a42f507504c23ecf8b8 | Simple invoicing, multiple payment options, expense and vendor management, and more! |
|
||||
| it-tools | ghcr.io/corentinth/it-tools:latest@sha256:8b8128748339583ca951af03dfe02a9a4d7363f61a216226fc28030731a5a61f | Useful tools for developers and people working in IT |
|
||||
| jellyfin | jellyfin/jellyfin@sha256:7ae36aab93ef9b6aaff02b37f8bb23df84bb2d7a3f6054ec8fc466072a648ce2 | Movie/TV Streaming |
|
||||
| jitsi-etherpad | etherpad/etherpad:1.9.7@sha256:d1d6a772dd49e2d920fda874cdae2d4a43f24ba5713a1e330b6342fbab3eb5ec | |
|
||||
| jitsi-jibri | jitsi/jibri:stable | |
|
||||
| jitsi-jicofo | jitsi/jicofo:stable | |
|
||||
| jitsi-jigasi | jitsi/jigasi:stable | |
|
||||
| jitsi-jvb | jitsi/jvb:stable | |
|
||||
| jitsi-prosody | jitsi/prosody:stable | |
|
||||
| jitsi-web | jitsi/web:stable | Web Conferencing |
|
||||
| joplin-db | postgres:17-alpine@sha256:5d14c08a257610d8e27c52ce0f10de5d9cce4c232e1277d44d7d6fb628b3d1a7 | |
|
||||
| joplin | joplin/server:latest@sha256:95b67dc6a4e77a974ac2bcc86818cbbfe5495e7b62d06a66f848a877878dce53 | Open-source note taking & to-do |
|
||||
| karakeep | ghcr.io/karakeep-app/karakeep:release@sha256:abd7d6b11b1b8fa3593d1971f886a74850ba8d6a99291218b150207d5a60378e | Self-hosted bookmark-everything app with a touch of AI for data hoarders |
|
||||
| languagetool | elestio/languagetool:latest@sha256:85a32bdef9e7d87125977a201bfe7aa4310e67cab8abfa370157a9fc67cda4cd | |
|
||||
| libretranslate | libretranslate/libretranslate@sha256:3727db3ce8224fb6afddd5227739ac6e58f060bcc59f12ae24a351dba47dd4f6 | Open-source machine translation API |
|
||||
| lidarr | lscr.io/linuxserver/lidarr:latest@sha256:e9ab17c7d4738a735a50b6e8f129d09a4166081f33b140d5d93177b2b12b069d | 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 |
|
||||
| lldap | lldap/lldap:stable@sha256:9e605a66c02514bfcffd1b67cafb1e98d50992216bb2871d7ae44622047dd09d | LDAP made easy |
|
||||
| loggifly | ghcr.io/clemcer/loggifly:latest@sha256:cf1968ac30dc34dd85a8358a48d0f9bb959cbbfe6b3beef6e7732ab703518812 | |
|
||||
| maloja | krateng/maloja:latest@sha256:4ecea26058d2ca5168a8d53820279942d28f0606664cea6425f42371d5d88f95 | Simple self-hosted music scrobble database to create personal listening statistics |
|
||||
| manyfold | lscr.io/linuxserver/manyfold:latest@sha256:b8f40d6f0b4bdd59d13d97c97c21d1e24b0276c8c4b8341855d2ca50bc9df25e | Self-hosted digital asset manager for 3D print files |
|
||||
| manyfold-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| mariadb | linuxserver/mariadb@sha256:caa3b6d9165a7bd44f7247dbb703aa8bc99988dea469983b73397f3cc0adb6ea | |
|
||||
| mastodon | lscr.io/linuxserver/mastodon:latest@sha256:9cd791ad033e9a3c4bc8ab191b2b56d80c07b72fe632f8b2e215888eba22009e | Open-source social network |
|
||||
| mastodon-pg-db | postgres:17-alpine@sha256:5d14c08a257610d8e27c52ce0f10de5d9cce4c232e1277d44d7d6fb628b3d1a7 | |
|
||||
| mastodon-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| maxun-backend | getmaxun/maxun-backend:latest@sha256:a5a5df99e2f5aed1838336b0b4aa75c083b949da96c8e1b3a2820b8cf44b459c | |
|
||||
| maxun-frontend | getmaxun/maxun-frontend:latest@sha256:e5c889a2b8176646f0dc25662d6eb29e5b7b507b90c4250b0d18e3598b4636c5 | No-code web data extraction platform |
|
||||
| maxun-pg-db | postgres:17-alpine@sha256:5d14c08a257610d8e27c52ce0f10de5d9cce4c232e1277d44d7d6fb628b3d1a7 | |
|
||||
| maxun-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| meilisearch | getmeili/meilisearch:v1.22@sha256:14ef9f50add5243fb8dfd13b60df82a76f3c653f0f03b8fee7b5464ab2f0f303 | |
|
||||
| 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 | |
|
||||
| meme-search-db | pgvector/pgvector:pg17@sha256:9ae02a756ba16a2d69dd78058e25915e36e189bb36ddf01ceae86390d7ed786a | |
|
||||
| mini-qr | ghcr.io/lyqht/mini-qr:latest@sha256:af6b47968cb2c400d701eb3f6defe06c79a75a2af7a423bf272df3e3ccbbacd8 | 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 |
|
||||
| mixpost-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| mgob | stefanprodan/mgob@sha256:d089c6d105d7d0f9db5222786cb93d85b1bf61e28b21ad717cea90f92570c8f3 | Headless Automated MongoDB Backups |
|
||||
| mongodb | mongo:7@sha256:062ee16916ad234f6a4e276e8905e22803c206c2e0711c3f90aec722bf641aa6 | |
|
||||
| multi-scrobbler | foxxmd/multi-scrobbler@sha256:e23ddda129ea2a8e9a009ef73d62af910ac25e6213c833680886b7002c5bb6fa | JS App for scrobbling/recording play history from/to multiple sources |
|
||||
| n8n | docker.n8n.io/n8nio/n8n@sha256:4da14e676858f0e7eb0fc08e49ca8902447987d00a52343917153464289400c1 | Extendable workflow automation tool to easily automate tasks |
|
||||
| navidrome | deluan/navidrome:latest@sha256:2ae037d464de9f802d047165a13b1c9dc2bdbb14920a317ae4aef1233adc0a3c | Music Streaming |
|
||||
| netalertx | jokobsk/netalertx:latest@sha256:9304e29cd71bf9ddc9f33d6a7ddb3d71bab71815e077ab330f86bcc081598a79 | Network Monitoring |
|
||||
| nextcloud | nextcloud/all-in-one:latest@sha256:9be7362a88a21bb1c11d6d5085317685d57ea8b28b7375be39fd71e66340cbf3 | Private Cloud |
|
||||
| nocodb | nocodb/nocodb:latest@sha256:8fd57018accf775fb5390392910e4b0ef6bb154f17c5732b478eb76c40ee8d1e | Turn any SQL-based database into a smart spreadsheet |
|
||||
| nocodb-pg-db | postgres:16-alpine@sha256:84fb5d5bdd7d47f1889f325e534f3ce643f853f460832c8a61949f5391b8dc42 | |
|
||||
| nocodb-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| ollama | ollama/ollama:latest@sha256:c622a7adec67cf5bd7fe1802b7e26aa583a955a54e91d132889301f50c3e0bd0 | |
|
||||
| ombi | lscr.io/linuxserver/ombi:latest@sha256:c4ed349ce5fe893c522ee8c5760ca1522c90e628c85c2c1752070cb0f6f2067f | Media Requests |
|
||||
| omnitools | iib0011/omni-tools:latest@sha256:a59959d929e5ff0e89c20f5d78ab008c919b5dda05f9e20ee7c0d0229b374d03 | Tools for common tasks |
|
||||
| omnipoly | kweg/omnipoly:latest@sha256:dc0b21f959446714ed467efca92b8094230d9c7404d1c0f3e17910a295d31e9b | Open-source language translation with LanguageTool, LibreTranslate, & Ollama |
|
||||
| open-webui | ghcr.io/open-webui/open-webui:main@sha256:5a93a2c0943336d1bc8e3d86773172a7b007e6cb27676f9268e8b272738b70f0 | User-friendly and extensible AI interface |
|
||||
| open-webui-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| paperless-ngx | ghcr.io/paperless-ngx/paperless-ngx:latest@sha256:3421ebe06ed27662d014046cf5089e612de853aae0c676a2bc72f73b38080e57 | Document indexer & archiver with OCR |
|
||||
| paperless-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| penpot-frontend | penpotapp/frontend:latest@sha256:91b80791f37b44c9aba3490720ae90fc01c691562c0862abeebcb8bc0a7198d2 | Open-source design and prototyping platform |
|
||||
| penpot-backend | penpotapp/backend:latest@sha256:cfae17cff120a73c80e2237b7f664b44765b859a874896a377f09d8083463514 | |
|
||||
| penpot-exporter | penpotapp/exporter:latest@sha256:79c4988d0ac1986e3e8a7a1e1041d54869bcf1b17779f0cc6553795666f685e4 | |
|
||||
| penpot-pg-db | postgres:15-alpine@sha256:52af010baaeb34a287e7b5ea9696720727bd5bace64f9c18068ee187a6d6a4b2 | |
|
||||
| penpot-redis | redis:7.4@sha256:d7432711a2a5c99c2e9dd0e006061cd274d7cb7a9e77f07ffe2ea99e21244677 | |
|
||||
| pgbackweb | eduardolat/pgbackweb:latest@sha256:56358e7adff53250ec0b43cf2764e723e45872fa2b92b9608fdddfeebaafbed7 | Backups for PostgreSQL |
|
||||
| pgbackweb-db | postgres:17-alpine@sha256:5d14c08a257610d8e27c52ce0f10de5d9cce4c232e1277d44d7d6fb628b3d1a7 | |
|
||||
| planka | ghcr.io/plankanban/planka:2.0.0-rc.3@sha256:5a2a69ec7159a2f9c6679c31698e4b5b17ccf254d5bfc6e9be43e411b6de0c3d | Kanban board |
|
||||
| planka-pg-db | postgres:16-alpine@sha256:84fb5d5bdd7d47f1889f325e534f3ce643f853f460832c8a61949f5391b8dc42 | |
|
||||
| plant-it | msdeluise/plant-it-server:latest@sha256:23ddf8660087d6b9f5dbdca2ca09817b84db45cb2d9d6e2e0176e70f514629e7 | 🪴 Self-hosted, open source gardening companion app |
|
||||
| plant-it-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| plantuml-server | plantuml/plantuml-server:jetty@sha256:d672e1faf68d9f455d162502bf69edde5d8b0fbe25cf2d01ded9611156dab3ef | Textual diagram generator for UML & other visualizations. |
|
||||
| portainer | portainer/portainer-ce:alpine@sha256:c6908c1a2d036668799d51fb4d5ba5a5b3905509c7ac1b832c0fc0ef4c152f0e | Service delivery platform for containerized applications |
|
||||
| portchecker-web | ghcr.io/dsgnr/portcheckerio-web:latest@sha256:8bea203e8785541c0acac7860de9f70849b05806e0c6db1d83dfc1b8407a6077 | Service delivery platform for containerized applications |
|
||||
| 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 |
|
||||
| postal-worker | ghcr.io/postalserver/postal:latest@sha256:ff9a42deeda9b236ac36df012dab843b14726da8f3c2464c18c371f23107d986 | |
|
||||
| protonmail-bridge | shenxn/protonmail-bridge@sha256:3717b4441130675dc9131196de9f9c5287d2ea21b138d83b0486429e1737638a | |
|
||||
| prowlarr | lscr.io/linuxserver/prowlarr:latest@sha256:964485823771c102427a0c1cd896cf6b576add6f21bd041498b92cb040ee7270 | Index aggregator |
|
||||
| qbit-manage | ghcr.io/stuffanthings/qbit_manage:latest@sha256:64f749b97604d607747fc8b790821cf0317d8107385ea111afe1ed1c9d1d5b11 | |
|
||||
| qbittorrentvpn | ghcr.io/binhex/arch-qbittorrentvpn:latest@sha256:e6556875ffa483ff603c0ed76c0c10122efad1edee2d9f5e4a94244accd5b3a3 | Fast and stable torrent client |
|
||||
| radarec | thewicklowwolf/radarec:latest@sha256:df726f35e3a1ef2f0cd482a6cf993bac8782804efd38ee8004c8694f7e8f526e | Movie discovery based on library/tastes |
|
||||
| radarr | lscr.io/linuxserver/radarr:latest@sha256:f174546a0ad7eb9a9170e4142bef6f74ef3ebfe6209528fded40630369406dc0 | Movie Automation |
|
||||
| reactive-resume | amruthpillai/reactive-resume:latest@sha256:46999abe24b0d41fb8b3c32e479f06035fa755db8c3243d03335e74fa6a2e74f | Open-source resume builder |
|
||||
| reactive-resume-pg | postgres:16-alpine@sha256:84fb5d5bdd7d47f1889f325e534f3ce643f853f460832c8a61949f5391b8dc42 | |
|
||||
| readarr | lscr.io/linuxserver/readarr:develop@sha256:eb37f58646a901dc7727cf448cae36daaefaba79de33b5058dab79aa4c04aefb | eBook/Audiobook Automation |
|
||||
| redlib | quay.io/redlib/redlib:latest@sha256:c1fcda90dca9447d4aa7e18fd3ef85cc2044c29263490159e1ae4b472d0f285c | 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 |
|
||||
| romm | rommapp/romm:latest@sha256:f9a66d759f255ddbc5cd635bf6b66efe17f75babda5863aad318ade1845d7d68 | Beautiful, powerful, self-hosted ROM manager |
|
||||
| romm-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| sabnzbdvpn | ghcr.io/binhex/arch-sabnzbdvpn:latest@sha256:bbd64cb8343589f027a69e6174ab96f1bf31f4328fd75351b44330aa146cd7fd | NZB Downloader over VPN |
|
||||
| sablier | sablierapp/sablier:latest@sha256:4d4096b59a6e1496bd3106c1a90a7fdd161aafb73d58539b8c749c69380dedae | |
|
||||
| scraparr | ghcr.io/thecfu/scraparr:2@sha256:cfe07f005aa6e93221dd0bb540600aaa51ea1215968595806863f9df3dc3b26c | |
|
||||
| scrutiny | ghcr.io/analogj/scrutiny:master-omnibus@sha256:cc88f7babededd75ec01a631bf53671d8be0acbe0c8a80f7ba4d41454a5fc52b | WebUI for smartd S.M.A.R.T monitoring |
|
||||
| searxng | searxng/searxng:latest@sha256:9438a9be3df82652ebc804a2ace2ab335704d92a6dc0e5b29d771acd404e9f6c | Anonymized Meta-Search Engine |
|
||||
| searxng-valkey | docker.io/valkey/valkey:8-alpine@sha256:e706d1213aaba6896c162bb6a3a9e1894e1a435f28f8f856d14fab2e10aa098b | |
|
||||
| semaphore-ui | semaphoreui/semaphore:v2.16.31@sha256:7c9617ecd6233a019c85f52b122108c1113458c3cf91554145f3c56d4dbc25b3 | Modern UI for Ansible, Terraform, OpenTofu, PowerShell and other DevOps tools |
|
||||
| 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 | |
|
||||
| signoz-logspout | pavanputhra/logspout-signoz@sha256:6da8ce12279a5262de8b2d5c083ce82d4c878c4eab702b4d328afe147ed7553b | |
|
||||
| signoz-otel-collector | signoz/signoz-otel-collector:v0.129.7@sha256:618523c986658f5677b6fd44ab4dc3487bab03582ce9e92760e50d83246f7034 | |
|
||||
| signoz-schema-migrator-async | signoz/signoz-schema-migrator:v0.129.7@sha256:721c55284b32da6af8932d1fe6939410b6f0d10da74fc666f9856fa1e1f5763b | |
|
||||
| signoz-schema-migrator-sync | signoz/signoz-schema-migrator:v0.129.7@sha256:721c55284b32da6af8932d1fe6939410b6f0d10da74fc666f9856fa1e1f5763b | |
|
||||
| signoz-zookeeper-1 | bitnami/zookeeper:3.7.1 | |
|
||||
| sonarqube | mc1arke/sonarqube-with-community-branch-plugin:lts@sha256:70b055c294a2a751357ee65d5d55139c93f87faed436d0075034da38b2edafa1 | Code/DevOps quality/security |
|
||||
| sonarqube-pg-db | postgres:17-alpine@sha256:5d14c08a257610d8e27c52ce0f10de5d9cce4c232e1277d44d7d6fb628b3d1a7 | |
|
||||
| sonarr | lscr.io/linuxserver/sonarr:latest@sha256:328d322af2bb8d7211a9c43a26ff5e658ba3e6f47a695e8fb9ff806bfeab0f04 | TV Show Automation |
|
||||
| sonashow | thewicklowwolf/sonashow:latest@sha256:4b40df407bf31577668bfb3191e007ac78c349d81bfde7463ec8433d417ebd3d | TV show discovery based on library/tastes |
|
||||
| soularr | mrusse08/soularr:latest@sha256:71a0b9e5a522d76bb0ffdb6d720d681fde22417b3a5acc9ecae61c89d05d8afc | |
|
||||
| soularr-dashboard | ghcr.io/mrusse/soularr:main@sha256:61181c5809845d2c49c8c3c182c0280c5c91069cd2e5d7c341ddd8bfa2c01598 | Dashboard for monitoring Soularr |
|
||||
| soulseek | slskd/slskd@sha256:28df5325f301537ea8669b2ef90112a30cc9f2efd3eb714c9a778460b5dc6288 | Modern client-server application for the Soulseek file-sharing network. |
|
||||
| speedtest-tracker | lscr.io/linuxserver/speedtest-tracker:latest@sha256:99b5a8ac3b6c04e0560676a39d6f346cb523fabc08039ed1f1ab34cabbefcd84 | Self-hosted internet performance tracking |
|
||||
| stable-diffusion-webui | ghcr.io/neggles/sd-webui-docker:latest@sha256:1795fe796e1dad0d8d3baa9ef7c38a255b69c0878b76869feecc617bfd015e53 | |
|
||||
| stirling-pdf | docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest@sha256:ae74a9f00f374e628c484c2f4bb96c08406a3e8b8cb3825ea821df9dd8a7fdd7 | PDF Operations |
|
||||
| swag | lscr.io/linuxserver/swag:latest@sha256:08af17ae67c12e9b42a17d33fe538f67853020294c1f89c8e9d5b213c89c47ae | SWAG Dashboard for proxies |
|
||||
| tandoor | vabene1111/recipes@sha256:94a048d2ca34209654ecb984e29de1f621625b632925b28243735f1de4187d58 | Recipes, cookbooks, meal-planning, & grocery lists |
|
||||
| tandoor-pg | postgres:16-alpine@sha256:84fb5d5bdd7d47f1889f325e534f3ce643f853f460832c8a61949f5391b8dc42 | |
|
||||
| umami | ghcr.io/umami-software/umami:postgresql-latest@sha256:77264ce6951c6b131a91d99f1cfd720d9efac1eaaa12e104f21cf49408dd77e0 | Simple, fast, privacy-focused alternative to Google Analytics |
|
||||
| umami-pg-db | postgres:15-alpine@sha256:52af010baaeb34a287e7b5ea9696720727bd5bace64f9c18068ee187a6d6a4b2 | |
|
||||
| unmanic | josh5/unmanic:latest@sha256:c01264beede4bb9f4c7e86fa9874377ae898f22122a28c642654b20f1b600b46 | Library Optimizer |
|
||||
| uptimekuma | louislam/uptime-kuma:latest@sha256:431fee3be822b04861cf0e35daf4beef6b7cb37391c5f26c3ad6e12ce280fe18 | HTTP Endpoint Monitoring |
|
||||
| vault | hashicorp/vault:latest@sha256:268bb80aa9c6d13d65fcfa05c0c268caca068952240a8087291a6ce0b66e3a10 | HashiCorp Vault for secrets, key/value stores, etc. |
|
||||
| wallos | bellamy/wallos:latest@sha256:f7489083991465b8b24a919b87f5c325d9ec57f7208fa40746578efadde3db3f | Subscription Tracking |
|
||||
| web-check | lissy93/web-check@sha256:f2d1dc726958c1d79ac459cac84eb26eb4f203a4d27447f336695a8c1884f1e3 | Site scanner for attack vectors, architecture, security configs, and more |
|
||||
| whodb | clidey/whodb@sha256:ee5324a4bf95a6d8cfe62cc949c5f39a7f8b66f905b05681ce7a367298fe329b | Lightweight next-gen database explorer |
|
||||
| wizarr | ghcr.io/wizarrrr/wizarr@sha256:0681c279ebe80e73d0536a791d7ea2bcacaa4e6b865fbc026481d76315bf8e0a | User invitation management system for Jellyfin, Plex, and Emby |
|
||||
| youtubedl | nbr23/youtube-dl-server:latest@sha256:af3dfd77a9aa03f3d8f9b18264780562c3bf9302a6bbf7f8e52f1b5c46a076b7 | YouTube Downloader |
|
||||
| zammad-backup | ghcr.io/zammad/zammad:6.5.0-15 | |
|
||||
| zammad-elasticsearch | elasticsearch:8.18.0 | |
|
||||
| zammad-init | ghcr.io/zammad/zammad:6.5.0-15 | |
|
||||
| zammad-memcached | memcached:1.6.38-alpine | |
|
||||
| zammad-nginx | ghcr.io/zammad/zammad:6.5.0-15 | Open-source helpdesk/customer support system |
|
||||
| zammad-postgresql | postgres:17.5-alpine | |
|
||||
| zammad-railsserver | ghcr.io/zammad/zammad:6.5.0-15 | |
|
||||
| zammad-redis | redis:7.4.2-alpine | |
|
||||
| zammad-scheduler | ghcr.io/zammad/zammad:6.5.0-15 | |
|
||||
| zammad-websocket | ghcr.io/zammad/zammad:6.5.0-15 | |
|
||||
|
||||
[
|
||||
{
|
||||
"service": "actual_server",
|
||||
"image": "docker.io/actualbudget/actual-server:latest"
|
||||
},
|
||||
{
|
||||
"service": "adguard",
|
||||
"image": "adguard/adguardhome:latest"
|
||||
},
|
||||
{
|
||||
"service": "apprise",
|
||||
"image": "lscr.io/linuxserver/apprise-api:latest"
|
||||
},
|
||||
{
|
||||
"service": "audiobookshelf",
|
||||
"image": "ghcr.io/advplyr/audiobookshelf:latest"
|
||||
},
|
||||
{
|
||||
"service": "authelia",
|
||||
"image": "authelia/authelia:master"
|
||||
},
|
||||
{
|
||||
"service": "authelia-pg",
|
||||
"image": "postgres:16-alpine"
|
||||
},
|
||||
{
|
||||
"service": "bazarr",
|
||||
"image": "lscr.io/linuxserver/bazarr:latest"
|
||||
},
|
||||
{
|
||||
"service": "bitmagnet",
|
||||
"image": "ghcr.io/bitmagnet-io/bitmagnet:latest"
|
||||
},
|
||||
{
|
||||
"service": "bitmagnet-pg-db",
|
||||
"image": "postgres:17-alpine"
|
||||
},
|
||||
{
|
||||
"service": "bitwarden",
|
||||
"image": "vaultwarden/server:latest"
|
||||
},
|
||||
{
|
||||
"service": "bluesky-pds",
|
||||
"image": "ghcr.io/bluesky-social/pds:latest"
|
||||
},
|
||||
{
|
||||
"service": "browserless",
|
||||
"image": "ghcr.io/browserless/chromium:latest"
|
||||
},
|
||||
{
|
||||
"service": "castopod",
|
||||
"image": "castopod/castopod:latest"
|
||||
},
|
||||
{
|
||||
"service": "cloudflared",
|
||||
"image": "cloudflare/cloudflared:latest"
|
||||
},
|
||||
{
|
||||
"service": "cloudflareddns",
|
||||
"image": "ghcr.io/hotio/cloudflareddns:latest"
|
||||
},
|
||||
{
|
||||
"service": "crowdsec",
|
||||
"image": "crowdsecurity/crowdsec:latest"
|
||||
},
|
||||
{
|
||||
"service": "crowdsec-dashboard",
|
||||
"image": "metabase/metabase"
|
||||
},
|
||||
{
|
||||
"service": "czkawka",
|
||||
"image": "jlesage/czkawka"
|
||||
},
|
||||
{
|
||||
"service": "dagu-scheduler",
|
||||
"image": "ghcr.io/dagu-org/dagu:latest"
|
||||
},
|
||||
{
|
||||
"service": "dagu-server",
|
||||
"image": "ghcr.io/dagu-org/dagu:latest"
|
||||
},
|
||||
{
|
||||
"service": "delugevpn",
|
||||
"image": "ghcr.io/binhex/arch-delugevpn:latest"
|
||||
},
|
||||
{
|
||||
"service": "docker-socket-proxy",
|
||||
"image": "ghcr.io/tecnativa/docker-socket-proxy:latest"
|
||||
},
|
||||
{
|
||||
"service": "docuseal",
|
||||
"image": "docuseal/docuseal:latest"
|
||||
},
|
||||
{
|
||||
"service": "duplicati",
|
||||
"image": "lscr.io/linuxserver/duplicati:latest"
|
||||
},
|
||||
{
|
||||
"service": "fastenhealth",
|
||||
"image": "ghcr.io/fastenhealth/fasten-onprem:main"
|
||||
},
|
||||
{
|
||||
"service": "flaresolverr",
|
||||
"image": "ghcr.io/flaresolverr/flaresolverr:latest"
|
||||
},
|
||||
{
|
||||
"service": "ghost",
|
||||
"image": "ghost:latest"
|
||||
},
|
||||
{
|
||||
"service": "gitea",
|
||||
"image": "gitea/gitea:1.22.2"
|
||||
},
|
||||
{
|
||||
"service": "gitea-db",
|
||||
"image": "postgres:14"
|
||||
},
|
||||
{
|
||||
"service": "gitea-opengist",
|
||||
"image": "ghcr.io/thomiceli/opengist:latest"
|
||||
},
|
||||
{
|
||||
"service": "gitea-runner",
|
||||
"image": "gitea/act_runner:latest"
|
||||
},
|
||||
{
|
||||
"service": "gitea-sonarqube-bot",
|
||||
"image": "justusbunsi/gitea-sonarqube-bot:v0.4.0"
|
||||
},
|
||||
{
|
||||
"service": "gluetun",
|
||||
"image": "qmcgaw/gluetun:latest"
|
||||
},
|
||||
{
|
||||
"service": "gotify",
|
||||
"image": "gotify/server"
|
||||
},
|
||||
{
|
||||
"service": "grafana",
|
||||
"image": "grafana/grafana-enterprise:latest"
|
||||
},
|
||||
{
|
||||
"service": "grafana-alloy",
|
||||
"image": "grafana/alloy:latest"
|
||||
},
|
||||
{
|
||||
"service": "grafana-loki",
|
||||
"image": "grafana/loki:latest"
|
||||
},
|
||||
{
|
||||
"service": "grafana-mimir",
|
||||
"image": "grafana/mimir:latest"
|
||||
},
|
||||
{
|
||||
"service": "grafana-mimir-memcached",
|
||||
"image": "memcached"
|
||||
},
|
||||
{
|
||||
"service": "grafana-pyroscope",
|
||||
"image": "grafana/pyroscope:latest"
|
||||
},
|
||||
{
|
||||
"service": "grafana-tempo",
|
||||
"image": "grafana/tempo:latest"
|
||||
},
|
||||
{
|
||||
"service": "homepage",
|
||||
"image": "ghcr.io/gethomepage/homepage:latest"
|
||||
},
|
||||
{
|
||||
"service": "hortusfox",
|
||||
"image": "ghcr.io/danielbrendel/hortusfox-web:latest"
|
||||
},
|
||||
{
|
||||
"service": "hugo",
|
||||
"image": "hugomods/hugo:exts"
|
||||
},
|
||||
{
|
||||
"service": "invidious",
|
||||
"image": "quay.io/invidious/invidious:latest"
|
||||
},
|
||||
{
|
||||
"service": "invidious-db",
|
||||
"image": "docker.io/library/postgres:14"
|
||||
},
|
||||
{
|
||||
"service": "invoice_ninja",
|
||||
"image": "invoiceninja/invoiceninja:5"
|
||||
},
|
||||
{
|
||||
"service": "invoice_ninja_proxy",
|
||||
"image": "nginx"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
```
|
||||
+4215
-4436
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",
|
||||
"bitnami/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