Auto Merge of PR #3 - docker-compose-deploy

Merged by Trez.One
This commit is contained in:
2025-01-11 20:07:10 -05:00
2 changed files with 204 additions and 347 deletions
+51 -45
View File
@@ -25,11 +25,15 @@ jobs:
id: list-prs id: list-prs
run: | 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 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 which tea
pr_state=$(tea pr ls --repo ${{ github.repository }} --state open --fields index,title,head,state --output csv | egrep ${{ gitea.ref_name }} | awk -F, '{print $4}' | sed -e 's|"||g') echo "List all PRs"
if [ "${pr_state}" != open ]; then tea pr ls --repo ${{ github.repository }} --state all
echo "Check if PR exists for ${{ github.ref_name }}"
pr_state=$(tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head,state --output csv | egrep ${{ gitea.ref_name }} | awk -F, '{print $4}' | sed -e 's|"||g')
echo "PR_STATE: ${pr_state}"
if [ ${pr_state} != open ]; then
tea pr c -r ${{ github.repository }} -t "Automated PR for ${{ github.ref_name }}" -d "Automated PR for ${{ github.ref_name }}" tea pr c -r ${{ github.repository }} -t "Automated PR for ${{ github.ref_name }}" -d "Automated PR for ${{ github.ref_name }}"
elif [ "${pr_state}" = open ]; then elif [ ${pr_state} = open ]; then
echo "PR already exists, skipping creation..." echo "PR already exists, skipping creation..."
fi fi
@@ -132,32 +136,27 @@ jobs:
- name: Install yq - name: Install yq
uses: dcarbone/install-yq-action@v1 uses: dcarbone/install-yq-action@v1
- name: Generate README list - name: Generate service list
id: readme-list
run: | run: |
services_list=$(yq '.services | to_entries | map({"service": .key, "image": .value.image})' docker-compose.yml) yq '.services | to_entries | map({"service": .key, "image": .value.image})' docker-compose.yml > services.yml
echo "SERVICES_LIST<<EOF" >> $GITHUB_ENV
echo "${services_list}" >> $GITHUB_ENV - name: Generate Markdown Table
echo "EOF" >> $GITHUB_ENV uses: gazab/create-markdown-table@v1
id: service-table
with:
file: ./services.yml
- name: Regenerate README - name: Regenerate README
uses: gnpaone/dynamic-update-readme@v1.0.2 uses: gnpaone/dynamic-update-readme@v1.0.2
with: with:
marker_text: "SERVICES_LIST" marker_text: "SERVICES_LIST"
markdown_text: | markdown_text: |
```yaml ${{ steps.service-table.outputs.table }}
${{ env.SERVICES_LIST }}
````
commit_email: noreply@trez.wtf
commit_username: gitea-sonarqube-bot
commit_message: "docs: regenerate README"
deployment-trigger: deployment-trigger:
name: Deployment Trigger name: Deployment Trigger
needs: [generate-readme] needs: [generate-readme, docker-compose-test, regenerate-readme]
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs:
CONTINUE_JOBS: ${{ steps.deploy-trigger.outputs.CONTINUE_JOBS }}
steps: steps:
- name: Install tea - name: Install tea
uses: supplypike/setup-bin@v4 uses: supplypike/setup-bin@v4
@@ -169,8 +168,10 @@ jobs:
- name: PR Merge - name: PR Merge
run: | 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 add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
tea pr ls --repo ${{ github.repository }} --state all
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') 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 "Auto Merge of PR #${pr_index} - ${{ gitea.ref_name }}" --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}
echo "PR_INDEX=${pr_index}" >> $GITHUB_OUPUT
- name: Gotify Notification - name: Gotify Notification
uses: eikendev/gotify-action@master uses: eikendev/gotify-action@master
@@ -182,35 +183,40 @@ jobs:
- name: Trigger Deployment - name: Trigger Deployment
id: deploy-trigger id: deploy-trigger
uses: benhamiltonpro/manual-trigger@v1 uses: macnev2013/manual-approval@v1.0.18
with: with:
RUN_NAME: "docker-compose-deploy" secret: ${{ github.TOKEN }}
approvers: Trez.One
minimum-approvals: 1
approval-wait: 600
issue-title: 'Manual Approval for #${pr_index} - ${{ gitea.ref_name }}'
issue-body: |
"Autobots, roll out!"
docker-compose-deploy: # docker-compose-deploy:
name: Merge and Deploy # name: Merge and Deploy
if: ${{ needs.deployment-trigger.outputs.CONTINUE_JOB == 'manual-step' }} # runs-on: ubuntu-latest
runs-on: ubuntu-latest # needs: [deployment-trigger]
needs: [deployment-trigger] # env:
env: # VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }} # VAULT_TOKEN: ${{ secrets.RINOA_VAULT_TOKEN }}
VAULT_TOKEN: ${{ secrets.RINOA_VAULT_TOKEN }} # steps:
steps: # - name: Checkout
- name: Checkout # uses: actions/checkout@v4
uses: actions/checkout@v4 # with:
with: # ref: main
ref: main
- name: Install Vault # - name: Install Vault
uses: cpanato/vault-installer@main # uses: cpanato/vault-installer@main
- name: Generate .env file for deployment # - name: Generate .env file for deployment
run: | # run: |
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env # vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
- name: Docker Compose Deployment # - name: Docker Compose Deployment
uses: Autom3/docker-deployment-action@3.0.1 # uses: Autom3/docker-deployment-action@3.0.1
with: # with:
remote_docker_host: gitea-deploy@192.168.1.254 # remote_docker_host: gitea-deploy@192.168.1.254
ssh_private_key: ${{ secrets.RINOA_GITEA_PRIVATE_SSH_KEY }} # ssh_private_key: ${{ secrets.RINOA_GITEA_PRIVATE_SSH_KEY }}
ssh_public_key: ${{ secrets.RINOA_GITEA_PUBLIC_SSH_KEY }} # ssh_public_key: ${{ secrets.RINOA_GITEA_PUBLIC_SSH_KEY }}
+153 -302
View File
@@ -3,307 +3,158 @@
`~> yq '.services | to_entries | map({service: .key, image: .value.image})' docker-compose.yml` `~> yq '.services | to_entries | map({service: .key, image: .value.image})' docker-compose.yml`
<!-- SERVICES_LIST_START --> <!-- SERVICES_LIST_START -->
```yaml | Service | Image |
- service: actual_server | --- | --- |
image: docker.io/actualbudget/actual-server:latest | actual_server | docker.io/actualbudget/actual-server:latest |
- service: adguard | adguard | adguard/adguardhome:latest |
image: adguard/adguardhome:latest | apprise | lscr.io/linuxserver/apprise-api:latest |
- service: apprise | audiobookshelf | ghcr.io/advplyr/audiobookshelf:latest |
image: lscr.io/linuxserver/apprise-api:latest | authelia | authelia/authelia:master |
- service: audiobookshelf | authelia-pg | postgres:16-alpine |
image: ghcr.io/advplyr/audiobookshelf:latest | bazarr | lscr.io/linuxserver/bazarr:latest |
- service: authelia | bitmagnet | ghcr.io/bitmagnet-io/bitmagnet:latest |
image: authelia/authelia:master | bitmagnet-pg-db | postgres:17-alpine |
- service: authelia-pg | bitwarden | vaultwarden/server:latest |
image: postgres:16-alpine | bluesky-pds | ghcr.io/bluesky-social/pds:latest |
- service: bazarr | browserless | ghcr.io/browserless/chromium:latest |
image: lscr.io/linuxserver/bazarr:latest | bunkerweb | bunkerity/bunkerweb:latest |
- service: bitmagnet | bunkerweb-scheduler | bunkerity/bunkerweb-scheduler:latest |
image: ghcr.io/bitmagnet-io/bitmagnet:latest | bunkerweb-ui | bunkerity/bunkerweb-ui:latest |
- service: bitmagnet-pg-db | castopod | castopod/castopod:latest |
image: postgres:17-alpine | cloudflared | cloudflare/cloudflared:latest |
- service: bitwarden | cloudflareddns | ghcr.io/hotio/cloudflareddns:latest |
image: vaultwarden/server:latest | crowdsec | crowdsecurity/crowdsec:latest |
- service: bluesky-pds | crowdsec-dashboard | metabase/metabase |
image: ghcr.io/bluesky-social/pds:latest | czkawka | jlesage/czkawka |
- service: browserless | dagu-scheduler | ghcr.io/dagu-org/dagu:latest |
image: ghcr.io/browserless/chromium:latest | dagu-server | ghcr.io/dagu-org/dagu:latest |
- service: bunkerweb | delugevpn | ghcr.io/binhex/arch-delugevpn:latest |
image: bunkerity/bunkerweb:latest | docker-socket-proxy | ghcr.io/tecnativa/docker-socket-proxy:latest |
- service: bunkerweb-scheduler | docuseal | docuseal/docuseal:latest |
image: bunkerity/bunkerweb-scheduler:latest | duplicati | lscr.io/linuxserver/duplicati:latest |
- service: bunkerweb-ui | fastenhealth | ghcr.io/fastenhealth/fasten-onprem:main |
image: bunkerity/bunkerweb-ui:latest | flaresolverr | ghcr.io/flaresolverr/flaresolverr:latest |
- service: castopod | ghost | ghost:latest |
image: castopod/castopod:latest | gitea | gitea/gitea:1.22.6 |
- service: cloudflared | gitea-db | postgres:14 |
image: 'cloudflare/cloudflared:latest' | gitea-opengist | ghcr.io/thomiceli/opengist:latest |
- service: cloudflareddns | gitea-runner | gitea/act_runner:latest |
image: ghcr.io/hotio/cloudflareddns:latest | gitea-sonarqube-bot | justusbunsi/gitea-sonarqube-bot:v0.4.0 |
- service: crowdsec | gluetun | qmcgaw/gluetun:latest |
image: crowdsecurity/crowdsec:latest | gotify | gotify/server |
- service: crowdsec-dashboard | grafana | grafana/grafana-enterprise:latest |
image: metabase/metabase | grafana-alloy | grafana/alloy:latest |
- service: czkawka | grafana-loki | grafana/loki:latest |
image: jlesage/czkawka | grafana-mimir | grafana/mimir:latest |
- service: dagu-scheduler | grafana-mimir-memcached | memcached |
image: ghcr.io/dagu-org/dagu:latest | grafana-pyroscope | grafana/pyroscope:latest |
- service: dagu-server | grafana-tempo | grafana/tempo:latest |
image: ghcr.io/dagu-org/dagu:latest | guacamole | flcontainers/guacamole:latest |
- service: delugevpn | homepage | ghcr.io/gethomepage/homepage:latest |
image: ghcr.io/binhex/arch-delugevpn:latest | hortusfox | ghcr.io/danielbrendel/hortusfox-web:latest |
- service: docker-socket-proxy | hugo | hugomods/hugo:exts |
image: ghcr.io/tecnativa/docker-socket-proxy:latest | invidious | quay.io/invidious/invidious:latest |
- service: docuseal | invidious-db | docker.io/library/postgres:14 |
image: docuseal/docuseal:latest | invoice_ninja | invoiceninja/invoiceninja:5 |
- service: duplicati | invoice_ninja_proxy | nginx |
image: lscr.io/linuxserver/duplicati:latest | it-tools | ghcr.io/corentinth/it-tools:latest |
- service: fastenhealth | jellyfin | jellyfin/jellyfin |
image: ghcr.io/fastenhealth/fasten-onprem:main | jitsi-etherpad | etherpad/etherpad:1.8.6 |
- service: flaresolverr | jitsi-jibri | jitsi/jibri:${JITSI_IMAGE_VERSION:-stable} |
image: ghcr.io/flaresolverr/flaresolverr:latest | jitsi-jicofo | jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable} |
- service: ghost | jitsi-jigasi | jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable} |
image: ghost:latest | jitsi-jvb | jitsi/jvb:${JITSI_IMAGE_VERSION:-stable} |
- service: gitea | jitsi-prosody | jitsi/prosody:${JITSI_IMAGE_VERSION:-stable} |
image: gitea/gitea:1.22.6 | jitsi-web | jitsi/web:${JITSI_IMAGE_VERSION:-stable} |
- service: gitea-db | joplin-db | postgres:17-alpine |
image: postgres:14 | joplin | joplin/server:latest |
- service: gitea-opengist | komodo-core | ghcr.io/mbecker20/komodo:latest |
image: ghcr.io/thomiceli/opengist:latest | komodo-ferretdb | ghcr.io/ferretdb/ferretdb |
- service: gitea-runner | komodo-periphery | ghcr.io/mbecker20/periphery:latest |
image: gitea/act_runner:latest | komodo-pg-db | postgres:17-alpine |
- service: gitea-sonarqube-bot | librespeed | lscr.io/linuxserver/librespeed:latest |
image: justusbunsi/gitea-sonarqube-bot:v0.4.0 | lidarr | lscr.io/linuxserver/lidarr:latest |
- service: gluetun | lidify | thewicklowwolf/lidify:latest |
image: qmcgaw/gluetun:latest | lldap | lldap/lldap:stable |
- service: gotify | localai | localai/localai:latest-aio-cpu |
image: gotify/server | maloja | krateng/maloja:latest |
- service: grafana | mariadb | ghcr.io/linuxserver/mariadb |
image: grafana/grafana-enterprise:latest | mastodon-pg-db | postgres:17-alpine |
- service: grafana-alloy | minio | minio/minio |
image: grafana/alloy:latest | mongodb | mongo:7.0 |
- service: grafana-loki | multi-scrobbler | foxxmd/multi-scrobbler |
image: grafana/loki:latest | n8n | docker.n8n.io/n8nio/n8n |
- service: grafana-mimir | navidrome | deluan/navidrome:latest |
image: grafana/mimir:latest | netbox | lscr.io/linuxserver/netbox:latest |
- service: grafana-mimir-memcached | netbox-db | postgres:17-alpine |
image: memcached | nextcloud | lscr.io/linuxserver/nextcloud:latest |
- service: grafana-pyroscope | ollama | ollama/ollama |
image: grafana/pyroscope:latest | ombi | lscr.io/linuxserver/ombi:latest |
- service: grafana-tempo | paperless-ngx | ghcr.io/paperless-ngx/paperless-ngx:latest |
image: grafana/tempo:latest | plausible | ghcr.io/plausible/community-edition:v2.1.0 |
- service: guacamole | plausible_db | postgres:16-alpine |
image: flcontainers/guacamole:latest | plausible_events_db | clickhouse/clickhouse-server:24.3.3.102-alpine |
- service: homepage | postal-smtp | ghcr.io/postalserver/postal:latest |
image: ghcr.io/gethomepage/homepage:latest | postal-web | ghcr.io/postalserver/postal:latest |
- service: hortusfox | postal-worker | ghcr.io/postalserver/postal:latest |
image: ghcr.io/danielbrendel/hortusfox-web:latest | prowlarr | lscr.io/linuxserver/prowlarr:latest |
- service: hugo | radarec | thewicklowwolf/radarec:latest |
image: hugomods/hugo:exts | radarr | lscr.io/linuxserver/radarr:latest |
- service: invidious | reactive-resume | amruthpillai/reactive-resume:latest |
image: quay.io/invidious/invidious:latest | reactive-resume-pg | postgres:16-alpine |
- service: invidious-db | readarr | lscr.io/linuxserver/readarr:develop |
image: docker.io/library/postgres:14 | redis | redis:alpine |
- service: invoice_ninja | redlib | quay.io/redlib/redlib:latest |
image: invoiceninja/invoiceninja:5 | sabnzbdvpn | ghcr.io/binhex/arch-sabnzbdvpn:latest |
- service: invoice_ninja_proxy | scraperr | jpyles0524/scraperr:latest |
image: nginx | scraperr-api | jpyles0524/scraperr_api:latest |
- service: it-tools | scrutiny | ghcr.io/analogj/scrutiny:master-omnibus |
image: ghcr.io/corentinth/it-tools:latest | searxng | searxng/searxng:latest |
- service: jellyfin | semaphore | semaphoreui/semaphore:v2.10.32 |
image: jellyfin/jellyfin | slurpit-portal | slurpit/portal:latest |
- service: jitsi-etherpad | slurpit-scanner | slurpit/scanner:latest |
image: etherpad/etherpad:1.8.6 | slurpit-scraper | slurpit/scraper:latest |
- service: jitsi-jibri | slurpit-warehouse | slurpit/warehouse:latest |
image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable} | sonarqube | mc1arke/sonarqube-with-community-branch-plugin:lts |
- service: jitsi-jicofo | sonarqube-pg-db | postgres:17-alpine |
image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable} | sonarr | lscr.io/linuxserver/sonarr:latest |
- service: jitsi-jigasi | sonashow | thewicklowwolf/sonashow:latest |
image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable} | soularr | mrusse08/soularr:latest |
- service: jitsi-jvb | soulseek | slskd/slskd |
image: jitsi/jvb:${JITSI_IMAGE_VERSION:-stable} | spotisub | blastbeng/spotisub:latest |
- service: jitsi-prosody | swag | lscr.io/linuxserver/swag:latest |
image: jitsi/prosody:${JITSI_IMAGE_VERSION:-stable} | synapse | docker.io/matrixdotorg/synapse:latest |
- service: jitsi-web | synapse-db | postgres:16-alpine |
image: jitsi/web:${JITSI_IMAGE_VERSION:-stable} | tandoor | vabene1111/recipes |
- service: joplin-db | tandoor-pg | postgres:16-alpine |
image: postgres:17-alpine | traccar | traccar/traccar:latest |
- service: joplin | traccar-pg | postgres:16-alpine |
image: joplin/server:latest | unmanic | josh5/unmanic:latest |
- service: komodo-core | uptimekuma | louislam/uptime-kuma:latest |
image: ghcr.io/mbecker20/komodo:latest | vault | hashicorp/vault:latest |
- service: komodo-ferretdb | wallabag | wallabag/wallabag |
image: ghcr.io/ferretdb/ferretdb | wallos | bellamy/wallos:latest |
- service: komodo-periphery | watchtower | ghcr.io/containrrr/watchtower:latest |
image: ghcr.io/mbecker20/periphery:latest | wazuh.agent | opennix/wazuh-agent:latest |
- service: komodo-pg-db | wazuh.dashboard | wazuh/wazuh-dashboard:${WAZUH_VERSION} |
image: postgres:17-alpine | wazuh.indexer | wazuh/wazuh-indexer:${WAZUH_VERSION} |
- service: librespeed | wazuh.manager | wazuh/wazuh-manager:${WAZUH_VERSION} |
image: lscr.io/linuxserver/librespeed:latest | web-check | lissy93/web-check |
- service: lidarr | whodb | clidey/whodb |
image: lscr.io/linuxserver/lidarr:latest | your_spotify | lscr.io/linuxserver/your_spotify:latest |
- service: lidify | youtubedl | nbr23/youtube-dl-server:latest |
image: thewicklowwolf/lidify:latest | zammad-backup | postgres:${ZAMMAD_POSTGRES_VERSION} |
- service: lldap | zammad-elasticsearch | bitnami/elasticsearch:${ZAMMAD_ELASTICSEARCH_VERSION} |
image: lldap/lldap:stable | zammad-init | ${ZAMMAD_IMAGE_REPO}:${ZAMMAD_VERSION} |
- service: localai | zammad-memcached | memcached:${ZAMMAD_MEMCACHE_VERSION} |
image: localai/localai:latest-aio-cpu | zammad-nginx | ${ZAMMAD_IMAGE_REPO}:${ZAMMAD_VERSION} |
- service: maloja | zammad-postgresql | postgres:${ZAMMAD_POSTGRES_VERSION} |
image: krateng/maloja:latest | zammad-railsserver | ${ZAMMAD_IMAGE_REPO}:${ZAMMAD_VERSION} |
- service: mariadb | zammad-redis | redis:${ZAMMAD_REDIS_VERSION} |
image: ghcr.io/linuxserver/mariadb | zammad-scheduler | ${ZAMMAD_IMAGE_REPO}:${ZAMMAD_VERSION} |
- service: mastodon-pg-db | zammad-websocket | ${ZAMMAD_IMAGE_REPO}:${ZAMMAD_VERSION} |
image: postgres:17-alpine | zitadel | ghcr.io/zitadel/zitadel:latest |
- service: minio | zitadel-pg-db | postgres:16-alpine |
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: soularr
image: mrusse08/soularr: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
````
<!-- SERVICES_LIST_END --> <!-- SERVICES_LIST_END -->