Compare commits
136 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5f602e6075 | |||
| c94ddaf4f0 | |||
| 05a9f7fd35 | |||
| 7e3a038a64 | |||
| f9a60cb3d7 | |||
| a983cec48b | |||
| a712248cb0 | |||
| 384f9254b4 | |||
| e451cf2825 | |||
| 9c7b5e04fc | |||
| e1025cf7ed | |||
| b5576bbd3e | |||
| 8fd689517c | |||
| a5d27466fc | |||
| ae10b7a19e | |||
| 3f83290ab0 | |||
| 2c9cd867b0 | |||
| 8146d51f37 | |||
| 35b35cb840 | |||
| 5a5becea56 | |||
| 1641e877ad | |||
| 432e14e5dd | |||
| 617dea13b0 | |||
| 11353334b5 | |||
| 700f10fc92 | |||
| cc0dcfdd3c | |||
| 57b1293156 | |||
| 9e706a20a7 | |||
| 210375d17b | |||
| 02b2ab6116 | |||
| 439cc4136d | |||
| 809560f8ca | |||
| 15bdf96d76 | |||
| f08a4f9cb7 | |||
| 701a4fbde3 | |||
| 4fe9bbecb3 | |||
| a96beafe21 | |||
| 9500d5f39b | |||
| 1216beee88 | |||
| 94e793e1ad | |||
| 96e15c9786 | |||
| 9b18d386e8 | |||
| db2130a634 | |||
| 1e27a9817b | |||
| 3ac23e5d5c | |||
| 245670e37f | |||
| 03b0ca68db | |||
| 2108450ab0 | |||
| f8c39e324a | |||
| db2057c8ef | |||
| 049c21f538 | |||
| d8810273b7 | |||
| 06655add2b | |||
| e784655300 | |||
| fa42b8b7cc | |||
| 5ad020ab80 | |||
| c9858ef7ba | |||
| a94057d1ae | |||
| 42a0928b7f | |||
| 6df7040101 | |||
| 0ac5e1e5a2 | |||
| c7088b8f4f | |||
| a5d47976ee | |||
| c5e8168e0a | |||
| defe1389a0 | |||
| d532b97ce9 | |||
| f492d6e9e5 | |||
| 0e8f0ff26f | |||
| a7e0d90ebd | |||
| a709999a6c | |||
| f468fb2357 | |||
| da4969ee81 | |||
| baa06d3b35 | |||
| 91f800b123 | |||
| 6d20e2f401 | |||
| 945f79a37c | |||
| 18a3978152 | |||
| 254fe484ad | |||
| 203b4c5f7a | |||
| 9e0db8635e | |||
| 0555325c38 | |||
| 1635de854c | |||
| bd1152273f | |||
| 3b6e5f62a5 | |||
| bfb5d7ea38 | |||
| cb7089e5a7 | |||
| 1dbadf70c8 | |||
| 8bdea248f3 | |||
| 8ba538dfb2 | |||
| 0c8aecf737 | |||
| 4819cd1605 | |||
| 3d8bb3f400 | |||
| 6e21983d89 | |||
| 54fd2bba20 | |||
| 0d6fc8a82b | |||
| 68c2899842 | |||
| 113ad7700a | |||
| 83dc0019ec | |||
| 962f399c23 | |||
| f90f191e41 | |||
| fd834bd55e | |||
| 53803b51f7 | |||
| 904c7af1f6 | |||
| 6aeb224a97 | |||
| f05d2fbf02 | |||
| a00eca0b7e | |||
| 6bf6cfec8b | |||
| d5e03e8a08 | |||
| c0d8e1a3e1 | |||
| a7e773d369 | |||
| 7f01967b96 | |||
| 8e89a7cb05 | |||
| 2ead60d998 | |||
| a9e7d2e1e6 | |||
| 3914be2ce0 | |||
| a0b47d4a7d | |||
| 09947a8709 | |||
| b1bcd8f7a9 | |||
| 7e71f4d75f | |||
| 88a165a145 | |||
| d39eca1b57 | |||
| 69686307e1 | |||
| 0c869ce43f | |||
| e3136340fd | |||
| 9058ac5505 | |||
| d388a2c975 | |||
| 03b7821dbf | |||
| 0825c61e39 | |||
| b7d7d5e000 | |||
| ffc9c1833d | |||
| 26be908bbe | |||
| 2a1233312e | |||
| a99ef85ef2 | |||
| bf600a618d | |||
| b0cc71e809 | |||
| ffccf913f1 |
@@ -33,6 +33,7 @@ jobs:
|
||||
continue-on-error: true
|
||||
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 pr list --repo ${{ github.repository }} --state all
|
||||
pr_exists=$(tea pr list --repo ${{ github.repository }} --state open --fields index,title,head | egrep ${{ github.ref_name }} | tail -1 | wc -l)
|
||||
echo ${pr_exists}
|
||||
echo "exists=$pr_exists" >> $GITHUB_OUTPUT
|
||||
@@ -79,6 +80,13 @@ jobs:
|
||||
--check
|
||||
requirements: collections/requirements.yml
|
||||
vault_password: ${{ secrets.ANSIBLE_VAULT_PASSWORD }}
|
||||
- name: Gotify Notification
|
||||
uses: eikendev/gotify-action@master
|
||||
with:
|
||||
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
|
||||
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
|
||||
notification_title: 'GITEA: Ansible Config Dry Run @ Rinoa'
|
||||
notification_message: 'Ansible dry run completed successfully.'
|
||||
- name: Generate .env file for Docker Compose Dry Run
|
||||
run: |
|
||||
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
|
||||
@@ -97,6 +105,13 @@ jobs:
|
||||
up-opts: --dry-run -d --remove-orphans
|
||||
env:
|
||||
DOCKER_HOST: tcp://dockerproxy:2375
|
||||
- name: Gotify Notification
|
||||
uses: eikendev/gotify-action@master
|
||||
with:
|
||||
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
|
||||
gotify_app_token: '${{ secrets.RINOA_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-ansible-lints]
|
||||
@@ -132,6 +147,13 @@ jobs:
|
||||
run: |
|
||||
yq '.services[].labels.swag_url' docker-compose.yml | egrep -v 'null' | sed -e 's|"||g' | awk -F'.' '{print $1}' | sort > compose_subdomains.txt
|
||||
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: Gotify Notification
|
||||
uses: eikendev/gotify-action@master
|
||||
with:
|
||||
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
|
||||
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
|
||||
notification_title: 'GITEA: Cloudflare Setup @ Rinoa'
|
||||
notification_message: 'Starting Cloudflare setup'
|
||||
- name: Compare Subdomains
|
||||
id: compare-subdomains
|
||||
uses: LouisBrunner/diff-action@v2.2.0
|
||||
@@ -152,17 +174,39 @@ jobs:
|
||||
echo "Creating $subdomain.trez.wtf..."
|
||||
flarectl dns create --zone "trez.wtf" --name "${subdomain}" --type=CNAME --content "trez.wtf" --proxy true
|
||||
done
|
||||
regenerate-readme:
|
||||
name: Update README
|
||||
- name: Gotify Notification
|
||||
uses: eikendev/gotify-action@master
|
||||
with:
|
||||
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
|
||||
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
|
||||
notification_title: 'GITEA: Cloudflare Setup @ Rinoa'
|
||||
notification_message: 'Cloudflare DNS setup completed successfully.'
|
||||
regenerate-readme-modified-services:
|
||||
name: Update README & Generate List of Modified Services
|
||||
runs-on: ubuntu-latest
|
||||
needs: [cloudflare-dns-setup]
|
||||
outputs:
|
||||
pr-pushed: ${{ steps.commit-readme.outputs.pushed }}
|
||||
# outputs:
|
||||
# pr-pushed: ${{ steps.commit-readme.outputs.pushed }}
|
||||
# modified_services: ${{ steps.compare-services.outputs.modified_services }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Install yq
|
||||
uses: dcarbone/install-yq-action@v1
|
||||
# - name: Fetch main branch for comparison
|
||||
# run: |
|
||||
# git fetch origin main:main
|
||||
# - name: Compare services using yq
|
||||
# continue-on-error: true
|
||||
# id: compare-services
|
||||
# run: |
|
||||
# current_services=$(yq '.services | to_entries' docker-compose.yml)
|
||||
# git show main:docker-compose.yml > main_compose.yml
|
||||
# main_services=$(yq '.services | to_entries' main_compose.yml)
|
||||
# modified_services_file=$(comm -13 <(echo "$main_services") <(echo "$current_services") > changes_compose.yml)
|
||||
# modified_services=${egrep '^ [a-z]' changes.yml | sed -e 's|^ ||g' -e 's|:||g' | sed ':a;N;$!ba;s/\n/ /g'}
|
||||
# echo "Modified services: $modified_services"
|
||||
# echo "modified_services=$modified_services" >> $GITHUB_OUTPUT
|
||||
- name: Generate service list
|
||||
run: |
|
||||
yq '.services | to_entries | map({"service": .key, "image": .value.image})' docker-compose.yml > services.yml
|
||||
@@ -184,7 +228,7 @@ jobs:
|
||||
add: "README.md"
|
||||
pr-merge:
|
||||
name: PR Merge
|
||||
needs: [regenerate-readme]
|
||||
needs: [regenerate-readme-modified-services]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -203,6 +247,14 @@ jobs:
|
||||
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.RINOA_GOTIFY_URL }}'
|
||||
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
|
||||
notification_title: 'GITEA: PR Merge Successful'
|
||||
notification_message: 'PR #${{ steps.pr_merge.outputs.pr_index }} merged.'
|
||||
ansible-config-docker-compose-deploy:
|
||||
name: Deploy via Ansible & Docker Compose
|
||||
runs-on: ubuntu-latest
|
||||
@@ -245,24 +297,26 @@ jobs:
|
||||
with:
|
||||
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
|
||||
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
|
||||
notification_title: 'Ansible Config Deployment @ Rinoa'
|
||||
notification_title: 'GITEA: Ansible Config Deployment @ Rinoa'
|
||||
notification_message: 'Deployment completed successfully.'
|
||||
- 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
|
||||
if: ${{ steps.regenerate-readme-modified-services.outputs.modified_services != '' }}
|
||||
continue-on-error: true
|
||||
uses: keatonLiu/docker-compose-remote-action@v1.2
|
||||
with:
|
||||
docker_compose_file: docker-compose.yml
|
||||
docker_args: -d --remove-orphans --pull missing --parallel -1 ${{ steps.regenerate-readme-modified-services.outputs.modified_services }}
|
||||
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
|
||||
- name: Gotify Notification
|
||||
uses: eikendev/gotify-action@master
|
||||
with:
|
||||
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
|
||||
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
|
||||
notification_title: 'Docker Compose Deployment @ Rinoa'
|
||||
notification_title: 'GITEA: Docker Compose Deployment @ Rinoa'
|
||||
notification_message: 'Deployment completed successfully.'
|
||||
@@ -16,9 +16,6 @@
|
||||
| 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 |
|
||||
@@ -53,6 +50,12 @@
|
||||
| homepage | ghcr.io/gethomepage/homepage:latest |
|
||||
| hortusfox | ghcr.io/danielbrendel/hortusfox-web:latest |
|
||||
| hugo | hugomods/hugo:exts |
|
||||
| immich-server | ghcr.io/immich-app/immich-server:release |
|
||||
| immich-machine-learning | ghcr.io/immich-app/immich-machine-learning:release |
|
||||
| immich-pg-db | tensorchord/pgvecto-rs:pg14-v0.2.1 |
|
||||
| immich-public-proxy | alangrainger/immich-public-proxy:latest |
|
||||
| immich-power-tools | ghcr.io/varun-raj/immich-power-tools:latest |
|
||||
| influxdb2 | influxdb:2-alpine |
|
||||
| invidious | quay.io/invidious/invidious:latest |
|
||||
| invidious-db | docker.io/library/postgres:14 |
|
||||
| invoice_ninja | invoiceninja/invoiceninja:5 |
|
||||
@@ -78,7 +81,7 @@
|
||||
| mastodon | lscr.io/linuxserver/mastodon:latest |
|
||||
| mastodon-pg-db | postgres:17-alpine |
|
||||
| minio | minio/minio |
|
||||
| mongodb | mongo:7.0 |
|
||||
| mongodb | bitnami/mongodb:7.0 |
|
||||
| multi-scrobbler | foxxmd/multi-scrobbler |
|
||||
| n8n | docker.n8n.io/n8nio/n8n |
|
||||
| navidrome | deluan/navidrome:latest |
|
||||
@@ -89,7 +92,7 @@
|
||||
| netbird-coturn | coturn/coturn:latest |
|
||||
| netbox | lscr.io/linuxserver/netbox:latest |
|
||||
| netbox-db | postgres:17-alpine |
|
||||
| nextcloud | lscr.io/linuxserver/nextcloud:latest |
|
||||
| nextcloud | nextcloud/all-in-one:latest |
|
||||
| ollama | ollama/ollama |
|
||||
| ombi | lscr.io/linuxserver/ombi:latest |
|
||||
| paperless-ngx | ghcr.io/paperless-ngx/paperless-ngx:latest |
|
||||
@@ -99,6 +102,7 @@
|
||||
| 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 |
|
||||
| portainer | portainer/portainer-ce:alpine-sts |
|
||||
| postal-smtp | ghcr.io/postalserver/postal:latest |
|
||||
| postal-web | ghcr.io/postalserver/postal:latest |
|
||||
| postal-worker | ghcr.io/postalserver/postal:latest |
|
||||
@@ -110,6 +114,7 @@
|
||||
| readarr | lscr.io/linuxserver/readarr:develop |
|
||||
| redis | redis:alpine |
|
||||
| redlib | quay.io/redlib/redlib:latest |
|
||||
| rocketchat | registry.rocket.chat/rocketchat/rocket.chat:latest |
|
||||
| sabnzbdvpn | ghcr.io/binhex/arch-sabnzbdvpn:latest |
|
||||
| scraperr | jpyles0524/scraperr:latest |
|
||||
| scraperr-api | jpyles0524/scraperr_api:latest |
|
||||
@@ -125,11 +130,10 @@
|
||||
| sonashow | thewicklowwolf/sonashow:latest |
|
||||
| soularr | mrusse08/soularr:latest |
|
||||
| soulseek | slskd/slskd |
|
||||
| sourcebot | ghcr.io/sourcebot-dev/sourcebot:latest |
|
||||
| speedtest-tracker | lscr.io/linuxserver/speedtest-tracker:latest |
|
||||
| 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 |
|
||||
@@ -140,12 +144,11 @@
|
||||
| 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: |
|
||||
| wazuh-agent | kennyopennix/wazuh-agent:latest |
|
||||
| wazuh-dashboard | wazuh/wazuh-dashboard: |
|
||||
| wazuh-indexer | wazuh/wazuh-indexer: |
|
||||
| wazuh-manager | wazuh/wazuh-manager: |
|
||||
| web-check | lissy93/web-check |
|
||||
| yacht | selfhostedpro/yacht |
|
||||
| your_spotify | lscr.io/linuxserver/your_spotify:latest |
|
||||
| youtubedl | nbr23/youtube-dl-server:latest |
|
||||
| zammad-backup | postgres: |
|
||||
|
||||
@@ -27,22 +27,22 @@ layout:
|
||||
# fiveColumns: true
|
||||
Infrastructure/App Performance Monitoring:
|
||||
style: row
|
||||
columns: 4
|
||||
columns: 3
|
||||
Code/DevOps:
|
||||
style: row
|
||||
columns: 3
|
||||
Social:
|
||||
style: row
|
||||
columns: 3
|
||||
Lifestyle:
|
||||
style: row
|
||||
columns: 3
|
||||
Automation:
|
||||
style: columns
|
||||
row: 2
|
||||
Code/DevOps:
|
||||
style: columms
|
||||
row: 2
|
||||
Privacy/Security:
|
||||
style: columns
|
||||
row: 5
|
||||
Social:
|
||||
style: columns
|
||||
row: 4
|
||||
Lifestyle:
|
||||
style: row
|
||||
columns: 4
|
||||
Personal Services:
|
||||
style: row
|
||||
columns: 4
|
||||
@@ -57,4 +57,4 @@ layout:
|
||||
columns: 3
|
||||
Media Library:
|
||||
style: row
|
||||
columns: 4
|
||||
columns: 3
|
||||
|
||||
+465
-848
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user