Compare commits

...

22 Commits

Author SHA1 Message Date
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 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
4 changed files with 417 additions and 8076 deletions
@@ -180,8 +180,8 @@ jobs:
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}' gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: Cloudflare Setup @ Rinoa' notification_title: 'GITEA: Cloudflare Setup @ Rinoa'
notification_message: 'Cloudflare DNS setup completed successfully.' notification_message: 'Cloudflare DNS setup completed successfully.'
regenerate-readme: regenerate-readme-modified-services:
name: Update README name: Update README & Generate List of Modified Services
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [cloudflare-dns-setup] needs: [cloudflare-dns-setup]
outputs: outputs:
@@ -192,19 +192,20 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Install yq - name: Install yq
uses: dcarbone/install-yq-action@v1 uses: dcarbone/install-yq-action@v1
# - name: Fetch main branch for comparison - name: Fetch main branch for comparison
# run: | run: |
# git fetch origin main:main git fetch origin main:main
# - name: Compare services using yq - name: Compare services using yq
# id: compare-services continue-on-error: true
# run: | id: compare-services
# current_services=$(yq '.services | to_entries' docker-compose.yml) run: |
# git show main:docker-compose.yml > main_compose.yml current_services=$(yq '.services | to_entries' docker-compose.yml)
# main_services=$(yq '.services | to_entries' main_compose.yml) git show main:docker-compose.yml > main_compose.yml
# modified_services_file=$(comm -13 <(echo "$main_services") <(echo "$current_services") > changes_compose.yml) main_services=$(yq '.services | to_entries' main_compose.yml)
# modified_services=${egrep '^ [a-z]' changes.yml | sed -e 's|^ ||g' -e 's|:||g' | sed ':a;N;$!ba;s/\n/ /g'} modified_services_file=$(comm -13 <(echo "$main_services") <(echo "$current_services") > changes_compose.yml)
# echo "Modified services: $modified_services" 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" >> $GITHUB_OUTPUT echo "Modified services: $modified_services"
echo "modified_services=$modified_services" >> $GITHUB_OUTPUT
- name: Generate service list - name: Generate service list
run: | run: |
yq '.services | to_entries | map({"service": .key, "image": .value.image})' docker-compose.yml > services.yml yq '.services | to_entries | map({"service": .key, "image": .value.image})' docker-compose.yml > services.yml
@@ -301,12 +302,12 @@ jobs:
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
if: ${{ steps.detect-modified-services.outputs.modified_services != '' }} if: ${{ steps.regenerate-readme-modified-services.outputs.modified_services != '' }}
continue-on-error: true continue-on-error: true
uses: keatonLiu/docker-compose-remote-action@v1.2 uses: keatonLiu/docker-compose-remote-action@v1.2
with: with:
docker_compose_file: docker-compose.yml docker_compose_file: docker-compose.yml
docker_args: -d --remove-orphans --pull missing --parallel -1 ${{ steps.detect-modified-services.outputs.modified_services }} docker_args: -d --remove-orphans --pull missing --parallel -1 ${{ steps.regenerate-readme-modified-services.outputs.modified_services }}
ssh_user: gitea-deploy ssh_user: gitea-deploy
ssh_host: 192.168.1.254 ssh_host: 192.168.1.254
ssh_host_public_key: ${{ secrets.RINOA_GITEA_PUBLIC_SSH_KEY }} ssh_host_public_key: ${{ secrets.RINOA_GITEA_PUBLIC_SSH_KEY }}
-47
View File
@@ -1,47 +0,0 @@
ports:
- 2283:2283
restart: always
labels:
swag_port: 3000
swag_url: pics.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.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
restart: always
immich-power-tools:
container_name: immich-power-tools
environment:
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
ports:
- 54018:3000
influxdb2:
container_name: influxdb2
environment:
DOCKER_INFLUXDB_INIT_MODE: setup
DOCKER_INFLUXDB_INIT_USERNAME: admin
DOCKER_INFLUXDB_INIT_PASSWORD: ${INFLUXDB2_ADMIN_PASSWORD}
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: /run/secrets/influxdb2-admin-token
DOCKER_INFLUXDB_INIT_ORG: rinoa
DOCKER_INFLUXDB_INIT_BUCKET: rinoa
image: influxdb:2-alpine
labels:
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://influxdb.${MY_TLD}
homepage.icon: influxdb.svg
homepage.description: Scalable datastore for metrics, events, and real-time analytics
ports:
- 8086:8086
+399 -423
View File
@@ -356,6 +356,8 @@ services:
POSTGRES_HOST: bitmagnet-pg-db POSTGRES_HOST: bitmagnet-pg-db
POSTGRES_PASSWORD: ${BITMAGNET_POSTGRESQL_PASSWORD} POSTGRES_PASSWORD: ${BITMAGNET_POSTGRESQL_PASSWORD}
POSTGRES_USER: bitmagnet POSTGRES_USER: bitmagnet
extra_hosts:
- bitmagnet-pg-db:192.168.55.8
image: ghcr.io/bitmagnet-io/bitmagnet:latest image: ghcr.io/bitmagnet-io/bitmagnet:latest
labels: labels:
homepage.group: Downloaders homepage.group: Downloaders
@@ -400,7 +402,6 @@ services:
networks: networks:
bitmagnet: bitmagnet:
ipv4_address: 192.168.55.8 ipv4_address: 192.168.55.8
default: null
restart: unless-stopped restart: unless-stopped
shm_size: 1g shm_size: 1g
volumes: volumes:
@@ -741,58 +742,6 @@ services:
type: bind type: bind
bind: bind:
create_host_path: true 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: dbgate:
container_name: dbgate container_name: dbgate
environment: environment:
@@ -1944,21 +1893,24 @@ services:
swag_proto: http swag_proto: http
swag_port: 2283 swag_port: 2283
swag_url: pics.${MY_TLD} swag_url: pics.${MY_TLD}
swag_server_custom_directive: >- swag_server_custom_directive: |
location /share { location /share {
proxy_pass http://immich-public-proxy:3000; proxy_pass http://immich-public-proxy:3000;
proxy_set_header Host $$host; }
proxy_set_header X-Real-IP $$remote_addr; location /tools {
proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for; proxy_pass http://immich-power-tools:3000;
proxy_set_header X-Forwarded-Proto $$scheme;
} }
swag.uptime-kuma.enabled: true swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://pics.${MY_TLD} swag.uptime-kuma.monitor.url: https://pics.${MY_TLD}
homepage.group: Lifestyle homepage.group: Media Library
homepage.name: Immich homepage.name: Immich
homepage.href: https://pics.${MY_TLD} homepage.href: https://pics.${MY_TLD}
homepage.icon: immich.svg homepage.icon: immich.svg
homepage.description: High performance self-hosted photo and video management solution 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: ports:
- 2283:2283 - 2283:2283
restart: always restart: always
@@ -2023,16 +1975,38 @@ services:
start_period: 10s start_period: 10s
timeout: 5s timeout: 5s
image: alangrainger/immich-public-proxy:latest image: alangrainger/immich-public-proxy:latest
labels:
homepage.group: Lifestyle
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 restart: always
immich-power-tools: immich-power-tools:
container_name: immich-power-tools container_name: immich-power-tools
environment: 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_API_KEY: ${IMMICH_POWER_TOOLS_KEY}
IMMICH_URL: http://immich-server:2283 IMMICH_URL: http://immich-server:2283
EXTERNAL_IMMICH_URL: https://pics.trez.wtf
image: ghcr.io/varun-raj/immich-power-tools:latest image: ghcr.io/varun-raj/immich-power-tools:latest
labels:
homepage.group: Lifestyle
homepage.name: Immich Public Proxy
homepage.href: https://pics.${MY_TLD}/tools
homepage.icon: sh-immich-power-tools.png
homepage.description: Tools for Immich
ports: ports:
- 54018:3000 - 54018:3000
restart: unless-stopped
influxdb2: influxdb2:
container_name: influxdb2 container_name: influxdb2
environment: environment:
@@ -2057,6 +2031,7 @@ services:
homepage.description: Scalable datastore for metrics, events, and real-time analytics homepage.description: Scalable datastore for metrics, events, and real-time analytics
ports: ports:
- 8086:8086 - 8086:8086
restart: unless-stopped
volumes: volumes:
- influxdb2-data:/var/lib/influxdb2 - influxdb2-data:/var/lib/influxdb2
- influxdb2-config:/etc/influxdb2 - influxdb2-config:/etc/influxdb2
@@ -2135,8 +2110,8 @@ services:
type: bind type: bind
bind: bind:
create_host_path: true create_host_path: true
invoice_ninja: invoice-ninja:
container_name: invoice_ninja container_name: invoice-ninja
depends_on: depends_on:
mariadb: mariadb:
condition: service_started condition: service_started
@@ -2172,7 +2147,7 @@ services:
TRUSTED_PROXIES: 172.18.0.0/16 TRUSTED_PROXIES: 172.18.0.0/16
expose: expose:
- 9000 - 9000
image: invoiceninja/invoiceninja:5 image: invoiceninja/invoiceninja-debian:5
networks: networks:
default: null default: null
ports: ports:
@@ -2182,32 +2157,17 @@ services:
target: 8003 target: 8003
restart: always restart: always
volumes: volumes:
- source: ${DOCKER_VOLUME_CONFIG}/invoice-ninja/app/public - ${DOCKER_VOLUME_CONFIG}/invoice-ninja/invoice-ninja.env:/var/www/html/.env
target: /var/www/app/public - invoice-ninja_cache:/var/www/html/bootstrap/cache
type: bind - invoice-ninja_public:/var/www/html/public
bind: - invoice-ninja_storage:/var/www/html/storage
create_host_path: true invoice-ninja_proxy:
- source: ${DOCKER_VOLUME_CONFIG}/invoice-ninja/app/storage container_name: invoice-ninja_proxy
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
depends_on: depends_on:
invoice_ninja: invoice-ninja:
condition: service_started condition: service_started
required: true required: true
restart: true
environment: environment:
APP_DEBUG: true APP_DEBUG: true
APP_KEY: ${IN_APP_KEY} APP_KEY: ${IN_APP_KEY}
@@ -3087,66 +3047,6 @@ services:
type: bind type: bind
bind: bind:
create_host_path: true 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: maloja:
container_name: maloja container_name: maloja
environment: environment:
@@ -3668,6 +3568,50 @@ services:
target: /var/lib/postgresql/data target: /var/lib/postgresql/data
type: volume type: volume
volume: {} volume: {}
netdata:
cap_add:
- SYS_PTRACE
- SYS_ADMIN
container_name: netdata
depends_on:
docker-socket-proxy:
condition: service_started
required: true
environment:
DOCKER_HOST: tcp://dockerproxy:2375
image: netdata/netdata:stable
labels:
homepage.group: Infrastructure/App Monitoring
homepage.name: Netdata
homepage.href: https://netdata.${MY_TLD}
homepage.icon: netdata.svg
homepage.description: Real-time monitoring/observcability platform
homepage.widget.type: netdata
homepage.widget.url: http://netdata:19999
swag: enable
swag_port: 19999
swag_proto: http
swag_url: netdata.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://netdata.${MY_TLD}
pid: host
ports:
- 19999:19999
restart: unless-stopped
security_opt:
- apparmor:unconfined
volumes:
- ${DOCKER_VOLUME_CONFIG}/netdata:/etc/netdata
- netdata-lib:/var/lib/netdata
- netdata-cache:/var/cache/netdata
- /:/host/root:ro,rslave
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /etc/localtime:/etc/localtime:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/os-release:/host/etc/os-release:ro
- /var/log:/host/var/log:ro
nextcloud: nextcloud:
container_name: nextcloud-aio-mastercontainer container_name: nextcloud-aio-mastercontainer
environment: environment:
@@ -3700,19 +3644,11 @@ services:
ollama: ollama:
container_name: ollama container_name: ollama
image: ollama/ollama image: ollama/ollama
networks:
default: null
ports: ports:
- mode: ingress - 11434:11434
protocol: tcp restart: unless-stopped
published: "11434"
target: 11434
restart: always
volumes: volumes:
- source: ollama - ollama:/root/.ollama
target: /root/.ollama
type: volume
volume: {}
ombi: ombi:
container_name: ombi container_name: ombi
environment: environment:
@@ -3757,6 +3693,34 @@ services:
source: /rinoa-storage source: /rinoa-storage
target: /storage target: /storage
type: bind type: bind
open-webui:
container_name: open-webui
depends_on:
ollama:
condition: service_started
required: true
restart: true
environment:
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: paperless-ngx:
container_name: paperless-ngx container_name: paperless-ngx
depends_on: depends_on:
@@ -3965,6 +3929,10 @@ services:
homepage.href: https://portainer.${MY_TLD} homepage.href: https://portainer.${MY_TLD}
homepage.icon: portainer.svg homepage.icon: portainer.svg
homepage.description: Service delivery platform for containerized applications 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 restart: unless-stopped
volumes: volumes:
- portainer-data:/data - portainer-data:/data
@@ -6629,267 +6597,267 @@ services:
source: /var/run/docker.sock source: /var/run/docker.sock
target: /var/run/docker.sock target: /var/run/docker.sock
type: bind type: bind
wazuh-agent: # wazuh-agent:
container_name: wazuh.agent # container_name: wazuh.agent
environment: # environment:
JOIN_MANAGER_PROTOCOL: https # JOIN_MANAGER_PROTOCOL: https
JOIN_MANAGER_MASTER_HOST: wazuh.manager # JOIN_MANAGER_MASTER_HOST: wazuh.manager
JOIN_MANAGER_WORKER_HOST: wazuh.manager # JOIN_MANAGER_WORKER_HOST: wazuh.manager
JOIN_MANAGER_USER: wazuh-wui # JOIN_MANAGER_USER: wazuh-wui
JOIN_MANAGER_PASSWORD: ${WAZUH_API_PASSWORD} # JOIN_MANAGER_PASSWORD: ${WAZUH_API_PASSWORD}
JOIN_MANAGER_API_PORT: 55000 # JOIN_MANAGER_API_PORT: 55000
JOIN_MANAGER_PORT: 1514 # JOIN_MANAGER_PORT: 1514
VIRUS_TOTAL_KEY: ${VIRUS_TOTAL_API_KEY} # VIRUS_TOTAL_KEY: ${VIRUS_TOTAL_API_KEY}
DOCKER_HOST: tcp://dockerproxy:2375 # DOCKER_HOST: tcp://dockerproxy:2375
hostname: wazuh.agent # hostname: wazuh.agent
image: kennyopennix/wazuh-agent:latest # image: kennyopennix/wazuh-agent:latest
networks: # networks:
default: null # default: null
restart: unless-stopped # restart: unless-stopped
wazuh-dashboard: # wazuh-dashboard:
container_name: wazuh-dashboard # container_name: wazuh-dashboard
depends_on: # depends_on:
wazuh-indexer: # wazuh-indexer:
condition: service_started # condition: service_started
required: true # required: true
wazuh-manager: # wazuh-manager:
condition: service_started # condition: service_started
required: true # required: true
restart: true # restart: true
environment: # environment:
INDEXER_USERNAME: admin # INDEXER_USERNAME: admin
INDEXER_PASSWORD: ${WAZUH_INDEXER_PASSWORD} # INDEXER_PASSWORD: ${WAZUH_INDEXER_PASSWORD}
WAZUH_API_URL: https://wazuh.manager # WAZUH_API_URL: https://wazuh.manager
DASHBOARD_USERNAME: kibanaserver # DASHBOARD_USERNAME: kibanaserver
DASHBOARD_PASSWORD: ${WAZUH_KIBANA_PASSWORD} # DASHBOARD_PASSWORD: ${WAZUH_KIBANA_PASSWORD}
API_USERNAME: wazuh-wui # API_USERNAME: wazuh-wui
API_PASSWORD: ${WAZUH_API_PASSWORD} # API_PASSWORD: ${WAZUH_API_PASSWORD}
hostname: wazuh-dashboard # hostname: wazuh-dashboard
image: wazuh/wazuh-dashboard:${WAZUH_VERSION} # image: wazuh/wazuh-dashboard:${WAZUH_VERSION}
labels: # labels:
swag: enable # swag: enable
swag_proto: https # swag_proto: https
swag_port: 5601 # swag_port: 5601
swag_url: wsec.${MY_TLD} # swag_url: wsec.${MY_TLD}
swag.uptime-kuma.enabled: true # swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://wsec.${MY_TLD} # swag.uptime-kuma.monitor.url: https://wsec.${MY_TLD}
homepage.group: Privacy/Security # homepage.group: Privacy/Security
homepage.name: Wazuh # homepage.name: Wazuh
homepage.href: https://wsec.${MY_TLD} # homepage.href: https://wsec.${MY_TLD}
homepage.icon: wazuh.svg # homepage.icon: wazuh.svg
homepage.description: OSS Security Platform for XDR/SIEM # homepage.description: OSS Security Platform for XDR/SIEM
links: # links:
- wazuh-indexer:wazuh-indexer # - wazuh-indexer:wazuh-indexer
- wazuh-manager:wazuh-manager # - wazuh-manager:wazuh-manager
networks: # networks:
default: null # default: null
ports: # ports:
- mode: ingress # - mode: ingress
protocol: tcp # protocol: tcp
published: "5601" # published: "5601"
target: 5601 # target: 5601
restart: always # restart: always
volumes: # volumes:
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.dashboard.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.dashboard.pem
target: /usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem # target: /usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.dashboard-key.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.dashboard-key.pem
target: /usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem # target: /usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/root-ca.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/root-ca.pem
target: /usr/share/wazuh-dashboard/certs/root-ca.pem # target: /usr/share/wazuh-dashboard/certs/root-ca.pem
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/opensearch_dashboards.yml # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/opensearch_dashboards.yml
target: /usr/share/wazuh-dashboard/config/opensearch_dashboards.yml # target: /usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/wazuh.yml # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/wazuh.yml
target: /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml # target: /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: wazuh-dashboard-config # - source: wazuh-dashboard-config
target: /usr/share/wazuh-dashboard/data/wazuh/config # target: /usr/share/wazuh-dashboard/data/wazuh/config
type: volume # type: volume
volume: {} # volume: {}
- source: wazuh-dashboard-custom # - source: wazuh-dashboard-custom
target: /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom # target: /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
type: volume # type: volume
volume: {} # volume: {}
wazuh-indexer: # wazuh-indexer:
container_name: wazuh-indexer # container_name: wazuh-indexer
environment: # environment:
OPENSEARCH_JAVA_OPTS: -Xms512m -Xmx512m # OPENSEARCH_JAVA_OPTS: -Xms512m -Xmx512m
hostname: wazuh-indexer # hostname: wazuh-indexer
image: wazuh/wazuh-indexer:${WAZUH_VERSION} # image: wazuh/wazuh-indexer:${WAZUH_VERSION}
networks: # networks:
default: null # default: null
ports: # ports:
- mode: ingress # - mode: ingress
protocol: tcp # protocol: tcp
published: "9200" # published: "9200"
target: 9200 # target: 9200
restart: always # restart: always
ulimits: # ulimits:
memlock: # memlock:
hard: -1 # hard: -1
soft: -1 # soft: -1
nofile: # nofile:
hard: 65536 # hard: 65536
soft: 65536 # soft: 65536
volumes: # volumes:
- source: wazuh-indexer-data # - source: wazuh-indexer-data
target: /var/lib/wazuh-indexer # target: /var/lib/wazuh-indexer
type: volume # type: volume
volume: {} # volume: {}
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/root-ca.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/root-ca.pem
target: /usr/share/wazuh-indexer/certs/root-ca.pem # target: /usr/share/wazuh-indexer/certs/root-ca.pem
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.indexer-key.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.indexer-key.pem
target: /usr/share/wazuh-indexer/certs/wazuh.indexer.key # target: /usr/share/wazuh-indexer/certs/wazuh.indexer.key
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.indexer.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.indexer.pem
target: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem # target: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/admin.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/admin.pem
target: /usr/share/wazuh-indexer/certs/admin.pem # target: /usr/share/wazuh-indexer/certs/admin.pem
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/admin-key.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/admin-key.pem
target: /usr/share/wazuh-indexer/certs/admin-key.pem # target: /usr/share/wazuh-indexer/certs/admin-key.pem
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/wazuh.indexer.yml # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/wazuh.indexer.yml
target: /usr/share/wazuh-indexer/opensearch.yml # target: /usr/share/wazuh-indexer/opensearch.yml
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/internal_users.yml # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/internal_users.yml
target: /usr/share/wazuh-indexer/opensearch-security/internal_users.yml # target: /usr/share/wazuh-indexer/opensearch-security/internal_users.yml
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
wazuh-manager: # wazuh-manager:
container_name: wazuh-manager # container_name: wazuh-manager
environment: # environment:
INDEXER_URL: https://wazuh.indexer:9200 # INDEXER_URL: https://wazuh.indexer:9200
INDEXER_USERNAME: admin # INDEXER_USERNAME: admin
INDEXER_PASSWORD: ${WAZUH_INDEXER_PASSWORD} # INDEXER_PASSWORD: ${WAZUH_INDEXER_PASSWORD}
FILEBEAT_SSL_VERIFICATION_MODE: full # FILEBEAT_SSL_VERIFICATION_MODE: full
SSL_CERTIFICATE_AUTHORITIES: /etc/ssl/root-ca.pem # SSL_CERTIFICATE_AUTHORITIES: /etc/ssl/root-ca.pem
SSL_CERTIFICATE: /etc/ssl/filebeat.pem # SSL_CERTIFICATE: /etc/ssl/filebeat.pem
SSL_KEY: /etc/ssl/filebeat.key # SSL_KEY: /etc/ssl/filebeat.key
API_USERNAME: wazuh-wui # API_USERNAME: wazuh-wui
API_PASSWORD: ${WAZUH_API_PASSWORD} # API_PASSWORD: ${WAZUH_API_PASSWORD}
hostname: wazuh-manager # hostname: wazuh-manager
image: wazuh/wazuh-manager:${WAZUH_VERSION} # image: wazuh/wazuh-manager:${WAZUH_VERSION}
networks: # networks:
default: null # default: null
ports: # ports:
- mode: ingress # - mode: ingress
protocol: tcp # protocol: tcp
published: "1514" # published: "1514"
target: 1514 # target: 1514
- mode: ingress # - mode: ingress
protocol: tcp # protocol: tcp
published: "1515" # published: "1515"
target: 1515 # target: 1515
- mode: ingress # - mode: ingress
protocol: udp # protocol: udp
published: "514" # published: "514"
target: 514 # target: 514
- mode: ingress # - mode: ingress
protocol: tcp # protocol: tcp
published: "55000" # published: "55000"
target: 55000 # target: 55000
restart: always # restart: always
ulimits: # ulimits:
memlock: # memlock:
hard: -1 # hard: -1
soft: -1 # soft: -1
nofile: # nofile:
hard: 655360 # hard: 655360
soft: 655360 # soft: 655360
volumes: # volumes:
- source: wazuh_api_configuration # - source: wazuh_api_configuration
target: /var/ossec/api/configuration # target: /var/ossec/api/configuration
type: volume # type: volume
volume: {} # volume: {}
- source: wazuh_etc # - source: wazuh_etc
target: /var/ossec/etc # target: /var/ossec/etc
type: volume # type: volume
volume: {} # volume: {}
- source: wazuh_logs # - source: wazuh_logs
target: /var/ossec/logs # target: /var/ossec/logs
type: volume # type: volume
volume: {} # volume: {}
- source: wazuh_queue # - source: wazuh_queue
target: /var/ossec/queue # target: /var/ossec/queue
type: volume # type: volume
volume: {} # volume: {}
- source: wazuh_var_multigroups # - source: wazuh_var_multigroups
target: /var/ossec/var/multigroups # target: /var/ossec/var/multigroups
type: volume # type: volume
volume: {} # volume: {}
- source: wazuh_integrations # - source: wazuh_integrations
target: /var/ossec/integrations # target: /var/ossec/integrations
type: volume # type: volume
volume: {} # volume: {}
- source: wazuh_active_response # - source: wazuh_active_response
target: /var/ossec/active-response/bin # target: /var/ossec/active-response/bin
type: volume # type: volume
volume: {} # volume: {}
- source: wazuh_agentless # - source: wazuh_agentless
target: /var/ossec/agentless # target: /var/ossec/agentless
type: volume # type: volume
volume: {} # volume: {}
- source: wazuh_wodles # - source: wazuh_wodles
target: /var/ossec/wodles # target: /var/ossec/wodles
type: volume # type: volume
volume: {} # volume: {}
- source: filebeat_etc # - source: filebeat_etc
target: /etc/filebeat # target: /etc/filebeat
type: volume # type: volume
volume: {} # volume: {}
- source: filebeat_var # - source: filebeat_var
target: /var/lib/filebeat # target: /var/lib/filebeat
type: volume # type: volume
volume: {} # volume: {}
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/root-ca.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/root-ca.pem
target: /etc/ssl/root-ca.pem # target: /etc/ssl/root-ca.pem
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.manager.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.manager.pem
target: /etc/ssl/filebeat.pem # target: /etc/ssl/filebeat.pem
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.manager-key.pem # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/generator/wazuh.manager-key.pem
target: /etc/ssl/filebeat.key # target: /etc/ssl/filebeat.key
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/wazuh/manager/wazuh_manager.conf # - source: ${DOCKER_VOLUME_CONFIG}/wazuh/manager/wazuh_manager.conf
target: /wazuh-config-mount/etc/ossec.conf # target: /wazuh-config-mount/etc/ossec.conf
type: bind # type: bind
bind: # bind:
create_host_path: true # create_host_path: true
web-check: web-check:
container_name: web-check container_name: web-check
image: lissy93/web-check image: lissy93/web-check
@@ -7445,8 +7413,12 @@ volumes:
name: influxdb2-config name: influxdb2-config
invidious-postgres: invidious-postgres:
name: invidious-postgres name: invidious-postgres
invoice_ninja_public: invoice-ninja_cache:
name: invoice_ninja_public name: invoice-ninja_cache
invoice-ninja_public:
name: invoice-ninja_public
invoice-ninja_storage:
name: invoice-ninja_storage
jitsi-web-admin-theme: jitsi-web-admin-theme:
name: jitsi-web-admin-theme name: jitsi-web-admin-theme
jitsi-web-admin-upload: jitsi-web-admin-upload:
@@ -7455,8 +7427,6 @@ volumes:
name: joplin_data name: joplin_data
lldap_data: lldap_data:
name: lldap_data name: lldap_data
localai_data:
name: localai_data
mastodon-pg-db: mastodon-pg-db:
name: mastodon-pg-db name: mastodon-pg-db
mongodb_config: mongodb_config:
@@ -7473,10 +7443,16 @@ volumes:
name: netbird-letsencrypt name: netbird-letsencrypt
netbox-pg-db: netbox-pg-db:
name: netbox-pg-db name: netbox-pg-db
netdata-cache:
name: netdata-cache
netdata-lib:
name: netdata-lib
nextcloud_aio_mastercontainer: nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer name: nextcloud_aio_mastercontainer
ollama: ollama:
name: ollama name: ollama
open-webui:
name: open-webui
paperless-ngx-data: paperless-ngx-data:
name: paperless-ngx-data name: paperless-ngx-data
paperless-ngx-media: paperless-ngx-media:
-7589
View File
File diff suppressed because it is too large Load Diff