Compare commits

...

79 Commits

Author SHA1 Message Date
Trez.One dd1d83c751 Changing the check PR step.
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / Check and Create PR (push) Has been cancelled
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / Docker Compose Test (push) Has been cancelled
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / PR Merge (push) Has been cancelled
2024-12-27 17:00:35 -05:00
Trez.One d1a523e5ee . 2024-12-27 16:52:34 -05:00
Trez.One 5c902baabb . 2024-12-27 16:51:03 -05:00
Trez.One 3e93b2de3b . 2024-12-27 16:49:31 -05:00
Trez.One 0114b20894 . 2024-12-27 16:47:44 -05:00
Trez.One 01ec446548 . 2024-12-27 16:46:38 -05:00
Trez.One cadb8800fd Minor tweak to Actions. 2024-12-27 14:28:12 -05:00
Trez.One 0b58c7e29a Minor tweak to Actions. 2024-12-27 14:23:59 -05:00
Trez.One bd6a2a4333 Minor tweak to Actions. 2024-12-27 14:19:26 -05:00
Trez.One 8ed6f77238 Minor tweak to Actions. 2024-12-27 14:18:00 -05:00
Trez.One 3fb31d024b Minor tweak to Actions. 2024-12-27 14:13:59 -05:00
Trez.One 37df7a2f16 Added Spotisub service. 2024-12-27 14:09:20 -05:00
gitea-sonarqube-bot f6209b4776 Auto Merge
Merged by Trez.One
2024-12-27 13:57:11 -05:00
Trez.One 72a72e6d0e .
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / Check and Create PR (push) Has been cancelled
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / Docker Compose Test (push) Has been cancelled
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / PR Merge (push) Has been cancelled
2024-12-27 13:55:19 -05:00
Trez.One 75306489ab . 2024-12-27 13:50:13 -05:00
Trez.One f54291c3e7 . 2024-12-27 13:46:42 -05:00
Trez.One 4af4dcb7e2 . 2024-12-27 13:42:54 -05:00
Trez.One d656d24eea . 2024-12-27 13:39:54 -05:00
Trez.One 3f673d2db8 . 2024-12-27 13:37:10 -05:00
Trez.One acd0ad2b43 . 2024-12-27 13:31:47 -05:00
Trez.One f2cf1c7823 . 2024-12-27 13:28:59 -05:00
Trez.One d6fbd9ac27 . 2024-12-27 13:26:35 -05:00
Trez.One d4efb3b253 . 2024-12-27 13:23:03 -05:00
Trez.One 0ef0ace6c3 . 2024-12-27 13:15:39 -05:00
Trez.One 6027c672aa Added PR merge. 2024-12-27 13:12:07 -05:00
Trez.One 868af449f4 Added PR merge. 2024-12-27 13:10:36 -05:00
Trez.One 260e474967 . 2024-12-27 08:23:08 -05:00
Trez.One 678d037e07 Typo fix, L39. 2024-12-27 07:33:30 -05:00
Trez.One 7759ce0502 Switching Docker Compose Lint action. 2024-12-27 07:32:08 -05:00
Trez.One 675cb4e168 Switching Docker Compose Lint action. 2024-12-27 07:31:15 -05:00
Trez.One 0d0360bdd6 Switching Docker Compose Lint action. 2024-12-27 07:30:13 -05:00
Trez.One b0e296bc74 Removing SuperLinter for Docker Compose Lint action. 2024-12-27 07:23:58 -05:00
Trez.One 51c8566ce4 Debugging PR list step. 2024-12-27 07:12:01 -05:00
Trez.One 90e40b28c6 Debugging PR list step. 2024-12-27 07:05:35 -05:00
Trez.One 2772a7842b Re-inserting rest of PR list step. 2024-12-26 18:09:16 -05:00
Trez.One 738b4fbfce Debugging PR list step. 2024-12-26 18:06:15 -05:00
Trez.One da1a0e6d1d Debugging PR list step. 2024-12-26 18:00:35 -05:00
Trez.One 8287dcbc1d Debugging PR list step. 2024-12-26 17:58:45 -05:00
Trez.One 8aef56e8e8 Debugging PR list step. 2024-12-26 17:57:20 -05:00
Trez.One 183098a611 Debugging PR list step. 2024-12-26 17:52:10 -05:00
Trez.One f658e467e8 Merge pull request 'Removing Portainer in favor of Komodo.' (#36) from portainer-removal into main
Reviewed-on: Trez.One/rinoa-docker#36
2024-12-25 07:09:47 -05:00
Trez.One a6f275715b Removing Portainer in favor of Komodo.
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / Check and Create PR (push) Has been cancelled
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / SonarQube Analysis (push) Has been cancelled
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / Dry Run & PR Merge (push) Has been cancelled
2024-12-25 07:08:05 -05:00
Trez.One 6b23490f24 Tweaking PR list step. 2024-12-25 06:56:36 -05:00
Trez.One ea91d7409d Fixing output statement. 2024-12-24 19:31:05 -05:00
Trez.One a95bf70b21 Fixing output statement. 2024-12-24 19:29:08 -05:00
Trez.One e7ee7170da Quote removal. 2024-12-24 19:24:49 -05:00
Trez.One 33918a45b0 Changing logic for PR creation. 2024-12-24 19:21:12 -05:00
Trez.One 61281aa679 Tweaking PR list action. 2024-12-24 15:37:00 -05:00
Trez.One 818d539e37 Tweaking PR list action. 2024-12-24 15:27:45 -05:00
Trez.One cd45b2e570 Tweaking PR list action. 2024-12-24 15:18:26 -05:00
Trez.One 8be711ce89 Tweaking PR list action. 2024-12-24 15:15:34 -05:00
Trez.One 86802b888e Tweaking PR list action. 2024-12-24 15:13:05 -05:00
Trez.One b777b81014 Tweaking PR list action. 2024-12-24 15:10:18 -05:00
Trez.One f080b7f533 Adding Super-Linter. 2024-12-24 15:06:42 -05:00
Trez.One 95cfc26d76 Tweaking PR listing actions. 2024-12-24 15:00:04 -05:00
Trez.One 5607c77ee7 Tweaking PR listing actions. 2024-12-24 14:56:51 -05:00
Trez.One 230a252227 Tweaking PR listing actions. 2024-12-24 14:54:26 -05:00
Trez.One 250d6c153b Switching SWAG proto for n8n. 2024-12-24 11:07:44 -05:00
Trez.One aa3202c9e0 Starting new deployment pipeline. 2024-12-24 09:03:10 -05:00
Trez.One cb076491c2 Starting new deployment pipeline. 2024-12-24 07:42:42 -05:00
Trez.One 1ceaec8a8e Starting new deployment pipeline. 2024-12-24 07:41:23 -05:00
Trez.One 68f80d549f Starting new deployment pipeline. 2024-12-24 07:36:13 -05:00
Trez.One 8101358731 Starting new deployment pipeline. 2024-12-24 07:27:07 -05:00
Trez.One b798e51717 Starting new deployment pipeline. 2024-12-24 07:25:59 -05:00
Trez.One 85b5f9af0a Starting new deployment pipeline. 2024-12-24 07:24:37 -05:00
Trez.One 01b50d1b90 Starting new deployment pipeline. 2024-12-24 07:20:25 -05:00
Trez.One a936d9e477 Starting new deployment pipeline. 2024-12-24 07:17:44 -05:00
Trez.One 4f0a7105f7 Starting new deployment pipeline. 2024-12-24 07:16:04 -05:00
Trez.One bd79719567 Starting new deployment pipeline. 2024-12-24 07:15:14 -05:00
Trez.One 676919a6f1 Starting new deployment pipeline. 2024-12-24 07:14:02 -05:00
Trez.One 7bd3a9fab9 Starting new deployment pipeline. 2024-12-24 07:13:13 -05:00
Trez.One f8d50d454c Starting new deployment pipeline. 2024-12-24 07:11:30 -05:00
Trez.One 028140dc11 Starting new deployment pipeline. 2024-12-24 07:10:41 -05:00
Trez.One 39ac2ceb9a Merge pull request 'Removing Huginn and adding n8n.' (#34) from n8n-deploy-huginn-removal into main
Reviewed-on: Trez.One/rinoa-docker#34
2024-12-24 06:49:03 -05:00
Trez.One 52310fb83f Starting new deployment pipeline. 2024-12-24 06:47:05 -05:00
Trez.One 9b7226272c Starting new deployment pipeline. 2024-12-24 06:43:53 -05:00
Trez.One 4ef218ab39 Fixes for n8n service.
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / Check and Create PR (push) Has been cancelled
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / SonarQube Analysis (push) Has been cancelled
Gitea Branch PR, SonarQube Analyze, and Merge Workflow / Dry Run & PR Merge (push) Has been cancelled
2024-12-24 06:38:14 -05:00
Trez.One 92490d1b61 Removing Huginn and adding n8n. 2024-12-24 06:17:50 -05:00
Trez.One d7cfe926f4 Merge pull request 'Changing Swag port for MeshCentral.' (#33) from mesh-central-swag-fix into main 2024-12-22 16:05:17 -05:00
3 changed files with 125 additions and 258 deletions
@@ -1,163 +0,0 @@
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
outputs:
pr_created: ${{ steps.cc-pr.outputs.pr_created }}
pr_number: ${{ steps.cc-pr.outputs.pr_index }}
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: PR Check/Create
id: cc-pr
run: |
echo "Checking for existing PR..."
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_status=$(echo ${pr_check} | jq -r '.state')
if [ "${pr_status}" == "open" ]; then
echo "PR already exists. PR number: $(echo ${pr_check} | jq -r '.index')"
echo "pr_created=false" >> "$GITHUB_OUTPUT"
echo "pr_index=$(echo ${pr_check} | jq -r '.index')" >> "$GITHUB_OUTPUT"
elif [ "${pr_status}" == "closed" ]; then
echo "PR does not exist. Creating PR..."
pr_response=$(curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls -s \
-X 'POST' \
-H 'Accept: application/json' \
-H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \
-H 'Content-Type: application/json' \
-d '{
"base": "main",
"head": "'"${{ github.ref_name }}"'",
"title": "Automated PR for branch '"${{ github.ref_name }}"'",
"body": "This is an automated PR created for branch '"${{ github.ref_name }}"'."
}')
pr_index=$(echo ${pr_response} | jq -r '.number')
echo "PR created. PR number: ${pr_index}"
echo "pr_created=true" >> "$GITHUB_OUTPUT"
echo "pr_index=${pr_index}" >> "$GITHUB_OUTPUT"
else
echo "Error checking for existing PR. Exiting..."
exit 1
fi
sonarqube-analysis:
name: SonarQube Analysis
runs-on: ubuntu-latest
needs: check-and-create-pr
outputs:
qg_status: ${{ steps.quality-gate.outputs.quality-gate-status }}
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: SonarQube Scan
uses: sonarsource/sonarqube-scan-action@v4.1.0
env:
SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }}
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
- name: SonarQube Quality Gate
id: quality-gate
uses: sonarsource/sonarqube-quality-gate-action@v1.1.0
env:
SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }}
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
- name: Custom Quality Gate Check
uses: DesarrolloORT/sonarqube-quality-gate-action@v1.0.1
id: quality-gate-check
with:
sonar-project-key: rinoa-docker
sonar-host-url: ${{ secrets.SONARQUBE_HOST }}
sonar-token: ${{ secrets.SONARQUBE_TOKEN }}
- name: JSON clean-up for proccessing...
id: json-cleanup
run: |
echo "Cleaning up quality gate response..."
echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt
sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json
jq -c '.' qg_raw.json > qg_fixed_json.json
projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json)
caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json)
conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json)
echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT
echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT
echo "conditions=${conditions}" >> $GITHUB_OUTPUT
- name: Convert JSON to Markdown Table
id: convert-json-to-md
uses: buildingcash/json-to-markdown-table-action@v1.1.0
with:
json: "${{ steps.json-cleanup.outputs.conditions }}"
- name: Post SonarQube Results as Comment
env:
PR_NUMBER: ${{ needs.check-and-create-pr.outputs.pr_number }}
SQ_RESULTS: ${{ steps.convert-json-to-md.outputs.table }}
QG_STATUS: ${{ steps.quality-gate.outputs.quality-gate-status }}
RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }}
GITHUB_REPOSITORY: ${{ github.repository }}
BOT_GITEA_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }}
run: |
formatted_results=$(echo "${SQ_RESULTS}" | sed 's/\\n/\
/g')
payload=$(jq -n \
--arg body "SonarQube analysis results:
<br>
${{ env.SQ_RESULTS }}" \
'{ body: $body }')
response=$(curl -s -o response.json -w "%{http_code}" \
-X POST \
-H "Accept: application/json" \
-H "Authorization: token ${BOT_GITEA_TOKEN}" \
-H "Content-Type: application/json" \
-d "$payload" \
"${RINOA_GITEA_URL}/api/v1/repos/${GITHUB_REPOSITORY}/pulls/${PR_NUMBER}/reviews")
dry-run-merge-pr:
runs-on: ubuntu-latest
name: Dry Run & PR Merge
needs: sonarqube-analysis
if: needs.sonarqube-analysis.outputs.qg_status == 'PASSED'
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Generate Ephemeral .env for Docker Compose Dry Run
run: |
echo "${{ secrets.RINOA_ENV }}" > .env
- name: Docker Compose Dry Run
uses: s3i7h/spin-up-docker-compose-action@v1.2
env:
DOCKER_HOST: tcp://dockerproxy:2375
with:
file: docker-compose.yml
pull: true
pull-opts: --dry-run
up: true
up-opts: -d --dry-run
- 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 --output csv | egrep "${{ gitea.ref_name }}" | awk -F, '{print $1}' | sed -e 's|"||g')
tea pr m --repo ${{ github.repository }} --title "Auto Merge" --message "Merged by ${{ gitea.actor }}" --output table ${pr_index}
+75
View File
@@ -0,0 +1,75 @@
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 }}' \
-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 }}
docker-compose-test:
name: Docker Compose Test
needs: [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
merge-pr:
name: PR Merge
runs-on: ubuntu-latest
needs: [docker-compose-test]
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 }}
echo ${{ gitea.ref_name }}
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" --message "Merged by ${{ gitea.actor }}" --output table ${pr_index}
+50 -95
View File
@@ -1735,49 +1735,6 @@ services:
target: /var/www/html/app/migrations
type: volume
volume: {}
huginn:
container_name: huginn
environment:
HUGINN_DATABASE_HOST: mariadb
HUGINN_DATABASE_NAME: huginn
HUGINN_DATABASE_PASSWORD: MLbKPT3j9TYcguYevFRcfEcrXtL4kcxujtrNdrq9eCig4WhUbxkyLoAiCPpm4zob
HUGINN_DATABASE_PORT: "3306"
HUGINN_DATABASE_USERNAME: huginn
PGID: "1000"
PUID: "1000"
TZ: America/New_York
hostname: Rinoa
image: ghcr.io/huginn/huginn
labels:
- homepage.group=Automation
- homepage.name=Huginn
- homepage.href=https://huginn.${MY_TLD}
- homepage.icon=huginn
- homepage.description=Agent/Web Automation
- swag=enable
- swag_port=3000
- swag_proto=http
- swag.uptime-kuma.enabled=true
networks:
default: null
ports:
- mode: ingress
protocol: tcp
published: "3005"
target: 3000
restart: unless-stopped
volumes:
- bind:
create_host_path: true
read_only: true
source: /etc/localtime
target: /etc/localtime
type: bind
- bind:
create_host_path: true
source: /rinoa-storage
target: /storage
type: bind
hugo:
command: hugo server --baseURL "it-services.trez.wtf" --bind 0.0.0.0 --appendPort=false --source=/src/it-services --configDir=/src/it-services/config/ -e production --logLevel debug
container_name: hugo
@@ -3269,6 +3226,33 @@ services:
type: bind
bind:
create_host_path: true
n8n:
container_name: n8n
environment:
N8N_HOST: n8n.${MY_TLD}
N8N_PORT: 5678
N8N_PROTOCOL: https
NODE_ENV: production
WEBHOOK_URL: https://n8n.${MY_TLD}/
GENERIC_TIMEZONE: ${TZ}
image: docker.n8n.io/n8nio/n8n
labels:
swag: enable
swag_proto: http
swag_port: 5678
swag_url: n8n.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://n8n.${MY_TLD}
homepage.group: Automation
homepage.name: n8n
homepage.href: https://n8n.${MY_TLD}
homepage.icon: n8n.svg
homepage.description: Extendable workflow automation tool to easily automate tasks
ports:
- 5678:5678
restart: unless-stopped
volumes:
- n8n-data:/home/node/.n8n
navidrome:
container_name: navidrome
environment:
@@ -3630,58 +3614,6 @@ services:
- plausible-event-logs:/var/log/clickhouse-server
- ${DOCKER_VOLUME_CONFIG}/plausible/clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
- ${DOCKER_VOLUME_CONFIG}/plausible/clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
portainer:
command:
- -H
- unix:///var/run/docker.sock
container_name: portainer
environment:
- TZ=America/New_York
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:portainer
hostname: Rinoa
image: portainer/portainer-ce:latest
labels:
- homepage.group=System Administration
- homepage.name=Portainer
- homepage.href=https://portainer.${MY_TLD}
- homepage.icon=portainer.png
- homepage.description=Docker container management
- homepage.widget.type=portainer
- homepage.widget.url=http://portainer:9000
- homepage.widget.env=1
- homepage.widget.key=${PORTAINER_API_KEY}
- swag=enable
- swag.uptime-kuma.enabled=true
networks:
default: null
ports:
- mode: ingress
protocol: tcp
published: "9000"
target: 9000
restart: unless-stopped
volumes:
- bind:
create_host_path: true
read_only: true
source: /etc/localtime
target: /etc/localtime
type: bind
- bind:
create_host_path: true
source: ${DOCKER_VOLUME_CONFIG}/portainer
target: /data
type: bind
- bind:
create_host_path: true
source: /rinoa-storage
target: /storage
type: bind
- bind:
create_host_path: true
source: /var/run/docker.sock
target: /var/run/docker.sock
type: bind
postal-smtp:
cap_add:
- NET_BIND_SERVICE
@@ -4599,6 +4531,27 @@ services:
type: bind
bind:
create_host_path: true
spotisub:
container_name: spotisub
environment:
SPOTIPY_CLIENT_ID: ${YOUR_SPOTIFY_ID}
SPOTIPY_CLIENT_SECRET: ${YOUR_SPOTIFY_SECRET}
SPOTIPY_REDIRECT_URI: http://127.0.0.1:8080/
SUBSONIC_API_HOST: http://navidrome
SUBSONIC_API_PORT: 4533
SUBSONIC_API_USER: ${NAVIDROME_USERNAME}
SUBSONIC_API_PASS: ${NAVIDROME_PASSWORD}
healthcheck:
test: curl -s http://127.0.0.1:5183/api/v1/utils/healthcheck | grep -q 'Ok!' || exit 1
interval: 30s
retries: 20
start_period: 30s
image: blastbeng/spotisub:latest
ports:
- 5183:5183
restart: always
volumes:
- ${DOCKER_VOLUME_CONFIG}/spotisub:/home/user/spotisub/cache
swag:
cap_add:
- NET_ADMIN
@@ -7086,6 +7039,8 @@ volumes:
name: compose_mongo1_config
mongodb_data:
name: compose_mongo1_data
n8n-data:
name: n8n-data
netbox-pg-db:
name: netbox-pg-db
ollama: