Compare commits
43 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2ee2c254ba | |||
| 8de441cc7c | |||
| 3ceba4cd90 | |||
| 621999eb2b | |||
| 2870d94259 | |||
| 29b1026a07 | |||
| 88380a3769 | |||
| fbbdbb2888 | |||
| a75cc150e5 | |||
| 1940785bbd | |||
| f3b8170790 | |||
| 5479724535 | |||
| b8cad2af5e | |||
| 0d405dac52 | |||
| 647361963b | |||
| 6dc6ba2531 | |||
| 1918d96819 | |||
| 2af3ea0a32 | |||
| efd0c15115 | |||
| 48008fa6c7 | |||
| 84a5d7c0df | |||
| 0c97cd8ace | |||
| 7c5d9561bb | |||
| 53c45f5c4d | |||
| 672c39c10a | |||
| 2550447b0f | |||
| 427ed55a88 | |||
| 1901f18792 | |||
| 8fcc4e6d52 | |||
| 2c3de2d06a | |||
| 39055a7ed1 | |||
| eeef1e1dec | |||
| 41401abc5f | |||
| 3c9bf8165b | |||
| 3723b0ef01 | |||
| af17e3968d | |||
| a38938b2e7 | |||
| caa0479294 | |||
| 5479b52e25 | |||
| cb43b96b73 | |||
| 66afa1519d | |||
| 39243da7d2 | |||
| 86f7063119 |
@@ -311,6 +311,12 @@ jobs:
|
|||||||
version: "11.0.0"
|
version: "11.0.0"
|
||||||
- name: Install Vault
|
- name: Install Vault
|
||||||
uses: cpanato/vault-installer@main
|
uses: cpanato/vault-installer@main
|
||||||
|
- name: Login to Gitea Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: http://192.168.1.254:3013
|
||||||
|
username: gitea-sonarqube-bot
|
||||||
|
password: ${{ secrets.BOT_GITEA_TOKEN }}
|
||||||
- name: Install hvac
|
- name: Install hvac
|
||||||
run: pip install hvac
|
run: pip install hvac
|
||||||
- name: Gotify Notification
|
- name: Gotify Notification
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
name: Auto-Unseal for Vault
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "30 2 * * *"
|
||||||
|
jobs:
|
||||||
|
auto-unseal:
|
||||||
|
name: Unseal Vault
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
|
||||||
|
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
|
||||||
|
VAULT_SHARDS: |
|
||||||
|
${{ secrets.VAULT_UNSEAL_SHARDS }}
|
||||||
|
VAULT_NAMESPACE: ""
|
||||||
|
steps:
|
||||||
|
- name: Cache Vault install
|
||||||
|
id: cache-vault
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: /opt/hostedtoolcache/vault/1.18.0/x64
|
||||||
|
key: vault-${{ runner.os }}-1.18.0
|
||||||
|
- name: Install Vault
|
||||||
|
uses: cpanato/vault-installer@main
|
||||||
|
- name: Unseal Vault
|
||||||
|
run: |
|
||||||
|
for vault_shard in $(cat ${VAULT_SHARDS}); do
|
||||||
|
vault operator unseal -address=${VAULT_ADDR} -non-interactive "${vault_shard}"
|
||||||
|
done
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
| graylog-datanode | graylog/graylog-datanode:6.1 |
|
| graylog-datanode | graylog/graylog-datanode:6.1 |
|
||||||
| guacamole | flcontainers/guacamole:latest |
|
| guacamole | flcontainers/guacamole:latest |
|
||||||
| homepage | ghcr.io/gethomepage/homepage:latest |
|
| homepage | ghcr.io/gethomepage/homepage:latest |
|
||||||
| hugo | hugomods/hugo:exts |
|
| hugo | hugomods/hugo:exts-0.145.0 |
|
||||||
| immich-server | ghcr.io/immich-app/immich-server:release |
|
| immich-server | ghcr.io/immich-app/immich-server:release |
|
||||||
| immich-machine-learning | ghcr.io/immich-app/immich-machine-learning:release |
|
| immich-machine-learning | ghcr.io/immich-app/immich-machine-learning:release |
|
||||||
| immich-pg-db | tensorchord/pgvecto-rs:pg14-v0.2.1 |
|
| immich-pg-db | tensorchord/pgvecto-rs:pg14-v0.2.1 |
|
||||||
@@ -97,6 +97,7 @@
|
|||||||
| nextcloud | nextcloud/all-in-one:latest |
|
| nextcloud | nextcloud/all-in-one:latest |
|
||||||
| ollama | ollama/ollama |
|
| ollama | ollama/ollama |
|
||||||
| ombi | lscr.io/linuxserver/ombi:latest |
|
| ombi | lscr.io/linuxserver/ombi:latest |
|
||||||
|
| omni-tools | iib0011/omni-tools:latest |
|
||||||
| paperless-ngx | ghcr.io/paperless-ngx/paperless-ngx:latest |
|
| paperless-ngx | ghcr.io/paperless-ngx/paperless-ngx:latest |
|
||||||
| pgbackweb | eduardolat/pgbackweb:latest |
|
| pgbackweb | eduardolat/pgbackweb:latest |
|
||||||
| pgbackweb-db | postgres:16-alpine |
|
| pgbackweb-db | postgres:16-alpine |
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
{% set vault_addr = 'https://vault.trez.wtf' %}
|
||||||
|
{% set secrets_path = 'rinoa-docker/env' %}
|
||||||
|
|
||||||
urls:
|
urls:
|
||||||
- gotify://gotify/{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['APPRISE_GOTIFY_TOKEN'] }}
|
- gotify://gotify/{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['APPRISE_GOTIFY_TOKEN'] }}
|
||||||
- mailtos://{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_SMTP_AUTH_USER'] }}:{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_SMTP_AUTH_PASSWORD'] }}@trez.wtf25?smtp=postal-smtp&from=noreply@trez.wtf
|
- mailtos://{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_SMTP_AUTH_USER'] }}:{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_SMTP_AUTH_PASSWORD'] }}@trez.wtf25?smtp=postal-smtp&from=noreply@trez.wtf
|
||||||
@@ -7,13 +7,14 @@
|
|||||||
"client": "mysql",
|
"client": "mysql",
|
||||||
"connection": {
|
"connection": {
|
||||||
"host" : "mariadb",
|
"host" : "mariadb",
|
||||||
|
"port" : 3306,
|
||||||
"user" : "ghost",
|
"user" : "ghost",
|
||||||
"password" : "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GHOST_DB_PASSWORD'] }}",
|
"password" : "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GHOST_DB_PASSWORD'] }}",
|
||||||
"database" : "ghost_db"
|
"database" : "ghost_db"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mail": {
|
"mail": {
|
||||||
"from": "'Ghost @ Rinoa' <noreply@trez.wtf>"
|
"from": "'Ghost @ Rinoa' <noreply@trez.wtf>",
|
||||||
"transport": "SMTP",
|
"transport": "SMTP",
|
||||||
"options": {
|
"options": {
|
||||||
"host": "postal-smtp",
|
"host": "postal-smtp",
|
||||||
|
|||||||
@@ -1,8 +1,18 @@
|
|||||||
|
{% set vault_addr = 'https://vault.trez.wtf' %}
|
||||||
|
{% set secrets_path = 'rinoa-docker/env' %}
|
||||||
|
|
||||||
containers:
|
containers:
|
||||||
|
ghost_blog:
|
||||||
|
action_keywords:
|
||||||
|
- restart:
|
||||||
|
regex: ':[0-9]{2}\] ERROR.*$'
|
||||||
immich-server:
|
immich-server:
|
||||||
action_keywords:
|
action_keywords:
|
||||||
- restart:
|
- restart:
|
||||||
regex: 'ADVICE:.*error'
|
regex: 'ADVICE:.*error'
|
||||||
|
invidious:
|
||||||
|
keywords:
|
||||||
|
- regex: 'Error reading.*Connection reset by peer trying to reconnect...'
|
||||||
global_keywords:
|
global_keywords:
|
||||||
keywords:
|
keywords:
|
||||||
- panic
|
- panic
|
||||||
|
|||||||
@@ -33,9 +33,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type:": "lastfm",
|
"type": "lastfm",
|
||||||
"name": "lastfm",
|
|
||||||
"enable": true,
|
"enable": true,
|
||||||
|
"clients": [],
|
||||||
|
"name": "lastfm",
|
||||||
"data": {
|
"data": {
|
||||||
"apiKey": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_KEY'] }}",
|
"apiKey": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_KEY'] }}",
|
||||||
"secret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_SECRET'] }}",
|
"secret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_SECRET'] }}",
|
||||||
@@ -44,8 +45,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "listenbrainz",
|
"type": "listenbrainz",
|
||||||
"name": "listenBrainz",
|
|
||||||
"enable": true,
|
"enable": true,
|
||||||
|
"clients": [],
|
||||||
|
"name": "listenBrainz",
|
||||||
"data": {
|
"data": {
|
||||||
"token": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MALOJA_LISTENBRAINZ_TOKEN'] }}",
|
"token": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MALOJA_LISTENBRAINZ_TOKEN'] }}",
|
||||||
"username": "Trez.One"
|
"username": "Trez.One"
|
||||||
@@ -53,8 +55,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "subsonic",
|
"type": "subsonic",
|
||||||
"name": "navidrome",
|
|
||||||
"enable": true,
|
"enable": true,
|
||||||
|
"clients": [],
|
||||||
|
"name": "navidrome",
|
||||||
"data": {
|
"data": {
|
||||||
"url": "http://navidrome:4533",
|
"url": "http://navidrome:4533",
|
||||||
"user": "admin",
|
"user": "admin",
|
||||||
@@ -65,8 +68,8 @@
|
|||||||
"clients": [
|
"clients": [
|
||||||
{
|
{
|
||||||
"type": "lastfm",
|
"type": "lastfm",
|
||||||
"name": "lastFmClient",
|
|
||||||
"enable": true,
|
"enable": true,
|
||||||
|
"name": "lastFmClient",
|
||||||
"data": {
|
"data": {
|
||||||
"apiKey": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_KEY'] }}",
|
"apiKey": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_KEY'] }}",
|
||||||
"secret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_SECRET'] }}",
|
"secret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_SECRET'] }}",
|
||||||
@@ -75,8 +78,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "listenbrainz",
|
"type": "listenbrainz",
|
||||||
"name": ";istenBrainzClient",
|
|
||||||
"enable": true,
|
"enable": true,
|
||||||
|
"name": "ListenBrainzClient",
|
||||||
"data": {
|
"data": {
|
||||||
"token": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MALOJA_LISTENBRAINZ_TOKEN'] }}",
|
"token": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MALOJA_LISTENBRAINZ_TOKEN'] }}",
|
||||||
"username": "Trez.One"
|
"username": "Trez.One"
|
||||||
|
|||||||
@@ -211,11 +211,13 @@ outgoing:
|
|||||||
|
|
||||||
# Comment or un-comment plugin to activate / deactivate by default.
|
# Comment or un-comment plugin to activate / deactivate by default.
|
||||||
#
|
#
|
||||||
# enabled_plugins:
|
enabled_plugins:
|
||||||
# # these plugins are enabled if nothing is configured ..
|
# # these plugins are enabled if nothing is configured ..
|
||||||
# - 'Hash plugin'
|
- 'Hash plugin'
|
||||||
# - 'Self Information'
|
- 'Self Information'
|
||||||
# - 'Tracker URL remover'
|
- 'Tracker URL remover'
|
||||||
|
- 'Basic Calculator'
|
||||||
|
- 'Unit converter plugin'
|
||||||
# - 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy
|
# - 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy
|
||||||
# # these plugins are disabled if nothing is configured ..
|
# # these plugins are disabled if nothing is configured ..
|
||||||
# - 'Hostname replace' # see hostname_replace configuration below
|
# - 'Hostname replace' # see hostname_replace configuration below
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
vault_addr: "https://vault.trez.wtf"
|
vault_addr: "https://vault.trez.wtf"
|
||||||
vault_token: !vault |
|
vault_token: !vault |
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
61383638616263666539386332333638356662623166393234383666366265346537353533653833
|
64633862363730303434663261343764323731376539646264333339303234333733306234616462
|
||||||
3333313230636166663734356261316132393834613737630a386166376365333862383031343838
|
6634333934373065633632376165636432346330396538330a626633666365353362656139643362
|
||||||
35346338633530636463643165623432353466363230646239656463333263373738663639313136
|
38636133326633316339346237326438626538613433656364333132333630366135663836396131
|
||||||
3966633235393937350a343337613061616238323238386332363635623932333230323037353136
|
6132316130623936660a353432653864366539616433356537386633633437626133313262353363
|
||||||
66616561613038656462636565656361613065373238613862386235623265396133633034326563
|
65356538666366393934316231313037393061373763313164643331396331326533613132303531
|
||||||
32663532343137366334366630356232313865666661326337326263613262306637663434646639
|
39623836313031343034353163353339653330623139663266303836643632323237353335303361
|
||||||
61623030383963623332333135396363643036646461303438643233313136346139343232353535
|
66353833643564653666323835613863313232626538626163333231306461393535376338646633
|
||||||
39356432623161333661333266333937626364643964333839333934306364373234653761326638
|
64303965653730313565613735386230616137393034613437353261333737313236386530383163
|
||||||
33396534396163373034666164393039303639643431353662666265666264353062
|
65393238623237616135356361353836343532396137323734346136313466663036
|
||||||
vault_token_cleaned: "{{ vault_token | regex_replace('\\n', '') }}"
|
vault_token_cleaned: "{{ vault_token | regex_replace('\\n', '') }}"
|
||||||
secrets_path: "rinoa-docker/env"
|
secrets_path: "rinoa-docker/env"
|
||||||
|
|||||||
+762
-88
@@ -12,6 +12,74 @@ networks:
|
|||||||
name: compose_default
|
name: compose_default
|
||||||
nextcloud-aio:
|
nextcloud-aio:
|
||||||
external: true
|
external: true
|
||||||
|
x-app-common: &jitsi_admin_app
|
||||||
|
image: h2invent/jitsi-admin-main:latest
|
||||||
|
#build: .
|
||||||
|
environment:
|
||||||
|
APACHE_DOCUMENT_ROOT: "public/"
|
||||||
|
PHP_EXTENSION_XDEBUG: "1"
|
||||||
|
PHP_INI_MEMORY_LIMIT: "1G"
|
||||||
|
PHP_EXTENSION_LDAP: 1
|
||||||
|
PHP_EXTENSION_INTL: 1
|
||||||
|
x-shared:
|
||||||
|
zammad-service: &zammad-service
|
||||||
|
environment: &zammad-environment
|
||||||
|
MEMCACHE_SERVERS: ${ZAMMAD_MEMCACHE_SERVERS:-zammad-memcached:11211}
|
||||||
|
POSTGRESQL_DB: ${ZAMMAD_POSTGRES_DB:-zammad_production}
|
||||||
|
POSTGRESQL_HOST: ${ZAMMAD_POSTGRES_HOST:-zammad-postgresql}
|
||||||
|
POSTGRESQL_USER: ${ZAMMAD_POSTGRES_USER:-zammad}
|
||||||
|
POSTGRESQL_PASS: ${ZAMMAD_POSTGRES_PASS:-zammad}
|
||||||
|
POSTGRESQL_PORT: ${ZAMMAD_POSTGRES_PORT:-5432}
|
||||||
|
POSTGRESQL_OPTIONS: ${ZAMMAD_POSTGRESQL_OPTIONS:-?pool=50}
|
||||||
|
POSTGRESQL_DB_CREATE:
|
||||||
|
REDIS_URL: ${ZAMMAD_REDIS_URL:-redis://zammad-redis:6379}
|
||||||
|
S3_URL: http://${ZAMMAD_S3_ACCESS_KEY}:${ZAMMAD_S3_SECRET_KEY}@minio:9000/zammad-storage-bucket?region=us-east-fh-pln&force_path_style=true
|
||||||
|
# Backup settings
|
||||||
|
BACKUP_DIR: "${BACKUP_DIR:-/var/tmp/zammad}"
|
||||||
|
BACKUP_TIME: "${BACKUP_TIME:-03:00}"
|
||||||
|
HOLD_DAYS: "${HOLD_DAYS:-7}"
|
||||||
|
TZ: "${TZ:-Europe/Berlin}"
|
||||||
|
# Allow passing in these variables via .env:
|
||||||
|
AUTOWIZARD_JSON:
|
||||||
|
AUTOWIZARD_RELATIVE_PATH:
|
||||||
|
ELASTICSEARCH_ENABLED: false
|
||||||
|
ELASTICSEARCH_SCHEMA:
|
||||||
|
ELASTICSEARCH_HOST:
|
||||||
|
ELASTICSEARCH_PORT:
|
||||||
|
ELASTICSEARCH_USER: ${ELASTICSEARCH_USER:-elastic}
|
||||||
|
ELASTICSEARCH_PASS: ${ELASTICSEARCH_PASS:-zammad}
|
||||||
|
ELASTICSEARCH_NAMESPACE:
|
||||||
|
ELASTICSEARCH_REINDEX:
|
||||||
|
NGINX_PORT:
|
||||||
|
NGINX_EXPOSE_PORT: 15257
|
||||||
|
NGINX_CLIENT_MAX_BODY_SIZE:
|
||||||
|
NGINX_SERVER_NAME:
|
||||||
|
NGINX_SERVER_SCHEME:
|
||||||
|
RAILS_TRUSTED_PROXIES: 172.18.0.0/16
|
||||||
|
ZAMMAD_HTTP_TYPE:
|
||||||
|
ZAMMAD_FQDN:
|
||||||
|
ZAMMAD_WEB_CONCURRENCY:
|
||||||
|
ZAMMAD_PROCESS_SESSIONS_JOBS_WORKERS:
|
||||||
|
ZAMMAD_PROCESS_SCHEDULED_JOBS_WORKERS:
|
||||||
|
ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS:
|
||||||
|
# ZAMMAD_SESSION_JOBS_CONCURRENT is deprecated, please use ZAMMAD_PROCESS_SESSIONS_JOBS_WORKERS instead.
|
||||||
|
ZAMMAD_SESSION_JOBS_CONCURRENT:
|
||||||
|
# Variables used by ngingx-proxy container for reverse proxy creations
|
||||||
|
# for docs refer to https://github.com/nginx-proxy/nginx-proxy
|
||||||
|
VIRTUAL_HOST:
|
||||||
|
VIRTUAL_PORT:
|
||||||
|
# Variables used by acme-companion for retrieval of LetsEncrypt certificate
|
||||||
|
# for docs refer to https://github.com/nginx-proxy/acme-companion
|
||||||
|
LETSENCRYPT_HOST:
|
||||||
|
LETSENCRYPT_EMAIL:
|
||||||
|
image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-6.5.0-15}
|
||||||
|
restart: ${RESTART:-always}
|
||||||
|
volumes:
|
||||||
|
- zammad-storage:/opt/zammad/storage
|
||||||
|
depends_on:
|
||||||
|
- zammad-memcached
|
||||||
|
- zammad-postgresql
|
||||||
|
- zammad-redis
|
||||||
services:
|
services:
|
||||||
actual_server:
|
actual_server:
|
||||||
container_name: actualbudget
|
container_name: actualbudget
|
||||||
@@ -46,7 +114,6 @@ services:
|
|||||||
container_name: adguard
|
container_name: adguard
|
||||||
environment:
|
environment:
|
||||||
TZ: ${TZ}
|
TZ: ${TZ}
|
||||||
hostname: Rinoa
|
|
||||||
image: adguard/adguardhome:latest
|
image: adguard/adguardhome:latest
|
||||||
labels:
|
labels:
|
||||||
swag: enable
|
swag: enable
|
||||||
@@ -66,19 +133,20 @@ services:
|
|||||||
homepage.widget.password: ${ADGUARD_PASSWORD}
|
homepage.widget.password: ${ADGUARD_PASSWORD}
|
||||||
ports:
|
ports:
|
||||||
- "192.168.1.254:53:53/udp"
|
- "192.168.1.254:53:53/udp"
|
||||||
- 53:53/tcp
|
- "192.168.1.254:53:53/tcp"
|
||||||
- 3001:3000
|
- 3001:3000
|
||||||
- 446:443
|
- "192.168.1.254:446:443/tcp"
|
||||||
- 8008:80
|
- 8008:80
|
||||||
- 853:853
|
- "192.168.1.254:853:853/tcp"
|
||||||
- 67:67
|
- 67:67
|
||||||
- 688:68
|
- 688:68
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
user: 1000:1000
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ${DOCKER_VOLUME_CONFIG}/adguard/work:/opt/adguardhome/work
|
- ${DOCKER_VOLUME_CONFIG}/adguard/work:/opt/adguardhome/work
|
||||||
- ${DOCKER_VOLUME_CONFIG}/adguard/conf:/opt/adguardhome/conf
|
- ${DOCKER_VOLUME_CONFIG}/adguard/conf:/opt/adguardhome/conf
|
||||||
- ${DOCKER_VOLUME_CONFIG}/swag/etc/letsencrypt/:/etc/ssl/certs
|
- ${DOCKER_VOLUME_CONFIG}/swag/etc/letsencrypt/:/opt/adguardhome/certs
|
||||||
apprise-api:
|
apprise-api:
|
||||||
container_name: apprise-api
|
container_name: apprise-api
|
||||||
environment:
|
environment:
|
||||||
@@ -92,7 +160,7 @@ services:
|
|||||||
homepage.group: Infrastructure/App Performance Monitoring
|
homepage.group: Infrastructure/App Performance Monitoring
|
||||||
homepage.name: Apprise
|
homepage.name: Apprise
|
||||||
homepage.icon: apprise.png
|
homepage.icon: apprise.png
|
||||||
homepage.href: https://adgh.${MY_TLD}
|
homepage.href: http://192.168.1.254:54995
|
||||||
homepage.description: Multi-channel notification API
|
homepage.description: Multi-channel notification API
|
||||||
ports:
|
ports:
|
||||||
- 54995:8000
|
- 54995:8000
|
||||||
@@ -1424,7 +1492,7 @@ services:
|
|||||||
- 2368:2368
|
- 2368:2368
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- ${DOCKER_VOLUME_CONFIG}/ghost:/home/ghost
|
- ${DOCKER_VOLUME_CONFIG}/ghost:/var/lib/ghost/content
|
||||||
gitea:
|
gitea:
|
||||||
container_name: gitea
|
container_name: gitea
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -1775,7 +1843,7 @@ services:
|
|||||||
hugo:
|
hugo:
|
||||||
command: hugo server --baseURL "it-services.trez.wtf" --bind 0.0.0.0 --appendPort=false --source=/src/it-services --configDir=/src/it-services/config/ -e production --logLevel debug
|
command: hugo server --baseURL "it-services.trez.wtf" --bind 0.0.0.0 --appendPort=false --source=/src/it-services --configDir=/src/it-services/config/ -e production --logLevel debug
|
||||||
container_name: hugo
|
container_name: hugo
|
||||||
image: hugomods/hugo:exts
|
image: hugomods/hugo:exts-0.145.0
|
||||||
labels:
|
labels:
|
||||||
swag: enable
|
swag: enable
|
||||||
swag_proto: http
|
swag_proto: http
|
||||||
@@ -2119,6 +2187,578 @@ services:
|
|||||||
- ${DOCKER_VOLUME_STORAGE}/Movies:/storage/movies
|
- ${DOCKER_VOLUME_STORAGE}/Movies:/storage/movies
|
||||||
- /etc/localtime:/etc/localtime
|
- /etc/localtime:/etc/localtime
|
||||||
- /usr/share/fonts:/usr/local/share/fonts/custom
|
- /usr/share/fonts:/usr/local/share/fonts/custom
|
||||||
|
jitsi-etherpad:
|
||||||
|
container_name: jitsi-etherpad
|
||||||
|
environment:
|
||||||
|
TITLE: ${JITSI__ETHERPAD_TITLE}
|
||||||
|
DEFAULT_PAD_TEXT: ${JITSI__ETHERPAD_DEFAULT_PAD_TEXT}
|
||||||
|
SKIN_NAME: ${JITSI__ETHERPAD_SKIN_NAME}
|
||||||
|
SKIN_VARIANTS: ${JITSI__ETHERPAD_SKIN_VARIANTS}
|
||||||
|
SUPPRESS_ERRORS_IN_PAD_TEXT: true
|
||||||
|
hostname: etherpad.meet.jitsi
|
||||||
|
image: etherpad/etherpad:1.8.6
|
||||||
|
networks:
|
||||||
|
default: null
|
||||||
|
restart: unless-stopped
|
||||||
|
jitsi-jibri:
|
||||||
|
cap_add:
|
||||||
|
- SYS_ADMIN
|
||||||
|
container_name: jitsi-jibri
|
||||||
|
depends_on:
|
||||||
|
jitsi-jicofo:
|
||||||
|
condition: service_started
|
||||||
|
required: true
|
||||||
|
environment:
|
||||||
|
AUTOSCALER_SIDECAR_KEY_FILE:
|
||||||
|
AUTOSCALER_SIDECAR_KEY_ID:
|
||||||
|
AUTOSCALER_SIDECAR_GROUP_NAME:
|
||||||
|
AUTOSCALER_SIDECAR_HOST_ID:
|
||||||
|
AUTOSCALER_SIDECAR_INSTANCE_ID:
|
||||||
|
AUTOSCALER_SIDECAR_PORT:
|
||||||
|
AUTOSCALER_SIDECAR_REGION:
|
||||||
|
AUTOSCALER_SIDECAR_SHUTDOWN_POLLING_INTERVAL:
|
||||||
|
AUTOSCALER_SIDECAR_STATS_POLLING_INTERVAL:
|
||||||
|
AUTOSCALER_URL:
|
||||||
|
CHROMIUM_FLAGS:
|
||||||
|
DISPLAY: :0
|
||||||
|
ENABLE_STATS_D:
|
||||||
|
JIBRI_WEBHOOK_SUBSCRIBERS:
|
||||||
|
JIBRI_HTTP_API_EXTERNAL_PORT:
|
||||||
|
JIBRI_HTTP_API_INTERNAL_PORT:
|
||||||
|
JIBRI_RECORDING_RESOLUTION:
|
||||||
|
JIBRI_RECORDING_VIDEO_ENCODE_PRESET:
|
||||||
|
JIBRI_RECORDING_CONSTANT_RATE_FACTOR:
|
||||||
|
JIBRI_RECORDING_FRAMERATE:
|
||||||
|
JIBRI_RECORDING_QUEUE_SIZE:
|
||||||
|
JIBRI_RECORDING_STREAMING_MAX_BITRATE:
|
||||||
|
JIBRI_USAGE_TIMEOUT:
|
||||||
|
JIBRI_XMPP_USER:
|
||||||
|
JIBRI_XMPP_PASSWORD: ${JITSI__JIBRI_XMPP_PASSWORD}
|
||||||
|
JIBRI_BREWERY_MUC:
|
||||||
|
JIBRI_RECORDER_USER: jibri-recorder
|
||||||
|
JIBRI_RECORDER_PASSWORD: ${JITSI__JIBRI_RECORDER_PASSWORD}
|
||||||
|
JIBRI_RECORDING_DIR:
|
||||||
|
JIBRI_FINALIZE_RECORDING_SCRIPT_PATH:
|
||||||
|
JIBRI_STRIP_DOMAIN_JID:
|
||||||
|
JIBRI_STATSD_HOST:
|
||||||
|
JIBRI_STATSD_PORT:
|
||||||
|
LOCAL_ADDRESS:
|
||||||
|
PUBLIC_URL: ${JITSI__PUBLIC_URL}
|
||||||
|
TZ: ${TZ}
|
||||||
|
XMPP_AUTH_DOMAIN:
|
||||||
|
XMPP_DOMAIN:
|
||||||
|
XMPP_INTERNAL_MUC_DOMAIN:
|
||||||
|
XMPP_MUC_DOMAIN:
|
||||||
|
XMPP_RECORDER_DOMAIN:
|
||||||
|
XMPP_SERVER:
|
||||||
|
XMPP_PORT:
|
||||||
|
XMPP_TRUST_ALL_CERTS:
|
||||||
|
image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable}
|
||||||
|
networks:
|
||||||
|
default: null
|
||||||
|
restart: unless-stopped
|
||||||
|
shm_size: 2gb
|
||||||
|
volumes:
|
||||||
|
- source: ${DOCKER_VOLUME_CONFIG}/jitsi/jibri
|
||||||
|
target: /config
|
||||||
|
type: bind
|
||||||
|
bind:
|
||||||
|
create_host_path: true
|
||||||
|
jitsi-jicofo:
|
||||||
|
container_name: jitsi-jicofo
|
||||||
|
depends_on:
|
||||||
|
jitsi-prosody:
|
||||||
|
condition: service_started
|
||||||
|
required: true
|
||||||
|
environment:
|
||||||
|
AUTH_TYPE:
|
||||||
|
BRIDGE_AVG_PARTICIPANT_STRESS:
|
||||||
|
BRIDGE_STRESS_THRESHOLD:
|
||||||
|
ENABLE_AUTH:
|
||||||
|
ENABLE_AUTO_OWNER:
|
||||||
|
ENABLE_CODEC_VP8:
|
||||||
|
ENABLE_CODEC_VP9:
|
||||||
|
ENABLE_CODEC_H264:
|
||||||
|
ENABLE_CODEC_OPUS_RED:
|
||||||
|
ENABLE_JVB_XMPP_SERVER:
|
||||||
|
ENABLE_OCTO:
|
||||||
|
ENABLE_RECORDING: 1
|
||||||
|
ENABLE_SCTP:
|
||||||
|
ENABLE_AUTO_LOGIN:
|
||||||
|
JICOFO_AUTH_LIFETIME:
|
||||||
|
JICOFO_AUTH_PASSWORD: ${JITSI__JICOFO_AUTH_PASSWORD}
|
||||||
|
JICOFO_AUTH_TYPE:
|
||||||
|
JICOFO_BRIDGE_REGION_GROUPS:
|
||||||
|
JICOFO_ENABLE_AUTH:
|
||||||
|
JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS:
|
||||||
|
JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT:
|
||||||
|
JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT:
|
||||||
|
JICOFO_CONF_SOURCE_SIGNALING_DELAYS:
|
||||||
|
JICOFO_CONF_MAX_AUDIO_SENDERS:
|
||||||
|
JICOFO_CONF_MAX_VIDEO_SENDERS:
|
||||||
|
JICOFO_CONF_STRIP_SIMULCAST:
|
||||||
|
JICOFO_CONF_SSRC_REWRITING:
|
||||||
|
JICOFO_ENABLE_HEALTH_CHECKS:
|
||||||
|
JICOFO_ENABLE_REST:
|
||||||
|
JICOFO_HEALTH_CHECKS_USE_PRESENCE:
|
||||||
|
JICOFO_MULTI_STREAM_BACKWARD_COMPAT:
|
||||||
|
JICOFO_OCTO_REGION:
|
||||||
|
JIBRI_BREWERY_MUC:
|
||||||
|
JIBRI_REQUEST_RETRIES:
|
||||||
|
JIBRI_PENDING_TIMEOUT:
|
||||||
|
JIGASI_BREWERY_MUC:
|
||||||
|
JIGASI_SIP_URI:
|
||||||
|
JVB_BREWERY_MUC:
|
||||||
|
JVB_XMPP_AUTH_DOMAIN:
|
||||||
|
JVB_XMPP_INTERNAL_MUC_DOMAIN:
|
||||||
|
JVB_XMPP_PORT:
|
||||||
|
JVB_XMPP_SERVER:
|
||||||
|
MAX_BRIDGE_PARTICIPANTS:
|
||||||
|
OCTO_BRIDGE_SELECTION_STRATEGY:
|
||||||
|
SENTRY_DSN: "${JICOFO_SENTRY_DSN:-0}"
|
||||||
|
SENTRY_ENVIRONMENT:
|
||||||
|
SENTRY_RELEASE:
|
||||||
|
TZ: ${TZ}
|
||||||
|
XMPP_DOMAIN:
|
||||||
|
XMPP_AUTH_DOMAIN:
|
||||||
|
XMPP_INTERNAL_MUC_DOMAIN:
|
||||||
|
XMPP_MUC_DOMAIN:
|
||||||
|
XMPP_RECORDER_DOMAIN:
|
||||||
|
XMPP_SERVER:
|
||||||
|
XMPP_PORT:
|
||||||
|
image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable}
|
||||||
|
networks:
|
||||||
|
default: null
|
||||||
|
ports:
|
||||||
|
- 8889:8888
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- bind:
|
||||||
|
create_host_path: true
|
||||||
|
selinux: Z
|
||||||
|
source: ${DOCKER_VOLUME_CONFIG}/jitsi/jicofo
|
||||||
|
target: /config
|
||||||
|
type: bind
|
||||||
|
jitsi-jigasi:
|
||||||
|
container_name: jitsi-jigasi
|
||||||
|
depends_on:
|
||||||
|
jitsi-prosody:
|
||||||
|
condition: service_started
|
||||||
|
required: true
|
||||||
|
environment:
|
||||||
|
ENABLE_AUTH: 1
|
||||||
|
ENABLE_GUESTS: 1
|
||||||
|
XMPP_AUTH_DOMAIN:
|
||||||
|
XMPP_GUEST_DOMAIN:
|
||||||
|
XMPP_MUC_DOMAIN:
|
||||||
|
XMPP_INTERNAL_MUC_DOMAIN:
|
||||||
|
XMPP_SERVER:
|
||||||
|
XMPP_PORT:
|
||||||
|
XMPP_DOMAIN:
|
||||||
|
PUBLIC_URL: ${JITSI__PUBLIC_URL}
|
||||||
|
JIGASI_DISABLE_SIP:
|
||||||
|
JIGASI_SIP_URI: ${JITSI__SIP_URI}
|
||||||
|
JIGASI_SIP_PASSWORD: ${JITSI__JIGAGI_SIP_PASSWORD}
|
||||||
|
JIGASI_SIP_SERVER: ${JITSI__JIGAGI_SIP_SERVER}
|
||||||
|
JIGASI_SIP_PORT: ${JITSI__JIGAGI_SIP_PORT}
|
||||||
|
JIGASI_SIP_TRANSPORT: ${JITSI__JIGAGI_SIP_TRANSPORT}
|
||||||
|
JIGASI_SIP_DEFAULT_ROOM:
|
||||||
|
JIGASI_XMPP_USER:
|
||||||
|
JIGASI_XMPP_PASSWORD: ${JITSI__JIGASI_XMPP_PASSWORD}
|
||||||
|
JIGASI_BREWERY_MUC:
|
||||||
|
JIGASI_PORT_MIN:
|
||||||
|
JIGASI_PORT_MAX:
|
||||||
|
JIGASI_HEALTH_CHECK_SIP_URI:
|
||||||
|
JIGASI_HEALTH_CHECK_INTERVAL:
|
||||||
|
JIGASI_SIP_KEEP_ALIVE_METHOD:
|
||||||
|
JIGASI_ENABLE_SDES_SRTP:
|
||||||
|
ENABLE_TRANSCRIPTIONS: 1
|
||||||
|
JIGASI_TRANSCRIBER_ADVERTISE_URL:
|
||||||
|
JIGASI_TRANSCRIBER_RECORD_AUDIO:
|
||||||
|
JIGASI_TRANSCRIBER_SEND_TXT:
|
||||||
|
GC_PROJECT_ID:
|
||||||
|
GC_PRIVATE_KEY_ID:
|
||||||
|
GC_PRIVATE_KEY:
|
||||||
|
GC_CLIENT_EMAIL:
|
||||||
|
GC_CLIENT_ID:
|
||||||
|
GC_CLIENT_CERT_URL:
|
||||||
|
SHUTDOWN_REST_ENABLED:
|
||||||
|
SENTRY_DSN: "${JIGASI_SENTRY_DSN:-0}"
|
||||||
|
SENTRY_ENVIRONMENT:
|
||||||
|
SENTRY_RELEASE:
|
||||||
|
TZ: ${TZ}
|
||||||
|
image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable}
|
||||||
|
networks:
|
||||||
|
default: null
|
||||||
|
ports:
|
||||||
|
- 20000-20050:20000-20050/udp
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- bind:
|
||||||
|
create_host_path: true
|
||||||
|
selinux: Z
|
||||||
|
source: ${DOCKER_VOLUME_CONFIG}/jitsi/jigasi
|
||||||
|
target: /config
|
||||||
|
type: bind
|
||||||
|
- bind:
|
||||||
|
create_host_path: true
|
||||||
|
selinux: Z
|
||||||
|
source: ${DOCKER_VOLUME_CONFIG}/jitsi/transcripts
|
||||||
|
target: /tmp/transcripts
|
||||||
|
type: bind
|
||||||
|
jitsi-jvb:
|
||||||
|
container_name: video.meet.jitsi
|
||||||
|
depends_on:
|
||||||
|
jitsi-prosody:
|
||||||
|
condition: service_started
|
||||||
|
required: true
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST_ADDRESS:
|
||||||
|
ENABLE_COLIBRI_WEBSOCKET:
|
||||||
|
ENABLE_JVB_XMPP_SERVER:
|
||||||
|
ENABLE_OCTO:
|
||||||
|
JVB_ADVERTISE_IPS: 192.168.1.254
|
||||||
|
JVB_ADVERTISE_PRIVATE_CANDIDATES:
|
||||||
|
JVB_AUTH_USER:
|
||||||
|
JVB_AUTH_PASSWORD: ${JITSI__JVB_AUTH_PASSWORD}
|
||||||
|
JVB_BREWERY_MUC:
|
||||||
|
JVB_DISABLE_STUN:
|
||||||
|
JVB_PORT:
|
||||||
|
JVB_MUC_NICKNAME:
|
||||||
|
JVB_STUN_SERVERS:
|
||||||
|
JVB_OCTO_BIND_ADDRESS:
|
||||||
|
JVB_OCTO_REGION:
|
||||||
|
JVB_OCTO_RELAY_ID:
|
||||||
|
JVB_WS_DOMAIN:
|
||||||
|
JVB_WS_SERVER_ID:
|
||||||
|
JVB_XMPP_AUTH_DOMAIN:
|
||||||
|
JVB_XMPP_INTERNAL_MUC_DOMAIN:
|
||||||
|
JVB_XMPP_PORT:
|
||||||
|
JVB_XMPP_SERVER:
|
||||||
|
PUBLIC_URL: ${JITSI__PUBLIC_URL}
|
||||||
|
SENTRY_DSN: "${JVB_SENTRY_DSN:-0}"
|
||||||
|
SENTRY_ENVIRONMENT:
|
||||||
|
SENTRY_RELEASE:
|
||||||
|
COLIBRI_REST_ENABLED:
|
||||||
|
SHUTDOWN_REST_ENABLED:
|
||||||
|
TZ: ${TZ}
|
||||||
|
XMPP_AUTH_DOMAIN:
|
||||||
|
XMPP_INTERNAL_MUC_DOMAIN:
|
||||||
|
XMPP_SERVER:
|
||||||
|
XMPP_PORT:
|
||||||
|
image: jitsi/jvb:${JITSI_IMAGE_VERSION:-stable}
|
||||||
|
networks:
|
||||||
|
default: null
|
||||||
|
ports:
|
||||||
|
- 10000:10000/udp
|
||||||
|
- 8091:8080
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- bind:
|
||||||
|
create_host_path: true
|
||||||
|
selinux: Z
|
||||||
|
source: ${DOCKER_VOLUME_CONFIG}/jitsi/jvb
|
||||||
|
target: /config
|
||||||
|
type: bind
|
||||||
|
jitsi-prosody:
|
||||||
|
container_name: xmpp.meet.jitsi
|
||||||
|
environment:
|
||||||
|
AUTH_TYPE:
|
||||||
|
DISABLE_POLLS:
|
||||||
|
ENABLE_AUTH:
|
||||||
|
ENABLE_AV_MODERATION:
|
||||||
|
ENABLE_BREAKOUT_ROOMS:
|
||||||
|
ENABLE_END_CONFERENCE:
|
||||||
|
ENABLE_GUESTS: 1
|
||||||
|
ENABLE_IPV6:
|
||||||
|
ENABLE_LOBBY: 1
|
||||||
|
ENABLE_RECORDING: 1
|
||||||
|
ENABLE_XMPP_WEBSOCKET:
|
||||||
|
ENABLE_JAAS_COMPONENTS:
|
||||||
|
GC_TYPE:
|
||||||
|
GC_INC_TH:
|
||||||
|
GC_INC_SPEED:
|
||||||
|
GC_INC_STEP_SIZE:
|
||||||
|
GC_GEN_MIN_TH:
|
||||||
|
GC_GEN_MAX_TH:
|
||||||
|
GLOBAL_CONFIG:
|
||||||
|
GLOBAL_MODULES:
|
||||||
|
JIBRI_RECORDER_USER:
|
||||||
|
JIBRI_RECORDER_PASSWORD: ${JITSI__JIBRI_RECORDER_PASSWORD}
|
||||||
|
JIBRI_XMPP_USER:
|
||||||
|
JIBRI_XMPP_PASSWORD: ${JITSI__JIBRI_XMPP_PASSWORD}
|
||||||
|
JICOFO_AUTH_PASSWORD: ${JITSI__JICOFO_AUTH_PASSWORD}
|
||||||
|
JICOFO_COMPONENT_SECRET:
|
||||||
|
JIGASI_XMPP_USER:
|
||||||
|
JIGASI_XMPP_PASSWORD: ${JITSI__JIGASI_XMPP_PASSWORD}
|
||||||
|
JIGASI_TRANSCRIBER_PASSWORD: ${JITSI__JIGASI_TRANSCRIBER_PASSWORD}
|
||||||
|
JVB_AUTH_USER:
|
||||||
|
JVB_AUTH_PASSWORD: ${JITSI__JVB_AUTH_PASSWORD}
|
||||||
|
JWT_APP_ID:
|
||||||
|
JWT_APP_SECRET:
|
||||||
|
JWT_ACCEPTED_ISSUERS:
|
||||||
|
JWT_ACCEPTED_AUDIENCES:
|
||||||
|
JWT_ASAP_KEYSERVER:
|
||||||
|
JWT_ALLOW_EMPTY:
|
||||||
|
JWT_AUTH_TYPE:
|
||||||
|
JWT_ENABLE_DOMAIN_VERIFICATION:
|
||||||
|
JWT_TOKEN_AUTH_MODULE:
|
||||||
|
MATRIX_UVS_URL:
|
||||||
|
MATRIX_UVS_ISSUER:
|
||||||
|
MATRIX_UVS_AUTH_TOKEN:
|
||||||
|
MATRIX_UVS_SYNC_POWER_LEVELS:
|
||||||
|
LOG_LEVEL:
|
||||||
|
LDAP_AUTH_METHOD:
|
||||||
|
LDAP_BASE:
|
||||||
|
LDAP_BINDDN:
|
||||||
|
LDAP_BINDPW:
|
||||||
|
LDAP_FILTER:
|
||||||
|
LDAP_VERSION:
|
||||||
|
LDAP_TLS_CIPHERS:
|
||||||
|
LDAP_TLS_CHECK_PEER:
|
||||||
|
LDAP_TLS_CACERT_FILE:
|
||||||
|
LDAP_TLS_CACERT_DIR:
|
||||||
|
LDAP_START_TLS:
|
||||||
|
LDAP_URL:
|
||||||
|
LDAP_USE_TLS:
|
||||||
|
MAX_PARTICIPANTS:
|
||||||
|
PROSODY_AUTH_TYPE:
|
||||||
|
PROSODY_RESERVATION_ENABLED:
|
||||||
|
PROSODY_RESERVATION_REST_BASE_URL:
|
||||||
|
PROSODY_ENABLE_RATE_LIMITS:
|
||||||
|
PROSODY_RATE_LIMIT_LOGIN_RATE:
|
||||||
|
PROSODY_RATE_LIMIT_SESSION_RATE:
|
||||||
|
PROSODY_RATE_LIMIT_TIMEOUT:
|
||||||
|
PROSODY_RATE_LIMIT_ALLOW_RANGES:
|
||||||
|
PROSODY_RATE_LIMIT_CACHE_SIZE:
|
||||||
|
PUBLIC_URL: ${JITSI__PUBLIC_URL}
|
||||||
|
TURN_CREDENTIALS:
|
||||||
|
TURN_HOST:
|
||||||
|
TURNS_HOST:
|
||||||
|
TURN_PORT:
|
||||||
|
TURNS_PORT:
|
||||||
|
TURN_TRANSPORT:
|
||||||
|
TZ: ${TZ}
|
||||||
|
XMPP_DOMAIN:
|
||||||
|
XMPP_AUTH_DOMAIN:
|
||||||
|
XMPP_GUEST_DOMAIN:
|
||||||
|
XMPP_MUC_DOMAIN:
|
||||||
|
XMPP_INTERNAL_MUC_DOMAIN:
|
||||||
|
XMPP_MODULES:
|
||||||
|
XMPP_MUC_MODULES:
|
||||||
|
XMPP_MUC_CONFIGURATION:
|
||||||
|
XMPP_INTERNAL_MUC_MODULES:
|
||||||
|
XMPP_RECORDER_DOMAIN:
|
||||||
|
XMPP_PORT:
|
||||||
|
expose:
|
||||||
|
- 5222
|
||||||
|
- "5347"
|
||||||
|
- "5280"
|
||||||
|
image: jitsi/prosody:${JITSI_IMAGE_VERSION:-stable}
|
||||||
|
networks:
|
||||||
|
default: null
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- bind:
|
||||||
|
create_host_path: true
|
||||||
|
selinux: Z
|
||||||
|
source: ${DOCKER_VOLUME_CONFIG}/jitsi/prosody/config
|
||||||
|
target: /config
|
||||||
|
type: bind
|
||||||
|
- bind:
|
||||||
|
create_host_path: true
|
||||||
|
selinux: Z
|
||||||
|
source: ${DOCKER_VOLUME_CONFIG}/jitsi/prosody/prosody-plugins-custom
|
||||||
|
target: /prosody-plugins-custom
|
||||||
|
type: bind
|
||||||
|
jitsi-web:
|
||||||
|
container_name: jitsi-web
|
||||||
|
environment:
|
||||||
|
AMPLITUDE_ID:
|
||||||
|
ANALYTICS_SCRIPT_URLS:
|
||||||
|
ANALYTICS_WHITELISTED_EVENTS:
|
||||||
|
AUDIO_QUALITY_OPUS_BITRATE:
|
||||||
|
AUTO_CAPTION_ON_RECORD:
|
||||||
|
BRANDING_DATA_URL:
|
||||||
|
CALLSTATS_CUSTOM_SCRIPT_URL:
|
||||||
|
CALLSTATS_ID:
|
||||||
|
CALLSTATS_SECRET:
|
||||||
|
CHROME_EXTENSION_BANNER_JSON:
|
||||||
|
COLIBRI_WEBSOCKET_PORT:
|
||||||
|
CONFCODE_URL:
|
||||||
|
CONFIG_EXTERNAL_CONNECT:
|
||||||
|
DEFAULT_LANGUAGE:
|
||||||
|
DEPLOYMENTINFO_ENVIRONMENT:
|
||||||
|
DEPLOYMENTINFO_ENVIRONMENT_TYPE:
|
||||||
|
DEPLOYMENTINFO_REGION:
|
||||||
|
DEPLOYMENTINFO_SHARD:
|
||||||
|
DEPLOYMENTINFO_USERREGION:
|
||||||
|
DESKTOP_SHARING_FRAMERATE_MIN:
|
||||||
|
DESKTOP_SHARING_FRAMERATE_MAX:
|
||||||
|
DIALIN_NUMBERS_URL:
|
||||||
|
DIALOUT_AUTH_URL:
|
||||||
|
DIALOUT_CODES_URL:
|
||||||
|
DISABLE_AUDIO_LEVELS:
|
||||||
|
DISABLE_DEEP_LINKING:
|
||||||
|
DISABLE_GRANT_MODERATOR:
|
||||||
|
DISABLE_HTTPS: 1
|
||||||
|
DISABLE_KICKOUT:
|
||||||
|
DISABLE_LOCAL_RECORDING:
|
||||||
|
DISABLE_POLLS:
|
||||||
|
DISABLE_PRIVATE_CHAT:
|
||||||
|
DISABLE_PROFILE:
|
||||||
|
DISABLE_REACTIONS:
|
||||||
|
DISABLE_REMOTE_VIDEO_MENU:
|
||||||
|
DISABLE_START_FOR_ALL:
|
||||||
|
DROPBOX_APPKEY:
|
||||||
|
DROPBOX_REDIRECT_URI:
|
||||||
|
DYNAMIC_BRANDING_URL:
|
||||||
|
ENABLE_AUDIO_PROCESSING:
|
||||||
|
ENABLE_AUTH:
|
||||||
|
ENABLE_BREAKOUT_ROOMS:
|
||||||
|
ENABLE_CALENDAR:
|
||||||
|
ENABLE_COLIBRI_WEBSOCKET:
|
||||||
|
ENABLE_E2EPING:
|
||||||
|
ENABLE_FILE_RECORDING_SHARING:
|
||||||
|
ENABLE_GUESTS: 1
|
||||||
|
ENABLE_HSTS:
|
||||||
|
ENABLE_HTTP_REDIRECT: 0
|
||||||
|
ENABLE_IPV6:
|
||||||
|
ENABLE_LETSENCRYPT: 0
|
||||||
|
ENABLE_LIPSYNC:
|
||||||
|
ENABLE_NO_AUDIO_DETECTION:
|
||||||
|
ENABLE_NOISY_MIC_DETECTION:
|
||||||
|
ENABLE_OCTO:
|
||||||
|
ENABLE_OPUS_RED:
|
||||||
|
ENABLE_PREJOIN_PAGE:
|
||||||
|
ENABLE_P2P:
|
||||||
|
ENABLE_WELCOME_PAGE:
|
||||||
|
ENABLE_CLOSE_PAGE:
|
||||||
|
ENABLE_LIVESTREAMING:
|
||||||
|
ENABLE_LIVESTREAMING_DATA_PRIVACY_LINK:
|
||||||
|
ENABLE_LIVESTREAMING_HELP_LINK:
|
||||||
|
ENABLE_LIVESTREAMING_TERMS_LINK:
|
||||||
|
ENABLE_LIVESTREAMING_VALIDATOR_REGEXP_STRING:
|
||||||
|
ENABLE_LOCAL_RECORDING_NOTIFY_ALL_PARTICIPANT:
|
||||||
|
ENABLE_LOCAL_RECORDING_SELF_START:
|
||||||
|
ENABLE_RECORDING: 1
|
||||||
|
ENABLE_REMB:
|
||||||
|
ENABLE_REQUIRE_DISPLAY_NAME:
|
||||||
|
ENABLE_SERVICE_RECORDING:
|
||||||
|
ENABLE_SIMULCAST:
|
||||||
|
ENABLE_STATS_ID:
|
||||||
|
ENABLE_STEREO:
|
||||||
|
ENABLE_SUBDOMAINS:
|
||||||
|
ENABLE_TALK_WHILE_MUTED:
|
||||||
|
ENABLE_TCC:
|
||||||
|
ENABLE_TRANSCRIPTIONS: 1
|
||||||
|
ENABLE_XMPP_WEBSOCKET:
|
||||||
|
ENABLE_JAAS_COMPONENTS:
|
||||||
|
ETHERPAD_PUBLIC_URL:
|
||||||
|
ETHERPAD_URL_BASE: ${JITSI__ETHERPAD_URL_BASE}
|
||||||
|
E2EPING_NUM_REQUESTS:
|
||||||
|
E2EPING_MAX_CONFERENCE_SIZE:
|
||||||
|
E2EPING_MAX_MESSAGE_PER_SECOND:
|
||||||
|
GOOGLE_ANALYTICS_ID:
|
||||||
|
GOOGLE_API_APP_CLIENT_ID:
|
||||||
|
HIDE_PREMEETING_BUTTONS:
|
||||||
|
HIDE_PREJOIN_DISPLAY_NAME:
|
||||||
|
HIDE_PREJOIN_EXTRA_BUTTONS:
|
||||||
|
INVITE_SERVICE_URL:
|
||||||
|
LETSENCRYPT_DOMAIN:
|
||||||
|
LETSENCRYPT_EMAIL:
|
||||||
|
LETSENCRYPT_USE_STAGING:
|
||||||
|
MATOMO_ENDPOINT:
|
||||||
|
MATOMO_SITE_ID:
|
||||||
|
MICROSOFT_API_APP_CLIENT_ID:
|
||||||
|
NGINX_RESOLVER:
|
||||||
|
NGINX_WORKER_PROCESSES:
|
||||||
|
NGINX_WORKER_CONNECTIONS:
|
||||||
|
PEOPLE_SEARCH_URL:
|
||||||
|
PREFERRED_LANGUAGE:
|
||||||
|
PUBLIC_URL: ${JITSI__PUBLIC_URL}
|
||||||
|
P2P_PREFERRED_CODEC:
|
||||||
|
RESOLUTION:
|
||||||
|
RESOLUTION_MIN:
|
||||||
|
RESOLUTION_WIDTH:
|
||||||
|
RESOLUTION_WIDTH_MIN:
|
||||||
|
START_AUDIO_MUTED:
|
||||||
|
START_AUDIO_ONLY:
|
||||||
|
START_BITRATE:
|
||||||
|
START_SILENT:
|
||||||
|
START_WITH_AUDIO_MUTED:
|
||||||
|
START_VIDEO_MUTED:
|
||||||
|
START_WITH_VIDEO_MUTED:
|
||||||
|
TESTING_CAP_SCREENSHARE_BITRATE:
|
||||||
|
TESTING_OCTO_PROBABILITY:
|
||||||
|
TOKEN_AUTH_URL:
|
||||||
|
TOOLBAR_BUTTONS:
|
||||||
|
TRANSLATION_LANGUAGES:
|
||||||
|
TRANSLATION_LANGUAGES_HEAD:
|
||||||
|
TZ: ${TZ}
|
||||||
|
USE_APP_LANGUAGE:
|
||||||
|
VIDEOQUALITY_BITRATE_H264_LOW:
|
||||||
|
VIDEOQUALITY_BITRATE_H264_STANDARD:
|
||||||
|
VIDEOQUALITY_BITRATE_H264_HIGH:
|
||||||
|
VIDEOQUALITY_BITRATE_VP8_LOW:
|
||||||
|
VIDEOQUALITY_BITRATE_VP8_STANDARD:
|
||||||
|
VIDEOQUALITY_BITRATE_VP8_HIGH:
|
||||||
|
VIDEOQUALITY_BITRATE_VP9_LOW:
|
||||||
|
VIDEOQUALITY_BITRATE_VP9_STANDARD:
|
||||||
|
VIDEOQUALITY_BITRATE_VP9_HIGH:
|
||||||
|
VIDEOQUALITY_ENFORCE_PREFERRED_CODEC:
|
||||||
|
VIDEOQUALITY_PREFERRED_CODEC:
|
||||||
|
XMPP_AUTH_DOMAIN:
|
||||||
|
XMPP_BOSH_URL_BASE:
|
||||||
|
XMPP_DOMAIN:
|
||||||
|
XMPP_GUEST_DOMAIN:
|
||||||
|
XMPP_MUC_DOMAIN:
|
||||||
|
XMPP_RECORDER_DOMAIN:
|
||||||
|
XMPP_PORT:
|
||||||
|
WHITEBOARD_ENABLED:
|
||||||
|
WHITEBOARD_COLLAB_SERVER_PUBLIC_URL:
|
||||||
|
hostname: meet.jitsi
|
||||||
|
image: jitsi/web:${JITSI_IMAGE_VERSION:-stable}
|
||||||
|
labels:
|
||||||
|
swag: enable
|
||||||
|
swag_proto: https
|
||||||
|
swag_url: meet.${MY_TLD}
|
||||||
|
swag_server_custom_directive: |
|
||||||
|
access_log /config/log/$$host_access.log ;
|
||||||
|
error_log /config/log/$$host_error.log ;
|
||||||
|
swag.uptime-kuma.enabled: true
|
||||||
|
swag.uptime-kuma.monitor.url: https://meet.${MY_TLD}
|
||||||
|
swag.uptime-kuma.monitor.interval: 300
|
||||||
|
homepage.group: Social
|
||||||
|
homepage.name: Jitsi
|
||||||
|
homepage.href: https://meet.${MY_TLD}
|
||||||
|
homepage.icon: jitsi.png
|
||||||
|
homepage.description: Web Conferencing
|
||||||
|
networks:
|
||||||
|
default: null
|
||||||
|
ports:
|
||||||
|
- 8001:80
|
||||||
|
- 8002:443
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- bind:
|
||||||
|
create_host_path: true
|
||||||
|
selinux: Z
|
||||||
|
source: ${DOCKER_VOLUME_CONFIG}/jitsi/web
|
||||||
|
target: /config
|
||||||
|
type: bind
|
||||||
|
- bind:
|
||||||
|
create_host_path: true
|
||||||
|
selinux: Z
|
||||||
|
source: ${DOCKER_VOLUME_CONFIG}/jitsi/web/crontabs
|
||||||
|
target: /var/spool/cron/crontabs
|
||||||
|
type: bind
|
||||||
|
- bind:
|
||||||
|
create_host_path: true
|
||||||
|
selinux: Z
|
||||||
|
source: ${DOCKER_VOLUME_CONFIG}/jitsi/transcripts
|
||||||
|
target: /usr/share/jitsi-meet/transcripts
|
||||||
|
type: bind
|
||||||
joplin-db:
|
joplin-db:
|
||||||
container_name: joplin-db
|
container_name: joplin-db
|
||||||
environment:
|
environment:
|
||||||
@@ -2522,6 +3162,7 @@ services:
|
|||||||
DATABASE_URL: sqlite3:/config/manyfold.sqlite3
|
DATABASE_URL: sqlite3:/config/manyfold.sqlite3
|
||||||
REDIS_URL: redis://redis:6379/2
|
REDIS_URL: redis://redis:6379/2
|
||||||
SECRET_KEY_BASE: ${MANYFOLD_SECRET_KEY_BASE}
|
SECRET_KEY_BASE: ${MANYFOLD_SECRET_KEY_BASE}
|
||||||
|
MUTLIUSER: enabled
|
||||||
image: lscr.io/linuxserver/manyfold:latest
|
image: lscr.io/linuxserver/manyfold:latest
|
||||||
labels:
|
labels:
|
||||||
homepage.group: Lifestyle
|
homepage.group: Lifestyle
|
||||||
@@ -2720,81 +3361,6 @@ services:
|
|||||||
type: bind
|
type: bind
|
||||||
bind:
|
bind:
|
||||||
create_host_path: true
|
create_host_path: true
|
||||||
mirotalk:
|
|
||||||
container_name: mirotalk
|
|
||||||
environment:
|
|
||||||
NODE_ENV: production #development or production
|
|
||||||
PORT: 3000
|
|
||||||
TRUST_PROXY: false #true or false
|
|
||||||
TZ: ${TZ}
|
|
||||||
LOGS_DEBUG: true # true or false
|
|
||||||
LOGS_COLORS: true # true or false
|
|
||||||
CORS_ORIGIN: '*'
|
|
||||||
CORS_METHODS: '["GET", "POST"]'
|
|
||||||
IP_WHITELIST_ENABLED: false # true or false
|
|
||||||
IP_WHITELIST_ALLOWED: '["127.0.0.1", "::1"]'
|
|
||||||
OIDC_ENABLED: false # true or false
|
|
||||||
HOST_PROTECTED: false # true or false
|
|
||||||
HOST_USER_AUTH: false # true or false
|
|
||||||
JWT_KEY: ${MIROTALK_JWT_KEY}
|
|
||||||
JWT_EXP: 1h
|
|
||||||
PRESENTERS: '["Mirotalk Rinoa", "noreply@trez.wtf"]'
|
|
||||||
NGROK_ENABLED: true
|
|
||||||
NGROK_AUTH_TOKEN: ${NGROK_AUTH_TOKEN}
|
|
||||||
STUN_SERVER_ENABLED: true # true or false
|
|
||||||
STUN_SERVER_URL: stun:stun.l.google.com:19302
|
|
||||||
TURN_SERVER_ENABLED: true # true or false
|
|
||||||
TURN_SERVER_URL: turn:a.relay.metered.ca:443
|
|
||||||
TURN_SERVER_USERNAME: ${MIROTALK_METERED_TURNSERVER_USER}
|
|
||||||
TURN_SERVER_CREDENTIAL: ${MIROTALK_METERED_TURNSERVER_PASSWORD}
|
|
||||||
IP_LOOKUP_ENABLED: false # true or false
|
|
||||||
API_KEY_SECRET: ${MIROTALK_API_KEY_SECRET}
|
|
||||||
API_DISABLED: '["token", "meetings"]'
|
|
||||||
SURVEY_ENABLED: false
|
|
||||||
REDIRECT_ENABLED: false # true or false
|
|
||||||
SENTRY_ENABLED: false # true or false
|
|
||||||
SLACK_ENABLED: false # true or false
|
|
||||||
MATTERMOST_ENABLED: false # true or false
|
|
||||||
CHATGPT_ENABLED: false # true or false
|
|
||||||
CHATGPT_BASE_PATH: https://api.openai.com/v1/
|
|
||||||
CHATGPT_APIKEY: ${LIBRECHAT_OPENAI_API_KEY}
|
|
||||||
CHATGPT_MODEL: gpt-3.5-turbo
|
|
||||||
CHATGPT_MAX_TOKENS: 1000
|
|
||||||
CHATGPT_TEMPERATURE: 0
|
|
||||||
EMAIL_ALERT: true # true or false
|
|
||||||
EMAIL_HOST: postal-smtp
|
|
||||||
EMAIL_PORT: 25
|
|
||||||
EMAIL_USERNAME: ${POSTAL_SMTP_AUTH_USER}
|
|
||||||
EMAIL_PASSWORD: ${POSTAL_SMTP_AUTH_PASSWORD}
|
|
||||||
EMAIL_SEND_TO: noreply@${MY_TLD}
|
|
||||||
STATS_ENABLED: true # true or false
|
|
||||||
STATS_SCR: https://stats.mirotalk.com/script.js
|
|
||||||
STATS_ID: c7615aa7-ceec-464a-baba-54cb605d7261
|
|
||||||
expose:
|
|
||||||
- 3000
|
|
||||||
hostname: mirotalk
|
|
||||||
image: mirotalk/p2p:latest
|
|
||||||
labels:
|
|
||||||
swag: enable
|
|
||||||
swag_port: 3000
|
|
||||||
swag_proto: http
|
|
||||||
swag_url: meet.${MY_TLD}
|
|
||||||
swag_server_custom_directive: |
|
|
||||||
access_log /config/log/$$host_access.log ;
|
|
||||||
error_log /config/log/$$host_error.log ;
|
|
||||||
swag.uptime-kuma.enabled: true
|
|
||||||
swag.uptime-kuma.monitor.url: https://social.${MY_TLD}
|
|
||||||
swag.uptime-kuma.monitor.interval: 300
|
|
||||||
homepage.group: Social
|
|
||||||
homepage.name: MiroTalk
|
|
||||||
homepage.href: https://meet.${MY_TLD}
|
|
||||||
homepage.icon: sh-mirotalk.svg
|
|
||||||
homepage.description: Simple, secure, and fast real-time video conferences
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- ${DOCKER_VOLUME_CONFIG}/mirotalk/app/src/config.js:/src/app/src/config.js:ro
|
|
||||||
- ${DOCKER_VOLUME_CONFIG}/mirotalk/app/:/src/app/:ro
|
|
||||||
- ${DOCKER_VOLUME_CONFIG}/mirotalk/public/:/src/public/:ro
|
|
||||||
mixpost:
|
mixpost:
|
||||||
container_name: mixpost
|
container_name: mixpost
|
||||||
image: inovector/mixpost:latest
|
image: inovector/mixpost:latest
|
||||||
@@ -3098,6 +3664,26 @@ services:
|
|||||||
source: /rinoa-storage
|
source: /rinoa-storage
|
||||||
target: /storage
|
target: /storage
|
||||||
type: bind
|
type: bind
|
||||||
|
omni-tools:
|
||||||
|
container_name: omni-tools
|
||||||
|
image: iib0011/omni-tools:latest
|
||||||
|
labels:
|
||||||
|
homepage.group: Personal/Professional Services
|
||||||
|
homepage.name: OmniTools
|
||||||
|
homepage.href: https://otools.${MY_TLD}
|
||||||
|
homepage.icon: sh-omnitools.svg
|
||||||
|
homepage.description: Tools for common tasks
|
||||||
|
swag: enable
|
||||||
|
swag_server_custom_directive: |
|
||||||
|
access_log /config/log/$$host_access.log ;
|
||||||
|
error_log /config/log/$$host_error.log ;
|
||||||
|
swag_url: otools.${MY_TLD}
|
||||||
|
swag.uptime-kuma.enabled: true
|
||||||
|
swag.uptime-kuma.monitor.url: https://otools.${MY_TLD}
|
||||||
|
swag.uptime-kuma.monitor.interval: 300
|
||||||
|
ports:
|
||||||
|
- 23693:80
|
||||||
|
restart: unless-stopped
|
||||||
paperless-ngx:
|
paperless-ngx:
|
||||||
container_name: paperless-ngx
|
container_name: paperless-ngx
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -3792,6 +4378,8 @@ services:
|
|||||||
- run
|
- run
|
||||||
- start
|
- start
|
||||||
container_name: scraperr
|
container_name: scraperr
|
||||||
|
depends_on:
|
||||||
|
- scraperr-api
|
||||||
expose:
|
expose:
|
||||||
- 3000
|
- 3000
|
||||||
image: jpyles0524/scraperr:latest
|
image: jpyles0524/scraperr:latest
|
||||||
@@ -3815,8 +4403,6 @@ services:
|
|||||||
swag.uptime-kuma.enabled: true
|
swag.uptime-kuma.enabled: true
|
||||||
swag.uptime-kuma.monitor.url: https://scrape.${MY_TLD}
|
swag.uptime-kuma.monitor.url: https://scrape.${MY_TLD}
|
||||||
swag.uptime-kuma.monitor.interval: 300
|
swag.uptime-kuma.monitor.interval: 300
|
||||||
networks:
|
|
||||||
default: null
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
scraperr-api:
|
scraperr-api:
|
||||||
container_name: scraperr-api
|
container_name: scraperr-api
|
||||||
@@ -3832,9 +4418,10 @@ services:
|
|||||||
expose:
|
expose:
|
||||||
- 8000
|
- 8000
|
||||||
image: jpyles0524/scraperr_api:latest
|
image: jpyles0524/scraperr_api:latest
|
||||||
networks:
|
|
||||||
default: null
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ${DOCKER_VOLUME_CONFIG}/scraperr:/project/data
|
||||||
|
# - /var/run/docker.sock:/var/run/docker.sock
|
||||||
scrutiny:
|
scrutiny:
|
||||||
cap_add:
|
cap_add:
|
||||||
- SYS_RAWIO
|
- SYS_RAWIO
|
||||||
@@ -3888,7 +4475,7 @@ services:
|
|||||||
- ALL
|
- ALL
|
||||||
container_name: searxng
|
container_name: searxng
|
||||||
environment:
|
environment:
|
||||||
SEARXNG_BASE_URL: https://${SEARXNG_BASE_URL:-localhost}/
|
SEARXNG_BASE_URL: https://search.${MY_TLD}
|
||||||
image: searxng/searxng:latest
|
image: searxng/searxng:latest
|
||||||
labels:
|
labels:
|
||||||
homepage.group: Personal/Professional Services
|
homepage.group: Personal/Professional Services
|
||||||
@@ -4714,6 +5301,83 @@ services:
|
|||||||
source: /rinoa-storage
|
source: /rinoa-storage
|
||||||
target: /storage
|
target: /storage
|
||||||
type: bind
|
type: bind
|
||||||
|
zammad-backup:
|
||||||
|
<<: *zammad-service
|
||||||
|
command: ["zammad-backup"]
|
||||||
|
volumes:
|
||||||
|
- zammad-backup:/var/tmp/zammad
|
||||||
|
- zammad-storage:/opt/zammad/storage:ro
|
||||||
|
user: 0:0
|
||||||
|
zammad-elasticsearch:
|
||||||
|
image: bitnami/elasticsearch:${ELASTICSEARCH_VERSION:-8.17.4}
|
||||||
|
restart: ${RESTART:-always}
|
||||||
|
profiles:
|
||||||
|
- do-not-start
|
||||||
|
volumes:
|
||||||
|
- zammad-elasticsearch-data:/bitnami/elasticsearch/data
|
||||||
|
environment:
|
||||||
|
# Enable authorization without HTTPS. For external access with
|
||||||
|
# SSL termination, use solutions like nginx-proxy-manager.
|
||||||
|
ELASTICSEARCH_ENABLE_SECURITY: 'true'
|
||||||
|
ELASTICSEARCH_SKIP_TRANSPORT_TLS: 'true'
|
||||||
|
ELASTICSEARCH_ENABLE_REST_TLS: 'false'
|
||||||
|
# ELASTICSEARCH_USER is hardcoded to 'elastic' in the container.
|
||||||
|
ELASTICSEARCH_PASSWORD: ${ELASTICSEARCH_PASS:-zammad}
|
||||||
|
zammad-init:
|
||||||
|
<<: *zammad-service
|
||||||
|
command: ["zammad-init"]
|
||||||
|
depends_on:
|
||||||
|
- zammad-postgresql
|
||||||
|
restart: on-failure
|
||||||
|
user: 0:0
|
||||||
|
zammad-memcached:
|
||||||
|
command: memcached -m 256M
|
||||||
|
image: memcached:${MEMCACHE_VERSION:-1.6.38-alpine}
|
||||||
|
restart: ${RESTART:-always}
|
||||||
|
zammad-nginx:
|
||||||
|
<<: *zammad-service
|
||||||
|
command: ["zammad-nginx"]
|
||||||
|
expose:
|
||||||
|
- "${NGINX_PORT:-8080}"
|
||||||
|
ports:
|
||||||
|
- "${NGINX_EXPOSE_PORT:-8080}:${NGINX_PORT:-8080}"
|
||||||
|
labels:
|
||||||
|
swag: enable
|
||||||
|
swag_proto: http
|
||||||
|
swag_port: 8080
|
||||||
|
swag_url: support.${MY_TLD}
|
||||||
|
swag.uptime-kuma.enabled: true
|
||||||
|
swag.uptime-kuma.monitor.url: https://support.${MY_TLD}
|
||||||
|
homepage.group: Personal/Professional Services
|
||||||
|
homepage.name: Zammad
|
||||||
|
homepage.href: https://support.${MY_TLD}
|
||||||
|
homepage.icon: zammad.svg
|
||||||
|
homepage.description: Open-source helpdesk/customer support system
|
||||||
|
depends_on:
|
||||||
|
- zammad-railsserver
|
||||||
|
zammad-postgresql:
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${ZAMMAD_POSTGRES_DB:-zammad_production}
|
||||||
|
POSTGRES_USER: ${ZAMMAD_POSTGRES_USER:-zammad}
|
||||||
|
POSTGRES_PASSWORD: ${ZAMMAD_POSTGRES_PASS:-zammad}
|
||||||
|
image: postgres:${ZAMMAD_POSTGRES_VERSION:-17.4-alpine}
|
||||||
|
restart: ${RESTART:-always}
|
||||||
|
volumes:
|
||||||
|
- zammad-postgresql-data:/var/lib/postgresql/data
|
||||||
|
zammad-railsserver:
|
||||||
|
<<: *zammad-service
|
||||||
|
command: ["zammad-railsserver"]
|
||||||
|
zammad-redis:
|
||||||
|
image: redis:${REDIS_VERSION:-7.4.2-alpine}
|
||||||
|
restart: ${RESTART:-always}
|
||||||
|
volumes:
|
||||||
|
- zammad-redis-data:/data
|
||||||
|
zammad-scheduler:
|
||||||
|
<<: *zammad-service
|
||||||
|
command: ["zammad-scheduler"]
|
||||||
|
zammad-websocket:
|
||||||
|
<<: *zammad-service
|
||||||
|
command: ["zammad-websocket"]
|
||||||
volumes:
|
volumes:
|
||||||
authelia-pg-db:
|
authelia-pg-db:
|
||||||
name: authelia-pg-db
|
name: authelia-pg-db
|
||||||
@@ -4853,3 +5517,13 @@ volumes:
|
|||||||
name: wallos-db
|
name: wallos-db
|
||||||
wallos-logos:
|
wallos-logos:
|
||||||
name: wallos-logos
|
name: wallos-logos
|
||||||
|
zammad-backup:
|
||||||
|
name: zammad-backup
|
||||||
|
zammad-storage:
|
||||||
|
name: zammad-storage
|
||||||
|
zammad-elasticsearch-data:
|
||||||
|
name: zammad-elasticsearch-data
|
||||||
|
zammad-postgresql-data:
|
||||||
|
name: zammad-postgresql-data
|
||||||
|
zammad-redis-data:
|
||||||
|
name: zammad-redis-data
|
||||||
Reference in New Issue
Block a user