Compare commits
270 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a255ff7932 | |||
| 332aef1b89 | |||
| 06780b1a42 | |||
| 3eabf1a3d4 | |||
| 55c8b72940 | |||
| 01b4f58524 | |||
| caa15ed4ee | |||
| 3554cde9e4 | |||
| a7060535cc | |||
| 669ee23ee9 | |||
| 52bd1fa698 | |||
| 8437218a97 | |||
| bfcac1b0e1 | |||
| 188bf0c4da | |||
| a42c858e2a | |||
| 5bc7b7524c | |||
| ed08715754 | |||
| 4dde7636e3 | |||
| 4af14ddc69 | |||
| 692d092a01 | |||
| e3086057f2 | |||
| 7a4ab12b9a | |||
| 7e31e2363f | |||
| b56a0eec39 | |||
| d612b3d9c1 | |||
| 1f549f331f | |||
| f684f60e95 | |||
| 2dbe6b7a3b | |||
| 4fe91d095c | |||
| 4a2637da7e | |||
| 3b8b930027 | |||
| 07fc211592 | |||
| 40da232294 | |||
| ba94ab6d61 | |||
| dbab807837 | |||
| fe36d69617 | |||
| 4d6299a94d | |||
| 0cd149bd8b | |||
| 5a754a31be | |||
| a55d8fa50a | |||
| 17c0016fe3 | |||
| 48415e9f2e | |||
| c4af487a58 | |||
| bc34e2bf43 | |||
| 270470a4d3 | |||
| e94bf2a44a | |||
| 1ca1e40bfd | |||
| cb460137dd | |||
| 5a6afb1cb7 | |||
| 9cd58314b8 | |||
| 6aafa9edd8 | |||
| 83b97b1d90 | |||
| 7671cb26da | |||
| f044a4cf52 | |||
| 28fbe4417e | |||
| e52eba0aa1 | |||
| 3d75cd3509 | |||
| d4e710830d | |||
| 1c3fe4cf51 | |||
| d53db6f67d | |||
| 35491a1b83 | |||
| 6ce05beff2 | |||
| 5243f31741 | |||
| 126baa2a52 | |||
| ae11234e37 | |||
| 0667d49b1a | |||
| 30c4d53bdf | |||
| 8da5222140 | |||
| 2a118311b7 | |||
| cec009fcb1 | |||
| b6dd26b14f | |||
| 3cd19175ed | |||
| e27587a1b6 | |||
| 83f13f028e | |||
| 5772f4171e | |||
| e597260dac | |||
| 97b9e7c3a5 | |||
| a9a125555a | |||
| 032f54aa7c | |||
| 1c4779b3da | |||
| 1e49c806e6 | |||
| 991e0768b9 | |||
| 391ae75614 | |||
| 70212b8899 | |||
| 90010d1cbc | |||
| 79f55b9326 | |||
| a1e3cd9196 | |||
| 5e2491929c | |||
| 77836c6203 | |||
| 557f57cb0f | |||
| 3009503b3d | |||
| a13c18c529 | |||
| 7d1a5f6ea7 | |||
| 080c8ef373 | |||
| 008febf14a | |||
| dca5eb3434 | |||
| a363945eb8 | |||
| bb9e491b34 | |||
| 296660a17c | |||
| dc89a08016 | |||
| 1777a63b70 | |||
| 454fa5ad4b | |||
| 0f77a29600 | |||
| 82e9a3d8ff | |||
| 9469b4f84d | |||
| e388bc55d6 | |||
| 07d79873ec | |||
| 52779ed76c | |||
| 4ec7e4ea9f | |||
| 1584f5ab13 | |||
| ca7702c372 | |||
| 0c0b4a9cb3 | |||
| 8bd92b6052 | |||
| 6d36871bc8 | |||
| e0c56559d4 | |||
| b8cc7d5fce | |||
| 447da2facb | |||
| 66cf74a3bf | |||
| 1419015207 | |||
| 6f2b67f7a7 | |||
| 478699475e | |||
| 0882560926 | |||
| fcc5bb697e | |||
| 1dc4723a2e | |||
| 0c825d3234 | |||
| d62d144bf4 | |||
| 9bde641bb0 | |||
| 779a60e962 | |||
| 4c32cb265c | |||
| a04de3ecff | |||
| 226931fd42 | |||
| 4e138e5987 | |||
| 98ccf1f0f3 | |||
| f50adb4072 | |||
| 580a7a95ca | |||
| 134d4e1078 | |||
| 1413cc1753 | |||
| cba2d917fa | |||
| 3b8187f15e | |||
| 042e21731e | |||
| ae88cf44c6 | |||
| 4396c69849 | |||
| 2222510f85 | |||
| a953b2ab16 | |||
| 531d1fb0aa | |||
| 63c27e90db | |||
| 28270b1b02 | |||
| e36149844c | |||
| f2f6b32a34 | |||
| 99b7c55086 | |||
| b687ea16cd | |||
| b667777e32 | |||
| e1c0b9fb44 | |||
| 5be2d091df | |||
| ee414373d7 | |||
| 191b31573d | |||
| 8aad011b31 | |||
| 269af634c2 | |||
| 43ddc8c743 | |||
| c4b67c6b36 | |||
| 29b30de330 | |||
| 183f19dd33 | |||
| 98fb503321 | |||
| fd58dd6bd7 | |||
| 45894e6325 | |||
| ae3a45f375 | |||
| ffb012148c | |||
| 74a3c90a93 | |||
| 1a7f20fbc3 | |||
| 195ff475d7 | |||
| baa210c1ea | |||
| 23271efbec | |||
| 8246e925dc | |||
| e3d652dcd2 | |||
| 2df0632583 | |||
| 0726cfc424 | |||
| debae01c1a | |||
| b9c590ba70 | |||
| a6dc545479 | |||
| b7558eb842 | |||
| e5f28515b5 | |||
| 7b67284ddb | |||
| 78400eec08 | |||
| 5dbeb89996 | |||
| c9498af823 | |||
| f6fc428b98 | |||
| 2f25e7cb3f | |||
| 51eae71d85 | |||
| b772b626f3 | |||
| 11391fa66d | |||
| 7dd0108e1d | |||
| 7c9c0f8dca | |||
| f1b11cca6d | |||
| ffaa66a086 | |||
| 33d2c7d0c3 | |||
| d6311c95af | |||
| 19f17d5b62 | |||
| 070458d4c8 | |||
| 389e2b7afa | |||
| 4f40973910 | |||
| fb9443a21d | |||
| 3ba38e769f | |||
| 4f32c568d9 | |||
| 7c46dd85f5 | |||
| 03b5e3e90f | |||
| bf843dbddb | |||
| 1b6cd1c56b | |||
| f14ac8bf6e | |||
| 5709c54995 | |||
| c47c6f08df | |||
| 0524fd3818 | |||
| 599045c3b2 | |||
| e2ada5b2d4 | |||
| cc3ef05fa6 | |||
| bb1034e01f | |||
| 6a2e72ee36 | |||
| a2a65c5992 | |||
| fc59ae6276 | |||
| 7ab88380ac | |||
| 8e93e7d342 | |||
| cff4663f34 | |||
| 47cca145c4 | |||
| 8ec5cdb552 | |||
| 446ab4b77a | |||
| 060604d0b9 | |||
| da213b12f8 | |||
| 093252c022 | |||
| b4852f0baf | |||
| 8629ac210f | |||
| a594f86051 | |||
| 94df464cad | |||
| 82ac8f07eb | |||
| ae80e3227e | |||
| e06018c0eb | |||
| 056f1fe16d | |||
| b5c0962ca0 | |||
| 8c68031cf3 | |||
| 5c57946f5c | |||
| ed7008dd16 | |||
| df374fd6f4 | |||
| 288bc0e282 | |||
| aa96482127 | |||
| 4f6f1891ec | |||
| c7c0ebb441 | |||
| 0ba49e2ef2 | |||
| 0fceadafd0 | |||
| f654cb111e | |||
| 9d1f8e5cd9 | |||
| a7aa9bc950 | |||
| ebf9dc3d01 | |||
| 5599b8208f | |||
| 43a6478cbc | |||
| 272842da9e | |||
| fb97720590 | |||
| 30b7c19e22 | |||
| 1d8e3b2cfd | |||
| 3dc6d149d2 | |||
| cb9753644d | |||
| 9c65bfc7fb | |||
| 2f0c4ec6d1 | |||
| 2ef37621b5 | |||
| 68fb23e4ed | |||
| d98f42c628 | |||
| 0507d298d4 | |||
| c54ed9db60 | |||
| 56bbf6067b | |||
| 684a36575e | |||
| 965b614d62 | |||
| 2ace69bbb1 | |||
| 88be17e01a |
+168
-29
@@ -14,36 +14,49 @@ jobs:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: PR list
|
||||
- name: Install tea
|
||||
uses: supplypike/setup-bin@v4
|
||||
with:
|
||||
uri: 'https://gitea.com/gitea/tea/releases/download/v0.9.2/tea-0.9.2-linux-amd64'
|
||||
name: 'tea'
|
||||
version: '0.9.2'
|
||||
|
||||
- name: Check if PR exists & Create
|
||||
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 }}' \
|
||||
-s | 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 }}
|
||||
assignee: ${{ gitea.actor }}
|
||||
tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
|
||||
tea login default gitea-rinoa
|
||||
echo "Checking if PR exists for ${{ github.ref_name }}..."
|
||||
tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head,state --output csv | egrep '${{ github.ref_name }}' | head -1 | egrep -q 'open'
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "An open PR exists, skipping creation..."
|
||||
elif [ $? -eq 1 ]; then
|
||||
echo "No open PRs, creating one..."
|
||||
tea pr c -r "${{ github.repository }}" -t "Automated PR for ${{ github.ref_name }}" -d "Automated PR for ${{ github.ref_name }}"
|
||||
fi
|
||||
|
||||
docker-compose-test:
|
||||
name: Docker Compose Test
|
||||
needs: [create-pr]
|
||||
needs: [check-and-create-pr]
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
|
||||
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install jq
|
||||
uses: dcarbone/install-jq-action@v3.0.1
|
||||
|
||||
- name: Generate ephemeral .env compose file
|
||||
id: generate-env-file-pr
|
||||
- name: Install Vault
|
||||
uses: cpanato/vault-installer@main
|
||||
with:
|
||||
vault-release: '1.18.3'
|
||||
|
||||
- name: Generate .env file for linting
|
||||
run: |
|
||||
echo "${{ secrets.RINOA_ENV }}" > .env
|
||||
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
|
||||
|
||||
- name: Docker Compose Lint
|
||||
uses: yu-ichiro/spin-up-docker-compose-action@v1
|
||||
@@ -56,20 +69,146 @@ jobs:
|
||||
env:
|
||||
DOCKER_HOST: tcp://dockerproxy:2375
|
||||
|
||||
merge-pr:
|
||||
name: PR Merge
|
||||
runs-on: ubuntu-latest
|
||||
cloudflare-dns-setup:
|
||||
name: Cloudflare DNS Setup
|
||||
needs: [docker-compose-test]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Tea CLI Setup & PR Merge
|
||||
- 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: |
|
||||
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 }}
|
||||
echo ${{ gitea.ref_name }}
|
||||
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 != ''
|
||||
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"
|
||||
done
|
||||
|
||||
regenerate-readme:
|
||||
name: Update README
|
||||
runs-on: ubuntu-latest
|
||||
needs: [cloudflare-dns-setup]
|
||||
outputs:
|
||||
pr-pushed: ${{ steps.commit-readme.outputs.pushed }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install yq
|
||||
uses: dcarbone/install-yq-action@v1
|
||||
|
||||
- name: Generate service list
|
||||
run: |
|
||||
yq '.services | to_entries | map({"service": .key, "image": .value.image})' docker-compose.yml > services.yml
|
||||
|
||||
- name: Generate Markdown Table
|
||||
uses: gazab/create-markdown-table@v1
|
||||
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@v9
|
||||
with:
|
||||
message: "chore: Update README"
|
||||
add: "README.md"
|
||||
|
||||
pr-merge:
|
||||
name: PR Merge
|
||||
needs: [regenerate-readme]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install tea
|
||||
uses: supplypike/setup-bin@v4
|
||||
with:
|
||||
uri: 'https://gitea.com/gitea/tea/releases/download/v0.9.2/tea-0.9.2-linux-amd64'
|
||||
name: 'tea'
|
||||
version: '0.9.2'
|
||||
|
||||
- name: PR Merge
|
||||
id: pr_merge
|
||||
run: |
|
||||
tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
|
||||
tea login default gitea-rinoa
|
||||
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}
|
||||
tea pr m --repo ${{ github.repository }} --title "Auto Merge of PR #${pr_index} - ${{ gitea.ref_name }}" --message "Merged by ${{ gitea.actor }}" --output table ${pr_index}
|
||||
|
||||
|
||||
docker-compose-deploy:
|
||||
name: Deploy via Docker Compose
|
||||
runs-on: ubuntu-latest
|
||||
needs: [pr-merge]
|
||||
env:
|
||||
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
|
||||
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
|
||||
DOCKER_HOST: tcp://dockerproxy:2375
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: main
|
||||
|
||||
- name: Install Vault
|
||||
uses: cpanato/vault-installer@main
|
||||
|
||||
- name: Generate .env file for deployment
|
||||
run: |
|
||||
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
|
||||
|
||||
- name: Docker Compose Deployment
|
||||
uses: keatonLiu/docker-compose-remote-action@v1.2
|
||||
with:
|
||||
ssh_user: gitea-deploy
|
||||
ssh_host: 192.168.1.254
|
||||
ssh_host_public_key: ${{ secrets.RINOA_GITEA_PUBLIC_SSH_KEY }}
|
||||
ssh_private_key: ${{ secrets.RINOA_GITEA_PRIVATE_SSH_KEY }}
|
||||
docker_compose_file: docker-compose.yml
|
||||
|
||||
@@ -1,588 +1,157 @@
|
||||
# List of Services
|
||||
|
||||
```json
|
||||
~> yq '.services | to_entries | map({service: .key, image: .value.image})' docker-compose.yml
|
||||
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
| Service | Image |
|
||||
| --- | --- |
|
||||
| actual_server | docker.io/actualbudget/actual-server:latest |
|
||||
| adguard | adguard/adguardhome:latest |
|
||||
| apprise | lscr.io/linuxserver/apprise-api:latest |
|
||||
| audiobookshelf | ghcr.io/advplyr/audiobookshelf:latest |
|
||||
| authelia | authelia/authelia:master |
|
||||
| authelia-pg | postgres:16-alpine |
|
||||
| bazarr | lscr.io/linuxserver/bazarr:latest |
|
||||
| bitmagnet | ghcr.io/bitmagnet-io/bitmagnet:latest |
|
||||
| bitmagnet-pg-db | postgres:17-alpine |
|
||||
| bitwarden | vaultwarden/server:latest |
|
||||
| bluesky-pds | ghcr.io/bluesky-social/pds:latest |
|
||||
| browserless | ghcr.io/browserless/chromium:latest |
|
||||
| bunkerweb | bunkerity/bunkerweb:latest |
|
||||
| bunkerweb-scheduler | bunkerity/bunkerweb-scheduler:latest |
|
||||
| bunkerweb-ui | bunkerity/bunkerweb-ui:latest |
|
||||
| castopod | castopod/castopod:latest |
|
||||
| cloudflared | cloudflare/cloudflared:latest |
|
||||
| cloudflareddns | ghcr.io/hotio/cloudflareddns:latest |
|
||||
| crowdsec | crowdsecurity/crowdsec:latest |
|
||||
| crowdsec-dashboard | metabase/metabase |
|
||||
| czkawka | jlesage/czkawka |
|
||||
| dagu-scheduler | ghcr.io/dagu-org/dagu:latest |
|
||||
| dagu-server | ghcr.io/dagu-org/dagu:latest |
|
||||
| delugevpn | ghcr.io/binhex/arch-delugevpn:latest |
|
||||
| docker-socket-proxy | ghcr.io/tecnativa/docker-socket-proxy:latest |
|
||||
| docuseal | docuseal/docuseal:latest |
|
||||
| duplicati | lscr.io/linuxserver/duplicati:latest |
|
||||
| fastenhealth | ghcr.io/fastenhealth/fasten-onprem:main |
|
||||
| flaresolverr | ghcr.io/flaresolverr/flaresolverr:latest |
|
||||
| ghost | ghost:latest |
|
||||
| gitea | gitea/gitea:1.22.6 |
|
||||
| gitea-db | postgres:14 |
|
||||
| gitea-opengist | ghcr.io/thomiceli/opengist:latest |
|
||||
| gitea-runner | gitea/act_runner:latest |
|
||||
| gitea-sonarqube-bot | justusbunsi/gitea-sonarqube-bot:v0.4.0 |
|
||||
| gluetun | qmcgaw/gluetun:latest |
|
||||
| gotify | gotify/server |
|
||||
| grafana | grafana/grafana-enterprise:latest |
|
||||
| grafana-alloy | grafana/alloy:latest |
|
||||
| grafana-loki | grafana/loki:latest |
|
||||
| grafana-mimir | grafana/mimir:latest |
|
||||
| grafana-mimir-memcached | memcached |
|
||||
| grafana-pyroscope | grafana/pyroscope:latest |
|
||||
| grafana-tempo | grafana/tempo:latest |
|
||||
| guacamole | flcontainers/guacamole:latest |
|
||||
| homepage | ghcr.io/gethomepage/homepage:latest |
|
||||
| hortusfox | ghcr.io/danielbrendel/hortusfox-web:latest |
|
||||
| hugo | hugomods/hugo:exts |
|
||||
| invidious | quay.io/invidious/invidious:latest |
|
||||
| invidious-db | docker.io/library/postgres:14 |
|
||||
| invoice_ninja | invoiceninja/invoiceninja:5 |
|
||||
| invoice_ninja_proxy | nginx |
|
||||
| it-tools | ghcr.io/corentinth/it-tools:latest |
|
||||
| jellyfin | jellyfin/jellyfin |
|
||||
| jitsi-etherpad | etherpad/etherpad:1.8.6 |
|
||||
| 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 |
|
||||
| joplin-db | postgres:17-alpine |
|
||||
| joplin | joplin/server:latest |
|
||||
| komodo-core | ghcr.io/mbecker20/komodo:latest |
|
||||
| komodo-ferretdb | ghcr.io/ferretdb/ferretdb |
|
||||
| komodo-periphery | ghcr.io/mbecker20/periphery:latest |
|
||||
| komodo-pg-db | postgres:17-alpine |
|
||||
| librespeed | lscr.io/linuxserver/librespeed:latest |
|
||||
| lidarr | lscr.io/linuxserver/lidarr:latest |
|
||||
| lidify | thewicklowwolf/lidify:latest |
|
||||
| lldap | lldap/lldap:stable |
|
||||
| localai | localai/localai:latest-aio-cpu |
|
||||
| maloja | krateng/maloja:latest |
|
||||
| mariadb | ghcr.io/linuxserver/mariadb |
|
||||
| mastodon-pg-db | postgres:17-alpine |
|
||||
| minio | minio/minio |
|
||||
| mongodb | mongo:7.0 |
|
||||
| multi-scrobbler | foxxmd/multi-scrobbler |
|
||||
| n8n | docker.n8n.io/n8nio/n8n |
|
||||
| navidrome | deluan/navidrome:latest |
|
||||
| netbox | lscr.io/linuxserver/netbox:latest |
|
||||
| netbox-db | postgres:17-alpine |
|
||||
| nextcloud | lscr.io/linuxserver/nextcloud:latest |
|
||||
| ollama | ollama/ollama |
|
||||
| ombi | lscr.io/linuxserver/ombi:latest |
|
||||
| paperless-ngx | ghcr.io/paperless-ngx/paperless-ngx:latest |
|
||||
| plausible | ghcr.io/plausible/community-edition:v2.1.0 |
|
||||
| plausible_db | postgres:16-alpine |
|
||||
| plausible_events_db | clickhouse/clickhouse-server:24.3.3.102-alpine |
|
||||
| postal-smtp | ghcr.io/postalserver/postal:latest |
|
||||
| postal-web | ghcr.io/postalserver/postal:latest |
|
||||
| postal-worker | ghcr.io/postalserver/postal:latest |
|
||||
| prowlarr | lscr.io/linuxserver/prowlarr:latest |
|
||||
| radarec | thewicklowwolf/radarec:latest |
|
||||
| radarr | lscr.io/linuxserver/radarr:latest |
|
||||
| reactive-resume | amruthpillai/reactive-resume:latest |
|
||||
| reactive-resume-pg | postgres:16-alpine |
|
||||
| readarr | lscr.io/linuxserver/readarr:develop |
|
||||
| redis | redis:alpine |
|
||||
| redlib | quay.io/redlib/redlib:latest |
|
||||
| sabnzbdvpn | ghcr.io/binhex/arch-sabnzbdvpn:latest |
|
||||
| scraperr | jpyles0524/scraperr:latest |
|
||||
| scraperr-api | jpyles0524/scraperr_api:latest |
|
||||
| scrutiny | ghcr.io/analogj/scrutiny:master-omnibus |
|
||||
| searxng | searxng/searxng:latest |
|
||||
| semaphore | semaphoreui/semaphore:v2.10.32 |
|
||||
| slurpit-portal | slurpit/portal:latest |
|
||||
| slurpit-scanner | slurpit/scanner:latest |
|
||||
| slurpit-scraper | slurpit/scraper:latest |
|
||||
| slurpit-warehouse | slurpit/warehouse:latest |
|
||||
| sonarqube | mc1arke/sonarqube-with-community-branch-plugin:lts |
|
||||
| sonarqube-pg-db | postgres:17-alpine |
|
||||
| sonarr | lscr.io/linuxserver/sonarr:latest |
|
||||
| sonashow | thewicklowwolf/sonashow:latest |
|
||||
| soularr | mrusse08/soularr:latest |
|
||||
| soulseek | slskd/slskd |
|
||||
| spotisub | blastbeng/spotisub:latest |
|
||||
| swag | lscr.io/linuxserver/swag:latest |
|
||||
| synapse | docker.io/matrixdotorg/synapse:latest |
|
||||
| synapse-db | postgres:16-alpine |
|
||||
| tandoor | vabene1111/recipes |
|
||||
| tandoor-pg | postgres:16-alpine |
|
||||
| traccar | traccar/traccar:latest |
|
||||
| traccar-pg | postgres:16-alpine |
|
||||
| unmanic | josh5/unmanic:latest |
|
||||
| uptimekuma | louislam/uptime-kuma:latest |
|
||||
| vault | hashicorp/vault:latest |
|
||||
| wallabag | wallabag/wallabag |
|
||||
| wallos | bellamy/wallos:latest |
|
||||
| watchtower | ghcr.io/containrrr/watchtower:latest |
|
||||
| wazuh.agent | opennix/wazuh-agent:latest |
|
||||
| wazuh.dashboard | wazuh/wazuh-dashboard: |
|
||||
| wazuh.indexer | wazuh/wazuh-indexer: |
|
||||
| wazuh.manager | wazuh/wazuh-manager: |
|
||||
| web-check | lissy93/web-check |
|
||||
| whodb | clidey/whodb |
|
||||
| your_spotify | lscr.io/linuxserver/your_spotify:latest |
|
||||
| youtubedl | nbr23/youtube-dl-server:latest |
|
||||
| zammad-backup | postgres: |
|
||||
| zammad-elasticsearch | bitnami/elasticsearch: |
|
||||
| zammad-init | : |
|
||||
| zammad-memcached | memcached: |
|
||||
| zammad-nginx | : |
|
||||
| zammad-postgresql | postgres: |
|
||||
| zammad-railsserver | : |
|
||||
| zammad-redis | redis: |
|
||||
| zammad-scheduler | : |
|
||||
| zammad-websocket | : |
|
||||
| zitadel | ghcr.io/zitadel/zitadel:latest |
|
||||
| zitadel-pg-db | postgres:16-alpine |
|
||||
|
||||
|
||||
+96
-62
@@ -503,10 +503,63 @@ services:
|
||||
networks:
|
||||
default: null
|
||||
restart: unless-stopped
|
||||
bunkerweb:
|
||||
container_name: bunkerweb
|
||||
environment:
|
||||
SERVER_NAME: www.trez.wtf
|
||||
API_WHITELIST_IP: 172.18.0.0/16 192.168.1.0/24
|
||||
USE_REAL_IP: yes
|
||||
REAL_IP_FROM: 172.18.0.0/16
|
||||
REAL_IP_HEADER: X-Forwarded-For
|
||||
expose:
|
||||
- 8080
|
||||
- 8443
|
||||
image: bunkerity/bunkerweb:latest
|
||||
labels:
|
||||
bunkerweb.INSTANCE: yes
|
||||
restart: unless-stopped
|
||||
bunkerweb-scheduler:
|
||||
container_name: bunkerweb-scheduler
|
||||
depends_on:
|
||||
- bunkerweb
|
||||
- docker-socket-proxy
|
||||
environment:
|
||||
DOCKER_HOST: tcp://dockerproxy:2375
|
||||
image: bunkerity/bunkerweb-scheduler:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- bunkerweb-data:/data
|
||||
bunkerweb-ui:
|
||||
container_name: bunkerweb-ui
|
||||
depends_on:
|
||||
- bunkerweb
|
||||
- docker-socket-proxy
|
||||
environment:
|
||||
DOCKER_HOST: tcp://dockerproxy:2375
|
||||
expose:
|
||||
- 7000
|
||||
image: bunkerity/bunkerweb-ui:latest
|
||||
labels:
|
||||
homepage.group: Privacy/Security
|
||||
homepage.name: Bunkerweb
|
||||
homepage.href: https://bunker.${MY_TLD}
|
||||
homepage.icon: bunker.svg
|
||||
homepage.description: Next-gen WAF
|
||||
swag: enable
|
||||
swag_port: 7000
|
||||
swag_url: bunker.${MY_TLD}
|
||||
swag.uptime-kuma.enabled: true
|
||||
swag.uptime-kuma.monitor.url: https://bunker.${MY_TLD}
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- bunkerweb-data:/data
|
||||
castopod:
|
||||
container_name: castopod
|
||||
depends_on:
|
||||
- mariadb
|
||||
mariadb:
|
||||
condition: service_started
|
||||
required: true
|
||||
restart: true
|
||||
environment:
|
||||
MYSQL_DATABASE: castopod
|
||||
MYSQL_USER: castopod
|
||||
@@ -691,7 +744,7 @@ services:
|
||||
homepage.group: System Administration
|
||||
homepage.name: Czkawka
|
||||
homepage.href: https://czkawka.${MY_TLD}
|
||||
homepage.icon: sh-czkawka.png
|
||||
homepage.icon: /icons/czkawka.png
|
||||
homepage.description: Smart file management
|
||||
swag: enable
|
||||
swag_port: 5800
|
||||
@@ -1104,7 +1157,7 @@ services:
|
||||
GITEA__mailer__SMTP_PORT: 25
|
||||
GITEA__mailer__USER: ${POSTAL_SMTP_AUTH_USER}
|
||||
GITEA__mailer__PASSWD: ${POSTAL_SMTP_AUTH_PASSWORD}
|
||||
image: gitea/gitea:1.22.2
|
||||
image: gitea/gitea:1.22.6
|
||||
labels:
|
||||
homepage.group: Code/DevOps
|
||||
homepage.name: Gitea
|
||||
@@ -1656,6 +1709,7 @@ services:
|
||||
mariadb:
|
||||
condition: service_started
|
||||
required: true
|
||||
restart: true
|
||||
environment:
|
||||
APP_ADMIN_EMAIL: charish.patel@trez.wtf
|
||||
APP_ADMIN_PASSWORD: ${HORTUSFOX_ADMIN_PASSWORD}
|
||||
@@ -1818,6 +1872,11 @@ services:
|
||||
create_host_path: true
|
||||
invoice_ninja:
|
||||
container_name: invoice_ninja
|
||||
depends_on:
|
||||
mariadb:
|
||||
condition: service_started
|
||||
required: true
|
||||
restart: true
|
||||
environment:
|
||||
APP_DEBUG: true
|
||||
APP_KEY: ${IN_APP_KEY}
|
||||
@@ -3008,58 +3067,6 @@ services:
|
||||
type: bind
|
||||
bind:
|
||||
create_host_path: true
|
||||
mastodon:
|
||||
container_name: mastodon
|
||||
environment:
|
||||
PUID: ${PUID}
|
||||
PGID: ${PGID}
|
||||
TZ: ${TZ}
|
||||
LOCAL_DOMAIN: trez.wtf
|
||||
REDIS_HOST: redis
|
||||
REDIS_PORT: 6379
|
||||
DB_HOST: mastodon-pg-db
|
||||
DB_USER: mastodon
|
||||
DB_NAME: mastodon
|
||||
DB_PASS: ${MASTODON_PG_DB_PASSWORD}
|
||||
DB_PORT: 5432
|
||||
ES_ENABLED: false
|
||||
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY:
|
||||
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY:
|
||||
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT:
|
||||
SECRET_KEY_BASE:
|
||||
OTP_SECRET:
|
||||
VAPID_PRIVATE_KEY:
|
||||
VAPID_PUBLIC_KEY:
|
||||
SMTP_SERVER: postal-smtp
|
||||
SMTP_PORT: 25
|
||||
SMTP_LOGIN: ${POSTAL_SMTP_AUTH_USER}
|
||||
SMTP_PASSWORD: ${POSTAL_SMTP_AUTH_PASSWORD}
|
||||
SMTP_FROM_ADDRESS: noreply@trez.wtf
|
||||
S3_ENABLED: true
|
||||
S3_BUCKET: mastodon
|
||||
AWS_ACCESS_KEY_ID: ${MASTODON_MINIO_ACCESS_KEY}
|
||||
AWS_SECRET_ACCESS_KEY: ${MASTODON_MINIO_SECRET_KEY}
|
||||
image: lscr.io/linuxserver/mastodon:latest
|
||||
labels:
|
||||
swag: enable
|
||||
swag_proto: http
|
||||
swag_port: 5678
|
||||
swag_url: mastodon.${MY_TLD}
|
||||
swag.uptime-kuma.enabled: true
|
||||
swag.uptime-kuma.monitor.url: https://mastodon.${MY_TLD}
|
||||
homepage.group: Social
|
||||
homepage.name: Mastodon
|
||||
homepage.href: https://mastodon.${MY_TLD}
|
||||
homepage.icon: mastodon.svg
|
||||
homepage.description: Open-source social network
|
||||
homepage.widget.type: mastodon
|
||||
homepage.widget.url: http://mastodon
|
||||
ports:
|
||||
- 9044:80
|
||||
- 3444:443
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ${DOCKER_VOLUME_CONFIG}/mastodon:/config
|
||||
mastodon-pg-db:
|
||||
container_name: mastodon-pg-db
|
||||
environment:
|
||||
@@ -3313,6 +3320,11 @@ services:
|
||||
volume: {}
|
||||
nextcloud:
|
||||
container_name: nextcloud
|
||||
depends_on:
|
||||
mariadb:
|
||||
condition: service_started
|
||||
required: true
|
||||
restart: true
|
||||
environment:
|
||||
PGID: 1000
|
||||
PUID: 1000
|
||||
@@ -3425,6 +3437,11 @@ services:
|
||||
type: bind
|
||||
paperless-ngx:
|
||||
container_name: paperless-ngx
|
||||
depends_on:
|
||||
mariadb:
|
||||
condition: service_started
|
||||
required: true
|
||||
restart: true
|
||||
environment:
|
||||
PAPERLESS_DBENGINE: mariadb
|
||||
PAPERLESS_DBHOST: mariadb
|
||||
@@ -4405,7 +4422,7 @@ services:
|
||||
homepage.group: Servarr Stack
|
||||
homepage.name: Sonashow
|
||||
homepage.href: https://sonashow.${MY_TLD}
|
||||
homepage.icon: sh-sonashow.png
|
||||
homepage.icon: /icons/sonashow.png
|
||||
homepage.description: TV show discovery based on library/tastes
|
||||
swag: enable
|
||||
swag_auth: authelia
|
||||
@@ -4434,6 +4451,24 @@ services:
|
||||
source: /etc/localtime
|
||||
target: /etc/localtime
|
||||
type: bind
|
||||
soularr:
|
||||
container_name: soularr
|
||||
depends_on:
|
||||
- lidarr
|
||||
- soulseek
|
||||
environment:
|
||||
PUID: ${PUID}
|
||||
PGID: ${PGID}
|
||||
TZ: ${TZ}
|
||||
#Script interval in seconds
|
||||
SCRIPT_INTERVAL: 300
|
||||
image: mrusse08/soularr:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
#"You can set /downloads to whatever you want but will then need to change the Slskd download dir in your config file"
|
||||
- ${DOCKER_VOLUME_STORAGE}/downloads:/downloads
|
||||
#Select where you are storing your config file. Leave "/data" since thats where the script expects the config file to be
|
||||
- ${DOCKER_VOLUME_CONFIG}/soularr:/data
|
||||
soulseek:
|
||||
container_name: soulseek
|
||||
depends_on:
|
||||
@@ -4452,7 +4487,7 @@ services:
|
||||
homepage.group: Downloaders
|
||||
homepage.description: Modern client-server application for the Soulseek file-sharing network.
|
||||
homepage.href: https://slsk.${MY_TLD}
|
||||
homepage.icon: sh-slskd.svg
|
||||
homepage.icon: /icons/slskd.png
|
||||
swag: enable
|
||||
swag_proto: http
|
||||
swag_url: slsk.${MY_TLD}
|
||||
@@ -6056,6 +6091,7 @@ services:
|
||||
mariadb:
|
||||
condition: service_started
|
||||
required: true
|
||||
restart: true
|
||||
redis:
|
||||
condition: service_started
|
||||
required: true
|
||||
@@ -6481,7 +6517,7 @@ services:
|
||||
homepage.group: System Administration
|
||||
homepage.name: WhoDB
|
||||
homepage.href: https://dbs.${MY_TLD}
|
||||
homepage.icon: sh-whodb.png
|
||||
homepage.icon: /icons/whodb.png
|
||||
homepage.description: Web-based DB management
|
||||
swag: enable
|
||||
swag_proto: http
|
||||
@@ -6982,6 +7018,8 @@ volumes:
|
||||
name: authelia-pg-db
|
||||
bitmagnet-pg-db:
|
||||
name: bitmagnet-pg-db
|
||||
bunkerweb-data:
|
||||
name: bunkerweb-data
|
||||
castopod-media:
|
||||
name: castopod-media
|
||||
crowdsec-config:
|
||||
@@ -7036,10 +7074,6 @@ volumes:
|
||||
name: localai_data
|
||||
mastodon-pg-db:
|
||||
name: mastodon-pg-db
|
||||
meshcentral-data:
|
||||
meshcentral-user_files:
|
||||
meshcentral-backup:
|
||||
meshcentral-web:
|
||||
mongodb_config:
|
||||
name: mongo1_config
|
||||
mongodb_data:
|
||||
|
||||
Reference in New Issue
Block a user