Compare commits
121 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 | |||
| 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 |
@@ -30,11 +30,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
url: ${{ gitea.server_url }}
|
url: ${{ gitea.server_url }}
|
||||||
token: ${{ secrets.BOT_GITEA_TOKEN }}
|
token: ${{ secrets.BOT_GITEA_TOKEN }}
|
||||||
assignee: ${{ gitea.actor }}
|
pr-label: 'auto-deploy-pr'
|
||||||
|
|
||||||
docker-compose-test:
|
docker-compose-test:
|
||||||
name: Docker Compose Test
|
name: Docker Compose Test
|
||||||
needs: [create-pr]
|
needs: [check-and-create-pr]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -56,10 +56,64 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
DOCKER_HOST: tcp://dockerproxy:2375
|
DOCKER_HOST: tcp://dockerproxy:2375
|
||||||
|
|
||||||
|
cloudflare-dns-setup:
|
||||||
|
name: Cloudflare DNS Setup
|
||||||
|
needs: [docker-compose-test]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install jq
|
||||||
|
uses: dcarbone/install-jq-action@v3.0.1
|
||||||
|
|
||||||
|
- name: Install yq
|
||||||
|
uses: dcarbone/install-yq-action@v1
|
||||||
|
|
||||||
|
- name: Install flarectl
|
||||||
|
uses: supplypike/setup-bin@v4
|
||||||
|
with:
|
||||||
|
uri: 'https://github.com/cloudflare/cloudflare-go/releases/download/v0.113.0/flarectl_0.113.0_linux_amd64.tar.gz'
|
||||||
|
name: 'flarectl'
|
||||||
|
version: '0.113.0'
|
||||||
|
|
||||||
|
- name: Grab Subdomains from Docker Compose & Cloudflare
|
||||||
|
id: grab-subdomains
|
||||||
|
env:
|
||||||
|
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
||||||
|
CF_API_EMAIL: ${{ secrets.CF_API_EMAIL }}
|
||||||
|
run: |
|
||||||
|
echo "Grabbing subdomains from docker-compose.yml..."
|
||||||
|
yq '.services[].labels.swag_url' docker-compose.yml | egrep -v 'null' | sed -e 's|"||g' | awk -F'.' '{print $1}' | sort > compose_subdomains.txt
|
||||||
|
echo "Grabbing subdomains from Cloudflare..."
|
||||||
|
flarectl --json dns list --zone "trez.wtf" --type=CNAME --content "trez.wtf" | jq '.[].Name' | sed -e 's|"||g' | awk -F"." '{print $1}' | sort > cloudflare_subdomains.txt
|
||||||
|
|
||||||
|
- name: Compare Subdomains
|
||||||
|
id: compare-subdomains
|
||||||
|
uses: LouisBrunner/diff-action@v2.2.0
|
||||||
|
with:
|
||||||
|
old: compose_subdomains.txt
|
||||||
|
new: cloudflare_subdomains.txt
|
||||||
|
mode: addition
|
||||||
|
tolerance: mixed-better
|
||||||
|
output: domain_compare.txt
|
||||||
|
|
||||||
|
- name: Create Subdomains
|
||||||
|
if: steps.compare-subdomains.outputs.output != ''
|
||||||
|
env:
|
||||||
|
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
||||||
|
CF_API_EMAIL: ${{ secrets.CF_API_EMAIL }}
|
||||||
|
run: |
|
||||||
|
cat domain_compare.txt | egrep '^-[a-z]' | sed -e 's|-||g' | while read -r subdomain; do
|
||||||
|
echo "Creating $subdomain.trez.wtf..."
|
||||||
|
flarectl dns create --zone "trez.wtf" --name "${subdomain}" --type=CNAME --content "trez.wtf"
|
||||||
|
done
|
||||||
|
|
||||||
merge-pr:
|
merge-pr:
|
||||||
name: PR Merge
|
name: PR Merge
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [docker-compose-test]
|
if: ${{ always() }}
|
||||||
|
needs: [cloudflare-dns-setup]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -70,6 +124,5 @@ jobs:
|
|||||||
chmod +x /usr/local/bin/tea
|
chmod +x /usr/local/bin/tea
|
||||||
echo "Merging PR..."
|
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 }}
|
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')
|
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 ${{ gitea.ref_name }}" --message "Merged by ${{ gitea.actor }}" --output table ${pr_index}
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
# List of Services
|
# List of Services
|
||||||
|
|
||||||
```json
|
```
|
||||||
~> yq '.services | to_entries | map({service: .key, image: .value.image})' docker-compose.yml
|
|
||||||
|
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"service": "actual_server",
|
"service": "actual_server",
|
||||||
|
|||||||
+36
-38
@@ -342,7 +342,7 @@ services:
|
|||||||
homepage.group: Downloaders
|
homepage.group: Downloaders
|
||||||
homepage.name: Bitmagnet
|
homepage.name: Bitmagnet
|
||||||
homepage.href: https://btmag.${MY_TLD}
|
homepage.href: https://btmag.${MY_TLD}
|
||||||
homepage.icon: sh-bitmagnet.png
|
homepage.icon: /icons/bitmagnet.svg
|
||||||
homepage.description: Torrent indexer, DHT crawler, search engine, & content classifier
|
homepage.description: Torrent indexer, DHT crawler, search engine, & content classifier
|
||||||
homepage.widget.type: gluetun
|
homepage.widget.type: gluetun
|
||||||
homepage.widget.url: http://gluetun:8000
|
homepage.widget.url: http://gluetun:8000
|
||||||
@@ -691,7 +691,7 @@ services:
|
|||||||
homepage.group: System Administration
|
homepage.group: System Administration
|
||||||
homepage.name: Czkawka
|
homepage.name: Czkawka
|
||||||
homepage.href: https://czkawka.${MY_TLD}
|
homepage.href: https://czkawka.${MY_TLD}
|
||||||
homepage.icon: sh-czkawka.png
|
homepage.icon: /icons/czkawka.png
|
||||||
homepage.description: Smart file management
|
homepage.description: Smart file management
|
||||||
swag: enable
|
swag: enable
|
||||||
swag_port: 5800
|
swag_port: 5800
|
||||||
@@ -744,7 +744,7 @@ services:
|
|||||||
homepage.group: System Administration
|
homepage.group: System Administration
|
||||||
homepage.name: Dagu
|
homepage.name: Dagu
|
||||||
homepage.href: https://cron.${MY_TLD}
|
homepage.href: https://cron.${MY_TLD}
|
||||||
homepage.icon: sh-dagu.png
|
homepage.icon: /icons/dagu.png
|
||||||
homepage.description: Cron alternative using DAGs (Directed Acyclic Graphs)
|
homepage.description: Cron alternative using DAGs (Directed Acyclic Graphs)
|
||||||
swag: enable
|
swag: enable
|
||||||
swag_port: 8080
|
swag_port: 8080
|
||||||
@@ -983,7 +983,7 @@ services:
|
|||||||
labels:
|
labels:
|
||||||
homepage.group: Lifestyle
|
homepage.group: Lifestyle
|
||||||
homepage.name: Fasten
|
homepage.name: Fasten
|
||||||
homepage.icon: sh-fasten-health.svg
|
homepage.icon: /icons/fastenhealth.png
|
||||||
homepage.href: http://health.${MY_TLD}
|
homepage.href: http://health.${MY_TLD}
|
||||||
homepage.description: Open-source, self-hosted, personal/family electronic medical record aggregator
|
homepage.description: Open-source, self-hosted, personal/family electronic medical record aggregator
|
||||||
swag: enable
|
swag: enable
|
||||||
@@ -1187,7 +1187,7 @@ services:
|
|||||||
homepage.description: Private Code Gists
|
homepage.description: Private Code Gists
|
||||||
homepage.group: Code/DevOps
|
homepage.group: Code/DevOps
|
||||||
homepage.href: https://gist.trez.wtf
|
homepage.href: https://gist.trez.wtf
|
||||||
homepage.icon: sh-opengist.svg
|
homepage.icon: /icons/opengist.svg
|
||||||
homepage.name: Opengist
|
homepage.name: Opengist
|
||||||
swag: enable
|
swag: enable
|
||||||
swag.uptime-kuma.enabled: "true"
|
swag.uptime-kuma.enabled: "true"
|
||||||
@@ -1398,7 +1398,7 @@ services:
|
|||||||
homepage.name: Grafana Alloy
|
homepage.name: Grafana Alloy
|
||||||
homepage.description: Agent for metric/log/trace/profile collection and writing
|
homepage.description: Agent for metric/log/trace/profile collection and writing
|
||||||
homepage.href: http://192.168.1.254:12345
|
homepage.href: http://192.168.1.254:12345
|
||||||
homepage.icon: sh-grafana-alloy.svg
|
homepage.icon: /icons/grafana-alloy.svg
|
||||||
networks:
|
networks:
|
||||||
default: null
|
default: null
|
||||||
ports:
|
ports:
|
||||||
@@ -1590,31 +1590,6 @@ services:
|
|||||||
type: bind
|
type: bind
|
||||||
bind:
|
bind:
|
||||||
create_host_path: true
|
create_host_path: true
|
||||||
guacamole:
|
|
||||||
container_name: guacamole
|
|
||||||
environment:
|
|
||||||
DOCKER_HOST: tcp://dockerproxy:2375
|
|
||||||
EXTENSIONS: 'auth-totp'
|
|
||||||
TZ: ${TZ}
|
|
||||||
image: flcontainers/guacamole:latest
|
|
||||||
labels:
|
|
||||||
homepage.group: System Administration
|
|
||||||
homepage.name: Guacamole
|
|
||||||
homepage.description: Client-less remote desktop gateway
|
|
||||||
homepage.href: https://guac.trez.wtf
|
|
||||||
homepage.icon: guacamole.svg
|
|
||||||
swag: enable
|
|
||||||
swag_proto: http
|
|
||||||
swag_port: 8080
|
|
||||||
swag_url: guac.${MY_TLD}
|
|
||||||
swag.uptime-kuma.enabled: true
|
|
||||||
swag.uptime-kuma.monitor.url: https://guac.${MY_TLD}
|
|
||||||
ports:
|
|
||||||
- 62173:8080
|
|
||||||
restart: always
|
|
||||||
volumes:
|
|
||||||
- ${DOCKER_VOLUME_CONFIG}/guacamole/:/config
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
homepage:
|
homepage:
|
||||||
container_name: homepage
|
container_name: homepage
|
||||||
image: ghcr.io/gethomepage/homepage:latest
|
image: ghcr.io/gethomepage/homepage:latest
|
||||||
@@ -2813,7 +2788,7 @@ services:
|
|||||||
homepage.group: Servarr Stack
|
homepage.group: Servarr Stack
|
||||||
homepage.name: Lidify
|
homepage.name: Lidify
|
||||||
homepage.href: https://lidify.${MY_TLD}
|
homepage.href: https://lidify.${MY_TLD}
|
||||||
homepage.icon: sh-lidify.png
|
homepage.icon: /icons/lidify.png
|
||||||
homepage.description: Music Discovery a la Last.fm, Spotify, Pandora, etc.
|
homepage.description: Music Discovery a la Last.fm, Spotify, Pandora, etc.
|
||||||
swag: enable
|
swag: enable
|
||||||
swag_auth: authelia
|
swag_auth: authelia
|
||||||
@@ -3078,6 +3053,29 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- mastodon-pg-db:/var/lib/postgresql/data
|
- mastodon-pg-db:/var/lib/postgresql/data
|
||||||
|
meshcentral:
|
||||||
|
container_name: meshcentral
|
||||||
|
image: ghcr.io/ylianst/meshcentral:master
|
||||||
|
labels:
|
||||||
|
homepage.group: System Administration
|
||||||
|
homepage.name: MeshCentral
|
||||||
|
homepage.href: https://mesh.${MY_TLD}
|
||||||
|
homepage.icon: meshcentral.png
|
||||||
|
homepage.description:
|
||||||
|
swag: enable
|
||||||
|
swag_proto: http
|
||||||
|
swag_port: 80
|
||||||
|
swag_url: mesh.${MY_TLD}
|
||||||
|
ports:
|
||||||
|
- 46717:80 # HTTP
|
||||||
|
- 61741:443 # HTTPS
|
||||||
|
- 42865:4433 # AMT (Optional)
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- meshcentral-data:/opt/meshcentral/meshcentral-data
|
||||||
|
- meshcentral-user_files:/opt/meshcentral/meshcentral-files
|
||||||
|
- meshcentral-backup:/opt/meshcentral/meshcentral-backups
|
||||||
|
- meshcentral-web:/opt/meshcentral/meshcentral-web
|
||||||
minio:
|
minio:
|
||||||
command: server --console-address ":9090" /mnt/data
|
command: server --console-address ":9090" /mnt/data
|
||||||
container_name: minio
|
container_name: minio
|
||||||
@@ -3151,7 +3149,7 @@ services:
|
|||||||
homepage.group: Media Library
|
homepage.group: Media Library
|
||||||
homepage.name: Multi-Scrobbler
|
homepage.name: Multi-Scrobbler
|
||||||
homepage.href: http://192.168.1.254:9078
|
homepage.href: http://192.168.1.254:9078
|
||||||
homepage.icon: sh-multi-scrobbler.svg
|
homepage.icon: /icons/multi-scrobbler.png
|
||||||
homepage.description: JS App for scrobbling/recording play history from/to multiple sources
|
homepage.description: JS App for scrobbling/recording play history from/to multiple sources
|
||||||
networks:
|
networks:
|
||||||
default: null
|
default: null
|
||||||
@@ -3590,7 +3588,7 @@ services:
|
|||||||
homepage.group: System Administration
|
homepage.group: System Administration
|
||||||
homepage.name: Postal
|
homepage.name: Postal
|
||||||
homepage.href: https://post.${MY_TLD}
|
homepage.href: https://post.${MY_TLD}
|
||||||
homepage.icon: sh-postal.svg
|
homepage.icon: /icons/postal.png
|
||||||
homepage.description: OSS Mail delivery platform
|
homepage.description: OSS Mail delivery platform
|
||||||
networks:
|
networks:
|
||||||
default: null
|
default: null
|
||||||
@@ -3694,7 +3692,7 @@ services:
|
|||||||
homepage.group: Servarr Stack
|
homepage.group: Servarr Stack
|
||||||
homepage.name: RadaRec
|
homepage.name: RadaRec
|
||||||
homepage.href: https://radarec.${MY_TLD}
|
homepage.href: https://radarec.${MY_TLD}
|
||||||
homepage.icon: sh-radarec.png
|
homepage.icon: /icons/radarec.png
|
||||||
homepage.description: Movie discovery based on library/tastes
|
homepage.description: Movie discovery based on library/tastes
|
||||||
swag: enable
|
swag: enable
|
||||||
swag_proto: http
|
swag_proto: http
|
||||||
@@ -4405,7 +4403,7 @@ services:
|
|||||||
homepage.group: Servarr Stack
|
homepage.group: Servarr Stack
|
||||||
homepage.name: Sonashow
|
homepage.name: Sonashow
|
||||||
homepage.href: https://sonashow.${MY_TLD}
|
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
|
homepage.description: TV show discovery based on library/tastes
|
||||||
swag: enable
|
swag: enable
|
||||||
swag_auth: authelia
|
swag_auth: authelia
|
||||||
@@ -4452,7 +4450,7 @@ services:
|
|||||||
homepage.group: Downloaders
|
homepage.group: Downloaders
|
||||||
homepage.description: Modern client-server application for the Soulseek file-sharing network.
|
homepage.description: Modern client-server application for the Soulseek file-sharing network.
|
||||||
homepage.href: https://slsk.${MY_TLD}
|
homepage.href: https://slsk.${MY_TLD}
|
||||||
homepage.icon: sh-slskd.svg
|
homepage.icon: /icons/slskd.png
|
||||||
swag: enable
|
swag: enable
|
||||||
swag_proto: http
|
swag_proto: http
|
||||||
swag_url: slsk.${MY_TLD}
|
swag_url: slsk.${MY_TLD}
|
||||||
@@ -6481,7 +6479,7 @@ services:
|
|||||||
homepage.group: System Administration
|
homepage.group: System Administration
|
||||||
homepage.name: WhoDB
|
homepage.name: WhoDB
|
||||||
homepage.href: https://dbs.${MY_TLD}
|
homepage.href: https://dbs.${MY_TLD}
|
||||||
homepage.icon: sh-whodb.png
|
homepage.icon: /icons/whodb.png
|
||||||
homepage.description: Web-based DB management
|
homepage.description: Web-based DB management
|
||||||
swag: enable
|
swag: enable
|
||||||
swag_proto: http
|
swag_proto: http
|
||||||
|
|||||||
Reference in New Issue
Block a user