Compare commits

...

46 Commits

Author SHA1 Message Date
Trez.One a5d27466fc Forgot to add Beszel 😅
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-12 07:36:11 -05:00
Trez.One ae10b7a19e Removing Netdata. 2025-02-12 07:21:18 -05:00
Trez.One 3f83290ab0 Merge pull request 'Removing Netbox and Slurpit.' (#1) from netbox-removal-pipeline-tweak into main
Reviewed-on: Trez.One/rinoa-docker#1
2025-02-12 07:03:47 -05:00
Trez.One 2c9cd867b0 Removing Netbox and Slurpit.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-11 20:56:46 -05:00
Trez.One 8146d51f37 Immich server logging. 2025-02-11 18:34:53 -05:00
Trez.One 35b35cb840 Netbird-management port change. 2025-02-11 11:57:44 -05:00
Trez.One 5a5becea56 Scraperr tweaks. 2025-02-07 19:17:29 -05:00
Trez.One 1641e877ad Immich tweaks. 2025-02-07 18:20:16 -05:00
Trez.One 432e14e5dd Immich tweaks. 2025-02-07 18:00:58 -05:00
Trez.One 617dea13b0 Immich-server tweaks. 2025-02-07 17:56:46 -05:00
Trez.One 11353334b5 Bitmagnet tweaks. 2025-02-07 17:50:05 -05:00
Trez.One 700f10fc92 Tweaks to Open-WebUI. 2025-02-07 13:24:26 -05:00
Trez.One cc0dcfdd3c Netdata label fix. 2025-02-04 20:44:43 -05:00
gitea-sonarqube-bot 57b1293156 Auto Merge of PR 46 - open-webui-deployment
Merged by Trez.One
2025-02-04 17:33:38 -05:00
Trez.One 9e706a20a7 Tweaks for Bitmagnet.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-04 16:59:53 -05:00
Trez.One 210375d17b Merge pull request 'Automated PR for open-webui-deployment - #45' (#45) from open-webui-deployment into main
Reviewed-on: Trez.One/rinoa-docker#45
2025-02-04 16:29:05 -05:00
Trez.One 02b2ab6116 Deployment of Open-WebUI and tweaks to Netdata. 2025-02-04 16:15:08 -05:00
gitea-sonarqube-bot 439cc4136d Auto Merge of PR 44 - netdata-immich-wazuh-overhaul
Merged by Trez.One
2025-02-04 12:10:12 -05:00
Trez.One 809560f8ca Tweaks to workflow.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-04 11:39:22 -05:00
Trez.One 15bdf96d76 Tweaks to workflow. 2025-02-04 11:34:08 -05:00
Trez.One f08a4f9cb7 Fixes/removals for several services, adding Netdata. 2025-02-04 11:25:46 -05:00
Trez.One 701a4fbde3 Fix for Immich SWAG configuration. 2025-02-02 17:52:34 -05:00
Trez.One 4fe9bbecb3 Typo fix for Immich Power Tools. 2025-02-02 17:51:11 -05:00
Trez.One a96beafe21 Restart label for InfluxDB. 2025-02-02 08:12:55 -05:00
Trez.One 9500d5f39b Labels for Immich containers. 2025-02-02 08:05:42 -05:00
Trez.One 1216beee88 Labels for Immich containers. 2025-02-02 08:04:12 -05:00
Trez.One 94e793e1ad Labels for Immich containers. 2025-02-01 21:28:10 -05:00
Trez.One 96e15c9786 Labels for Immich containers. 2025-02-01 11:45:15 -05:00
Trez.One 9b18d386e8 . 2025-01-31 16:01:47 -05:00
Trez.One db2130a634 . 2025-01-31 15:56:06 -05:00
Trez.One 1e27a9817b . 2025-01-31 15:52:42 -05:00
Trez.One 3ac23e5d5c . 2025-01-31 15:43:36 -05:00
Trez.One 245670e37f . 2025-01-31 15:43:06 -05:00
Trez.One 03b0ca68db Merge remote-tracking branch 'refs/remotes/origin/main' 2025-01-31 15:40:00 -05:00
Trez.One 2108450ab0 Removing Dagu services. 2025-01-31 15:39:49 -05:00
Trez.One f8c39e324a Removing extra files. 2025-01-31 15:31:11 -05:00
Trez.One db2057c8ef Merge pull request 'Automated PR for immich-proxy-changes - #43' (#43) from immich-proxy-changes into main 2025-01-31 15:29:59 -05:00
Trez.One 049c21f538 Removing service comparison for now.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-31 15:28:44 -05:00
Trez.One d8810273b7 Tweaks to service comparison. 2025-01-31 14:52:40 -05:00
Trez.One 06655add2b Attempting to put both Immich server and proxy under one domain; also updated deployment pipeline. 2025-01-31 13:31:53 -05:00
Trez.One e784655300 Correcting a few service labels. 2025-01-31 12:21:30 -05:00
Trez.One fa42b8b7cc Correcting a few service labels. 2025-01-31 12:16:13 -05:00
gitea-sonarqube-bot 5ad020ab80 Auto Merge of PR 42 - immich-modifications-dagu-removal-in-fixes
Merged by Trez.One
2025-01-31 08:28:41 -05:00
Trez.One c9858ef7ba Added --no-recreate flag for Docker Compose deploy step.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-31 08:06:15 -05:00
Trez.One a94057d1ae Fixes for Immich; testing out new step in deployment pipeline. 2025-01-31 07:47:22 -05:00
gitea-sonarqube-bot 42a0928b7f Auto Merge of PR 41 - deploy-pipeline-only-modified-services
Merged by Trez.One
2025-01-30 19:54:38 -05:00
2 changed files with 180 additions and 607 deletions
@@ -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
@@ -180,17 +181,32 @@ jobs:
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: Cloudflare Setup @ Rinoa'
notification_message: 'Cloudflare DNS setup completed successfully.'
regenerate-readme:
name: Update README
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 }}
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
@@ -286,25 +302,13 @@ jobs:
- 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: Detect modified services
id: detect-modified-services
run: |
git diff --name-only HEAD^ HEAD | grep docker-compose.yml > /dev/null
if [ $? -eq 0 ]; then
modified_services=$(git diff HEAD^ HEAD -- docker-compose.yml | grep -E '^\+[[:space:]]+[a-zA-Z0-9_-]+:' | sed -E 's/^\+[[:space:]]+([a-zA-Z0-9_-]+):.*/\1/')
echo "Modified services: $modified_services"
echo "modified_services=$modified_services" >> $GITHUB_OUTPUT
else
echo "No changes in docker-compose.yml"
echo "modified_services=" >> $GITHUB_OUTPUT
fi
- name: Docker Compose Deployment
if: ${{ steps.detect-modified-services.outputs.modified_services != '' }}
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
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 }}
+160 -591
View File
@@ -335,6 +335,36 @@ services:
source: /rinoa-storage
target: /storage
type: bind
beszel:
container_name: beszel
extra_hosts:
- host.docker.internal:host-gateway
image: henrygd/beszel:latest
ports:
- 22220:8090
restart: unless-stopped
volumes:
- ${DOCKER_VOLUME_CONFIG}/beszel:/beszel_data
beszel-agent:
container_name: beszel-agent
depends_on:
- beszel
environment:
DOCKER_HOST: tcp://dockerproxy:2375
PORT: 45876
# Do not remove quotes around the key
KEY: 'UPDATE WITH YOUR PUBLIC KEY (copy from "Add system" dialog)'
image: henrygd/beszel-agent:latest
network_mode: host
restart: unless-stopped
volumes:
- /dev/sda:/extra-filesystems/sda:ro
- /dev/sdb:/extra-filesystems/sdb:ro
- /dev/sdc:/extra-filesystems/sdc:ro
- /dev/sdd:/extra-filesystems/sdd:ro
- /dev/sde:/extra-filesystems/sde:ro
- /dev/sdf:/extra-filesystems/sdf:ro
- /dev/nvme0n1:/extra-filesystems/nvme0n1:ro
bitmagnet:
command:
- worker
@@ -400,7 +430,6 @@ services:
networks:
bitmagnet:
ipv4_address: 192.168.55.8
default: null
restart: unless-stopped
shm_size: 1g
volumes:
@@ -741,58 +770,6 @@ services:
type: bind
bind:
create_host_path: true
dagu-scheduler:
command: dagu scheduler
container_name: dagu-scheduler
image: ghcr.io/dagu-org/dagu:latest
networks:
default: null
restart: unless-stopped
volumes:
- source: dagu_config
target: /home/dagu/.config/dagu
type: volume
volume: {}
- source: dagu_data
target: /home/dagu/.local/share
type: volume
volume: {}
dagu-server:
container_name: dagu-server
environment:
DAGU_PORT: 8080
image: ghcr.io/dagu-org/dagu:latest
labels:
homepage.group: System Administration
homepage.name: Dagu
homepage.href: https://cron.${MY_TLD}
homepage.icon: sh-dagu.png
homepage.description: Cron alternative using DAGs (Directed Acyclic Graphs)
swag: enable
swag_port: 8080
swag_proto: http
swag_url: cron.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://cron.${MY_TLD}
networks:
default: null
ports:
- mode: ingress
protocol: tcp
published: "8108"
target: 8080
restart: unless-stopped
volumes:
- source: dagu_config
target: /home/dagu/.config/dagu
type: volume
bind:
create_host_path: true
- source: dagu_data
target: /home/dagu/.local/share
type: volume
bind:
create_host_path: true
dbgate:
container_name: dbgate
environment:
@@ -1846,11 +1823,11 @@ services:
DB_USERNAME: hortusfox
image: ghcr.io/danielbrendel/hortusfox-web:latest
labels:
homepage: enable
homepage_proto: http
homepage_url: plants.${MY_TLD}
homepage.uptime-kuma.enabled: true
homepage.uptime-kuma.monitor.url: https://plants.${MY_TLD}
swag: enable
swag_proto: http
swag_url: plants.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://plants.${MY_TLD}
homepage.group: Lifestyle
homepage.name: HortusFox
homepage.href: https://plants.${MY_TLD}
@@ -1935,10 +1912,34 @@ services:
DB_PORT: 5432
DB_USERNAME: immich
DB_PASSWORD: ${IMMICH_DB_PASSWORD}
IMMICH_LOG_LEVEL: error
IMMICH_TELEMETRY_INCLUDE: all
healthcheck:
disable: false
image: ghcr.io/immich-app/immich-server:release
labels:
swag: enable
swag_proto: http
swag_port: 2283
swag_url: pics.${MY_TLD}
swag_server_custom_directive: |
location /share {
proxy_pass http://immich-public-proxy:3000;
}
location /tools {
proxy_pass http://immich-power-tools:3000;
}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://pics.${MY_TLD}
homepage.group: Media Library
homepage.name: Immich
homepage.href: https://pics.${MY_TLD}
homepage.icon: immich.svg
homepage.description: High performance self-hosted photo and video management solution
homepage.widget.type: immich
homepage.widget.url: http://immich-server:2283
homepage.widget.key: ${IMMICH_POWER_TOOLS_KEY}
homepage.widget.version: 2
ports:
- 2283:2283
restart: always
@@ -1992,7 +1993,7 @@ services:
container_name: immich-public-proxy
depends_on:
immich-server:
condition: service_started
condition: service_healthy
required: true
environment:
IMMICH_URL: http://immich-server:2283
@@ -2004,27 +2005,37 @@ services:
timeout: 5s
image: alangrainger/immich-public-proxy:latest
labels:
homepage: enable
homepage_proto: http
homepage_port: 3000
homepage_url: pics.${MY_TLD}
homepage.uptime-kuma.enabled: true
homepage.uptime-kuma.monitor.url: https://pics.${MY_TLD}
homepage.group: Lifestyle
homepage.name: Immich
homepage.href: https://pics.${MY_TLD}
homepage.icon: immich.svg
homepage.description: High performance self-hosted photo and video management solution
homepage.name: Immich Public Proxy
homepage.href: https://pics.${MY_TLD}/share
homepage.icon: sh-immich-public-proxy.svg
homepage.description: Immich Proxy for public sharing
homepage.widget.type: immich
homepage.widget.url: http://immich-server:2283
homepage.widget.key: ${IMMICH_POWER_TOOLS_KEY}
homepage.widget.version: 2
restart: always
immich-power-tools:
container_name: immich-power-tools
environment:
DB_DATABASE_NAME: immich
DB_HOSTNAME: immich-pg-db
DB_PORT: 5432
DB_USERNAME: immich
DB_PASSWORD: ${IMMICH_DB_PASSWORD}
EXTERNAL_IMMICH_URL: https://pics.trez.wtf
IMMICH_API_KEY: ${IMMICH_POWER_TOOLS_KEY}
IMMICH_URL: http://immich-server:2283
EXTERNAL_IMMICH_URL: https://pics.trez.wtf
image: ghcr.io/varun-raj/immich-power-tools:latest
labels:
homepage.group: Lifestyle
homepage.name: Immich Power Tools
homepage.href: https://pics.${MY_TLD}/tools
homepage.icon: sh-immich-power-tools.png
homepage.description: Tools for Immich
ports:
- 54018:3000
restart: unless-stopped
influxdb2:
container_name: influxdb2
environment:
@@ -2036,19 +2047,20 @@ services:
DOCKER_INFLUXDB_INIT_BUCKET: rinoa
image: influxdb:2-alpine
labels:
homepage: enable
homepage_proto: http
homepage_port: 8086
homepage_url: influxdb.${MY_TLD}
homepage.uptime-kuma.enabled: true
homepage.uptime-kuma.monitor.url: https://influxdb.${MY_TLD}
swag: enable
swag_proto: http
swag_port: 8086
swag_url: influxdb.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://influxdb.${MY_TLD}
homepage.group: System Administration
homepage.name: InfluxDBv2
homepage.href: https://invid.${MY_TLD}
homepage.href: https://influxdb.${MY_TLD}
homepage.icon: influxdb.svg
homepage.description: Scalable datastore for metrics, events, and real-time analytics
ports:
- 8086:8086
restart: unless-stopped
volumes:
- influxdb2-data:/var/lib/influxdb2
- influxdb2-config:/etc/influxdb2
@@ -2079,12 +2091,12 @@ services:
timeout: 5s
image: quay.io/invidious/invidious:latest
labels:
homepage: enable
homepage_proto: http
homepage_port: 3000
homepage_url: invid.${MY_TLD}
homepage.uptime-kuma.enabled: true
homepage.uptime-kuma.monitor.url: https://invid.${MY_TLD}
swag: enable
swag_proto: http
swag_port: 3000
swag_url: invid.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://invid.${MY_TLD}
homepage.group: Social
homepage.name: Invidious
homepage.href: https://invid.${MY_TLD}
@@ -2127,8 +2139,8 @@ services:
type: bind
bind:
create_host_path: true
invoice_ninja:
container_name: invoice_ninja
invoice-ninja:
container_name: invoice-ninja
depends_on:
mariadb:
condition: service_started
@@ -2164,7 +2176,7 @@ services:
TRUSTED_PROXIES: 172.18.0.0/16
expose:
- 9000
image: invoiceninja/invoiceninja:5
image: invoiceninja/invoiceninja-debian:5
networks:
default: null
ports:
@@ -2174,32 +2186,17 @@ services:
target: 8003
restart: always
volumes:
- source: ${DOCKER_VOLUME_CONFIG}/invoice-ninja/app/public
target: /var/www/app/public
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/invoice-ninja/app/storage
target: /var/www/app/storage
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/invoice-ninja/php/php.ini
target: /usr/local/etc/php/php.ini
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/invoice-ninja/php/php-cli.ini
target: /usr/local/etc/php/php-cli.ini
type: bind
bind:
create_host_path: true
invoice_ninja_proxy:
container_name: invoice_ninja_proxy
- ${DOCKER_VOLUME_CONFIG}/invoice-ninja/invoice-ninja.env:/var/www/html/.env
- invoice-ninja_cache:/var/www/html/bootstrap/cache
- invoice-ninja_public:/var/www/html/public
- invoice-ninja_storage:/var/www/html/storage
invoice-ninja_proxy:
container_name: invoice-ninja_proxy
depends_on:
invoice_ninja:
invoice-ninja:
condition: service_started
required: true
restart: true
environment:
APP_DEBUG: true
APP_KEY: ${IN_APP_KEY}
@@ -3079,66 +3076,6 @@ services:
type: bind
bind:
create_host_path: true
lobe-chat:
container_name: lobe-chat
depends_on:
lobe-chat-pg-db:
condition: service_started
required: true
minio:
condition: service_started
required: true
zitadel:
condition: service_started
required: true
environment:
APP_URL: https://ai.trez.wtf/
KEY_VAULTS_SECRET: ${LOBECHAT_KEY_VAULT_SECRET}
DATABASE_URL: postgresql://lobe:${LOBECHAT_PG_DB_PASSWD}@lobe-chat-pg-db:5432/lobe
NEXTAUTH_URL: https://lobe.example.com/api/auth
NEXT_AUTH_SECRET: ${LOBECHAT_NEXT_AUTH_SECRET}
NEXT_AUTH_SSO_PROVIDERS: zitadel
AUTH_ZITADEL_ID: ${LOBECHAT_ZITADEL_CLIENT_ID}
AUTH_ZITADEL_SECRET: ${LOBECHAT_ZITADEL_CLIENT_SECRET}
AUTH_ZITADEL_ISSUER: https://id.trez.wtf
S3_ACCESS_KEY_ID: ${LOBECHAT_S3_ACCESS_KEY_ID}
S3_SECRET_ACCESS_KEY: ${LOBECHAT_S3_SECRET_ACCESS_KEY}
S3_ENDPOINT: http://minio:9000
S3_BUCKET: lobechat
S3_PUBLIC_DOMAIN: https://s3.trez.wtf
S3_ENABLE_PATH_STYLE: 1+
OPENAI_API_KEY: ${LOBECHAT_OPENAI_API_KEY}
ANTHROPIC_API_KEY: ${LOBECHAT_ANTHROPIC_API_KEY}
GITHUB_TOKEN: ${LOBECHAT_GITHUB_TOKEN}
OLLAMA_MODEL_LIST: +llama3.1:8b,+nomic-embed-text:latest,+starcoder2:3b,+llama3.1:latest,+llama2:7B
MISTRAL_API_KEY: ${LOBECHAT_MISTRAL_API_KEY}
GROQ_API_KEY: ${LOBECHAT_GROQAI_API_KEY}
image: lobehub/lobe-chat-database
labels:
homepage.group: Personal Services
homepage.name: LobeChat
homepage.href: https://ai.${MY_TLD}
homepage.icon: lobe-chat.png
homepage.description: An open-source, modern-design ChatGPT/LLMs UI/Framework
swag: enable
swag_proto: http
swag_port: 3210
swag_url: ai.${MY_TLD}
ports:
- 3210:3210
restart: unless-stopped
lobe-chat-pg-db:
container_name: lobe-chat-pg-db
environment:
POSTGRES_DB: lobe
POSTGRES_USER: lobe
POSTGRES_PASSWORD: ${LOBECHAT_PG_DB_PASSWD}
expose:
- 5432
image: pgvector/pgvector:pg16
volumes:
- ${DOCKER_VOLUME_CONFIG}/lobechat/db:/var/lib/postgresql/data
restart: unless-stopped
maloja:
container_name: maloja
environment:
@@ -3584,7 +3521,7 @@ services:
- netbird-letsencrypt:/etc/letsencrypt:ro
- ${DOCKER_VOLUME_CONFIG}/netbird/management.json:/etc/netbird/management.json
ports:
- 33073:443 #API port
- 23833:443 #API port
netbird-coturn:
command:
- -c /etc/turnserver.conf
@@ -3597,69 +3534,6 @@ services:
# - ${DOCKER_VOLUME_CONFIG}/netbird/privkey.pem:/etc/coturn/private/privkey.pem:ro
# - ${DOCKER_VOLUME_CONFIG}/netbird/cert.pem:/etc/coturn/certs/cert.pem:ro
network_mode: host
netbox:
container_name: netbox
depends_on:
netbox-db:
condition: service_healthy
required: true
redis:
condition: service_started
required: true
environment:
PUID: ${PUID}
PGID: ${PGID}
TZ: ${TZ}
SUPERUSER_EMAIL: charish.patel@pm.me
SUPERUSER_PASSWORD: ${NETBOX_SUPERUSER_PASSWORD}
ALLOWED_HOST: net.trez.wtf
DB_NAME: netbox
DB_USER: netbox
DB_PASSWORD: ${NETBOX_PG_DB_PASSWORD}
DB_HOST: netbox-db
DB_PORT: 5432
DEBUG: false
DOCKER_MODS: linuxserver/mods:netbox-slurpit
REDIS_HOST: redis
REDIS_PORT: 6379
REMOTE_AUTH_ENABLED:
image: lscr.io/linuxserver/netbox:latest
labels:
homepage.group: Infrastructure/App Performance Monitoring
homepage.name: Netbox
homepage.href: https://net.${MY_TLD}
homepage.icon: netbox.svg
homepage.description: Network modeling/documentation
swag: enable
swag_url: net.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://net.${MY_TLD}
ports:
- 8007:8000
restart: unless-stopped
volumes:
- ${DOCKER_VOLUME_CONFIG}/netbox/:/config
netbox-db:
container_name: netbox-db
environment:
POSTGRES_USER: netbox
POSTGRES_PASSWORD: ${NETBOX_PG_DB_PASSWORD}
POSTGRES_DB: netbox
expose:
- 5432
healthcheck:
test: pg_isready -q -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER
start_period: 20s
timeout: 30s
interval: 10s
retries: 5
image: postgres:17-alpine
restart: always
volumes:
- source: netbox-pg-db
target: /var/lib/postgresql/data
type: volume
volume: {}
nextcloud:
container_name: nextcloud-aio-mastercontainer
environment:
@@ -3692,19 +3566,11 @@ services:
ollama:
container_name: ollama
image: ollama/ollama
networks:
default: null
ports:
- mode: ingress
protocol: tcp
published: "11434"
target: 11434
restart: always
- 11434:11434
restart: unless-stopped
volumes:
- source: ollama
target: /root/.ollama
type: volume
volume: {}
- ollama:/root/.ollama
ombi:
container_name: ombi
environment:
@@ -3749,6 +3615,36 @@ services:
source: /rinoa-storage
target: /storage
type: bind
open-webui:
container_name: open-webui
depends_on:
ollama:
condition: service_started
required: true
restart: true
environment:
ENABLE_SIGNUP: true
ENABLE_LOGIN_FORM: true
ENABLE_OLLAMA_API: true
OLLAMA_BASE_URLS: http://ollama:11434
image: ghcr.io/open-webui/open-webui:main
labels:
homepage.group: Personal Services
homepage.name: Open-WebUI
homepage.href: https://ai.${MY_TLD}
homepage.icon: open-webui.png
homepage.description: Local AI chat using Ollama-downloaded models
swag: enable
swag_port: 8080
swag_proto: http
swag_url: ai.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://ai.${MY_TLD}
ports:
- 10863:8080
restart: unless-stopped
volumes:
- open-webui:/app/backend/data
paperless-ngx:
container_name: paperless-ngx
depends_on:
@@ -3957,6 +3853,10 @@ services:
homepage.href: https://portainer.${MY_TLD}
homepage.icon: portainer.svg
homepage.description: Service delivery platform for containerized applications
homepage.widget.type: portainer
homepage.widget.url: http://portainer:9000
homepage.widget.env: 20
homepage.widget.key: ${PORTAINER_HOMEPAGE_TOKEN}
restart: unless-stopped
volumes:
- portainer-data:/data
@@ -4481,6 +4381,10 @@ services:
swag_proto: http
swag_port: 3000
swag_url: scrape.${MY_TLD}
swag_server_custom_directive: |
location /api {
proxy_pass http://scraperr-api:8000;
}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://scrape.${MY_TLD}
networks:
@@ -4500,11 +4404,6 @@ services:
expose:
- 8000
image: jpyles0524/scraperr_api:latest
labels:
swag: enable
swag_proto: http
swag_port: 3000
swag_server_custom_directive: "location /api/ { rewrite ^/api(/.*)$ /$1 break ; proxy_pass http://scraperr:3000; }"
networks:
default: null
restart: unless-stopped
@@ -4601,83 +4500,6 @@ services:
type: bind
bind:
create_host_path: true
slurpit-portal:
container_name: slurpit-portal
environment:
TZ: ${TZ}
PORTAL_BASE_URL: https://slurpit.trez.wtf
PORTAL_WAREHOUSE_URL: http://slurpit-warehouse
image: slurpit/portal:latest
labels:
homepage.group: Infrastructure/App Performance Monitoring
homepage.name: Slurp'it
homepage.href: https://slurpit.${MY_TLD}
homepage.icon: /icons/slurpit.png
homepage.description: Network discovery
swag: enable
swag_port: 80
swag_url: slurpit.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://slurpit.${MY_TLD}
ports:
- 8110:80
- 5443:443
restart: always
volumes:
- ${DOCKER_VOLUME_CONFIG}/slurpit/logs/nginx:/var/log/nginx/
- ${DOCKER_VOLUME_CONFIG}/slurpit/logs/mysql:/var/log/mysql/
- ${DOCKER_VOLUME_CONFIG}/slurpit/logs/php:/var/log/php/
- ${DOCKER_VOLUME_CONFIG}/slurpit/certs:/etc/nginx/certs/
- ${DOCKER_VOLUME_CONFIG}/slurpit/db/portal:/var/lib/mysql
- ${DOCKER_VOLUME_CONFIG}/slurpit/backup/portal:/backup/files
slurpit-scanner:
container_name: slurpit-scanner
depends_on:
slurpit-warehouse:
condition: service_healthy
environment:
TZ: ${TZ}
SCANNER_POOLSIZE: 4
SCANNER_TIMEOUT: 10
SCANNER_WAREHOUSE_URL: http://slurpit-warehouse
image: slurpit/scanner:latest
restart: always
volumes:
- ${DOCKER_VOLUME_CONFIG}/slurpit/logs/scanner:/logs
slurpit-scraper:
container_name: slurpit-scraper
depends_on:
slurpit-warehouse:
condition: service_healthy
image: slurpit/scraper:latest
environment:
TZ: ${TZ}
SCRAPER_TIMEOUT: 20
SCRAPER_POOLSIZE: 4
SCRAPER_WAREHOUSE_URL: http://slurpit-warehouse
restart: always
volumes:
- ${DOCKER_VOLUME_CONFIG}/slurpit/logs/scraper:/logs
slurpit-warehouse:
container_name: slurpit-warehouse
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/services"]
interval: 10s
timeout: 10s
retries: 360
image: slurpit/warehouse:latest
environment:
TZ: ${TZ}
WAREHOUSE_CALLBACK_SCANNER_URL: http://slurpit-portal/callback/scanner
WAREHOUSE_CALLBACK_SCANNER_TOKEN:
WAREHOUSE_CALLBACK_SCRAPER_URL: http://slurpit-portal/callback/scraper
WAREHOUSE_CALLBACK_SCRAPER_TOKEN:
restart: always
volumes:
- ${DOCKER_VOLUME_CONFIG}/slurpit/backup/warehouse:/backup/files
- ${DOCKER_VOLUME_CONFIG}/slurpit/db/warehouse:/var/lib/mongodb
- ${DOCKER_VOLUME_CONFIG}/slurpit/logs/warehouse/mongodb:/var/log/mongodb
- ${DOCKER_VOLUME_CONFIG}/slurpit/logs/warehouse:/logs
sonarqube:
container_name: sonarqube
depends_on:
@@ -6621,267 +6443,6 @@ services:
source: /var/run/docker.sock
target: /var/run/docker.sock
type: bind
wazuh-agent:
container_name: wazuh.agent
environment:
JOIN_MANAGER_PROTOCOL: https
JOIN_MANAGER_MASTER_HOST: wazuh.manager
JOIN_MANAGER_WORKER_HOST: wazuh.manager
JOIN_MANAGER_USER: wazuh-wui
JOIN_MANAGER_PASSWORD: ${WAZUH_API_PASSWORD}
JOIN_MANAGER_API_PORT: 55000
JOIN_MANAGER_PORT: 1514
VIRUS_TOTAL_KEY: ${VIRUS_TOTAL_API_KEY}
DOCKER_HOST: tcp://dockerproxy:2375
hostname: wazuh.agent
image: kennyopennix/wazuh-agent:latest
networks:
default: null
restart: unless-stopped
wazuh-dashboard:
container_name: wazuh-dashboard
depends_on:
wazuh-indexer:
condition: service_started
required: true
wazuh-manager:
condition: service_started
required: true
restart: true
environment:
INDEXER_USERNAME: admin
INDEXER_PASSWORD: ${WAZUH_INDEXER_PASSWORD}
WAZUH_API_URL: https://wazuh.manager
DASHBOARD_USERNAME: kibanaserver
DASHBOARD_PASSWORD: ${WAZUH_KIBANA_PASSWORD}
API_USERNAME: wazuh-wui
API_PASSWORD: ${WAZUH_API_PASSWORD}
hostname: wazuh-dashboard
image: wazuh/wazuh-dashboard:${WAZUH_VERSION}
labels:
swag: enable
swag_proto: https
swag_port: 5601
swag_url: wsec.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://wsec.${MY_TLD}
homepage.group: Privacy/Security
homepage.name: Wazuh
homepage.href: https://wsec.${MY_TLD}
homepage.icon: wazuh.svg
homepage.description: OSS Security Platform for XDR/SIEM
links:
- wazuh-indexer:wazuh-indexer
- wazuh-manager:wazuh-manager
networks:
default: null
ports:
- mode: ingress
protocol: tcp
published: "5601"
target: 5601
restart: always
volumes:
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.dashboard.pem
target: /usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.dashboard-key.pem
target: /usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/root-ca.pem
target: /usr/share/wazuh-dashboard/certs/root-ca.pem
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/opensearch_dashboards.yml
target: /usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/wazuh.yml
target: /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
type: bind
bind:
create_host_path: true
- source: wazuh-dashboard-config
target: /usr/share/wazuh-dashboard/data/wazuh/config
type: volume
volume: {}
- source: wazuh-dashboard-custom
target: /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
type: volume
volume: {}
wazuh-indexer:
container_name: wazuh-indexer
environment:
OPENSEARCH_JAVA_OPTS: -Xms512m -Xmx512m
hostname: wazuh-indexer
image: wazuh/wazuh-indexer:${WAZUH_VERSION}
networks:
default: null
ports:
- mode: ingress
protocol: tcp
published: "9200"
target: 9200
restart: always
ulimits:
memlock:
hard: -1
soft: -1
nofile:
hard: 65536
soft: 65536
volumes:
- source: wazuh-indexer-data
target: /var/lib/wazuh-indexer
type: volume
volume: {}
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/root-ca.pem
target: /usr/share/wazuh-indexer/certs/root-ca.pem
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.indexer-key.pem
target: /usr/share/wazuh-indexer/certs/wazuh.indexer.key
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.indexer.pem
target: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/admin.pem
target: /usr/share/wazuh-indexer/certs/admin.pem
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/admin-key.pem
target: /usr/share/wazuh-indexer/certs/admin-key.pem
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/wazuh.indexer.yml
target: /usr/share/wazuh-indexer/opensearch.yml
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/internal_users.yml
target: /usr/share/wazuh-indexer/opensearch-security/internal_users.yml
type: bind
bind:
create_host_path: true
wazuh-manager:
container_name: wazuh-manager
environment:
INDEXER_URL: https://wazuh.indexer:9200
INDEXER_USERNAME: admin
INDEXER_PASSWORD: ${WAZUH_INDEXER_PASSWORD}
FILEBEAT_SSL_VERIFICATION_MODE: full
SSL_CERTIFICATE_AUTHORITIES: /etc/ssl/root-ca.pem
SSL_CERTIFICATE: /etc/ssl/filebeat.pem
SSL_KEY: /etc/ssl/filebeat.key
API_USERNAME: wazuh-wui
API_PASSWORD: ${WAZUH_API_PASSWORD}
hostname: wazuh-manager
image: wazuh/wazuh-manager:${WAZUH_VERSION}
networks:
default: null
ports:
- mode: ingress
protocol: tcp
published: "1514"
target: 1514
- mode: ingress
protocol: tcp
published: "1515"
target: 1515
- mode: ingress
protocol: udp
published: "514"
target: 514
- mode: ingress
protocol: tcp
published: "55000"
target: 55000
restart: always
ulimits:
memlock:
hard: -1
soft: -1
nofile:
hard: 655360
soft: 655360
volumes:
- source: wazuh_api_configuration
target: /var/ossec/api/configuration
type: volume
volume: {}
- source: wazuh_etc
target: /var/ossec/etc
type: volume
volume: {}
- source: wazuh_logs
target: /var/ossec/logs
type: volume
volume: {}
- source: wazuh_queue
target: /var/ossec/queue
type: volume
volume: {}
- source: wazuh_var_multigroups
target: /var/ossec/var/multigroups
type: volume
volume: {}
- source: wazuh_integrations
target: /var/ossec/integrations
type: volume
volume: {}
- source: wazuh_active_response
target: /var/ossec/active-response/bin
type: volume
volume: {}
- source: wazuh_agentless
target: /var/ossec/agentless
type: volume
volume: {}
- source: wazuh_wodles
target: /var/ossec/wodles
type: volume
volume: {}
- source: filebeat_etc
target: /etc/filebeat
type: volume
volume: {}
- source: filebeat_var
target: /var/lib/filebeat
type: volume
volume: {}
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/root-ca.pem
target: /etc/ssl/root-ca.pem
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.manager.pem
target: /etc/ssl/filebeat.pem
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.manager-key.pem
target: /etc/ssl/filebeat.key
type: bind
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/manager/wazuh_manager.conf
target: /wazuh-config-mount/etc/ossec.conf
type: bind
bind:
create_host_path: true
web-check:
container_name: web-check
image: lissy93/web-check
@@ -7437,8 +6998,12 @@ volumes:
name: influxdb2-config
invidious-postgres:
name: invidious-postgres
invoice_ninja_public:
name: invoice_ninja_public
invoice-ninja_cache:
name: invoice-ninja_cache
invoice-ninja_public:
name: invoice-ninja_public
invoice-ninja_storage:
name: invoice-ninja_storage
jitsi-web-admin-theme:
name: jitsi-web-admin-theme
jitsi-web-admin-upload:
@@ -7447,8 +7012,6 @@ volumes:
name: joplin_data
lldap_data:
name: lldap_data
localai_data:
name: localai_data
mastodon-pg-db:
name: mastodon-pg-db
mongodb_config:
@@ -7465,10 +7028,16 @@ volumes:
name: netbird-letsencrypt
netbox-pg-db:
name: netbox-pg-db
netdata-cache:
name: netdata-cache
netdata-lib:
name: netdata-lib
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer
ollama:
name: ollama
open-webui:
name: open-webui
paperless-ngx-data:
name: paperless-ngx-data
paperless-ngx-media: