Compare commits

..

43 Commits

Author SHA1 Message Date
Trez.One 2ee2c254ba Re-adding Zammad.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 16m9s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Successful in 46m10s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Successful in 19m58s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Successful in 10m9s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Successful in 8m34s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Failing after 42m11s
2025-05-03 16:58:06 -04:00
Trez.One 8de441cc7c Jitsi tweaks. 2025-05-03 14:29:55 -04:00
Trez.One 3ceba4cd90 Gitea registry login. 2025-05-03 11:14:35 -04:00
gitea-sonarqube-bot 621999eb2b Auto Merge of PR 45 - jitsi-redeploy
Merged by Trez.One
2025-05-03 10:40:34 -04:00
Trez.One 2870d94259 Merge remote-tracking branch 'refs/remotes/origin/jitsi-redeploy' into jitsi-redeploy
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 11m50s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Successful in 32m41s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Successful in 10m48s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Successful in 6m33s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Successful in 3m55s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Failing after 20m52s
2025-05-03 09:03:10 -04:00
Trez.One 29b1026a07 Pipeline fix for container registry. 2025-05-03 08:42:29 -04:00
gitea-sonarqube-bot 88380a3769 Auto Merge of PR 44 - jitsi-redeploy
Merged by Trez.One
2025-05-03 08:18:21 -04:00
Trez.One fbbdbb2888 chore: Update README 2025-05-03 12:15:07 +00:00
Trez.One a75cc150e5 Jitsi env updates.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 9m19s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Successful in 21m10s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Successful in 5m25s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Successful in 9m35s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Successful in 28s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Failing after 6m17s
2025-05-03 07:31:24 -04:00
Trez.One 1940785bbd Correcting a couple of Jinja config templates. 2025-05-03 07:13:58 -04:00
Trez.One f3b8170790 More changes for Jitsi.
Auto-Unseal for Vault / Unseal Vault (push) Failing after 12m57s
2025-05-01 08:17:42 -04:00
Trez.One 5479724535 Env change for Jitsi to operate behind reverse proxy. 2025-05-01 07:56:49 -04:00
Trez.One b8cad2af5e Env change for jitsi-web. 2025-05-01 07:28:42 -04:00
Trez.One 0d405dac52 Changing local registry value.
Auto-Unseal for Vault / Unseal Vault (push) Failing after 12m53s
2025-04-30 17:54:16 -04:00
Trez.One 647361963b Pinning Hugo version to 0.145.0. 2025-04-30 17:53:43 -04:00
gitea-sonarqube-bot 6dc6ba2531 Auto Merge of PR 43 - jitsi-redeploy
Merged by Trez.One
2025-04-30 11:47:45 -04:00
Trez.One 1918d96819 chore: Update README 2025-04-30 15:45:18 +00:00
Trez.One 2af3ea0a32 Removing MiroTalk and re-adding Jitsi stack.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 9m44s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Successful in 18m35s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Successful in 4m18s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Successful in 7m35s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Successful in 5m25s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Failing after 14m30s
2025-04-30 08:54:48 -04:00
Trez.One efd0c15115 SearxNG config change (timeout).
Auto-Unseal for Vault / Unseal Vault (push) Failing after 10m54s
2025-04-29 22:03:00 -04:00
Trez.One 48008fa6c7 Typo fixes in Ghost config. 2025-04-29 07:54:41 -04:00
Trez.One 84a5d7c0df SearxNG tweak.
Auto-Unseal for Vault / Unseal Vault (push) Failing after 13m51s
2025-04-28 19:09:51 -04:00
Trez.One 0c97cd8ace Volume change for Ghost
Auto-Unseal for Vault / Unseal Vault (push) Successful in 11m0s
2025-04-27 20:33:01 -04:00
Trez.One 7c5d9561bb . 2025-04-27 17:28:47 -04:00
Trez.One 53c45f5c4d Fixing Multi-Scrobbler template. 2025-04-27 16:58:42 -04:00
Trez.One 672c39c10a Minor fixes. 2025-04-27 16:28:26 -04:00
Trez.One 2550447b0f Minor fixes. 2025-04-27 16:26:30 -04:00
gitea-sonarqube-bot 427ed55a88 Auto Merge of PR 42 - loggifly-update-2025-04-25-0732
Merged by Trez.One
2025-04-27 15:49:21 -04:00
Trez.One 1901f18792 chore: Update README 2025-04-27 19:43:59 +00:00
Trez.One 8fcc4e6d52 Updating HC Vault token in Ansible.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 3m16s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Successful in 32m17s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Successful in 4m22s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Successful in 8m23s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Successful in 2m51s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Failing after 15m41s
2025-04-27 11:53:49 -04:00
Trez.One 2c3de2d06a Port and volume changes for AdGuardHome. 2025-04-27 11:13:56 -04:00
Trez.One 39055a7ed1 Adding OmniTools.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 12m19s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Failing after 14m15s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been skipped
2025-04-26 20:37:45 -04:00
Trez.One eeef1e1dec Adding Ghost container to Loggifly.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 11m13s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Failing after 38m44s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Has been skipped
2025-04-25 14:57:48 -04:00
Trez.One 41401abc5f AdGuard port fix.
Auto-Unseal for Vault / Unseal Vault (push) Failing after 10m54s
2025-04-22 10:24:41 -04:00
Trez.One 3c9bf8165b AdGuard port fix. 2025-04-22 10:22:09 -04:00
Trez.One 3723b0ef01 Additional port configs for AdGuard Home. 2025-04-22 10:07:05 -04:00
Trez.One af17e3968d Adding Docker registry login for Gitea OCR.
Auto-Unseal for Vault / Unseal Vault (push) Successful in 6m48s
2025-04-20 16:10:28 -04:00
gitea-sonarqube-bot a38938b2e7 Auto Merge of PR 41 - jitsi-removal-mirotalk-deployment
Merged by Trez.One
2025-04-20 15:25:28 -04:00
Trez.One caa0479294 chore: Update README 2025-04-20 19:22:09 +00:00
Trez.One f3194795ce Typo fix for MiroTalk.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 8m11s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Successful in 22m29s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Successful in 6m31s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Successful in 9m23s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Successful in 2m0s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Successful in 26m37s
2025-04-20 14:35:15 -04:00
Trez.One 4940b2d93f Adding Mirotalk and removing Jitsi.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 14m3s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Failing after 28m39s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Has been skipped
2025-04-20 13:36:11 -04:00
gitea-sonarqube-bot 5479b52e25 Auto Merge of PR 39 - scraperr-api-sqlite-fix
Merged by Trez.One
2025-04-20 12:34:34 -04:00
Trez.One cb43b96b73 Merge pull request 'Adding cron workflow for unsealing HC Vault.' (#40) from vault-auto-unseal-workflow into main
Reviewed-on: Trez.One/rinoa-docker#40
2025-04-20 11:16:58 -04:00
Trez.One 66afa1519d Adding cron workflow for unsealing HC Vault.
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 / Ansible Configs & Docker Compose Deployment (push) Has been cancelled
2025-04-20 11:13:39 -04:00
11 changed files with 535 additions and 143 deletions
@@ -311,6 +311,12 @@ jobs:
version: "11.0.0"
- name: Install Vault
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
run: pip install hvac
- 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
+2 -1
View File
@@ -51,7 +51,7 @@
| graylog-datanode | graylog/graylog-datanode:6.1 |
| guacamole | flcontainers/guacamole: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-machine-learning | ghcr.io/immich-app/immich-machine-learning:release |
| immich-pg-db | tensorchord/pgvecto-rs:pg14-v0.2.1 |
@@ -97,6 +97,7 @@
| nextcloud | nextcloud/all-in-one:latest |
| ollama | ollama/ollama |
| ombi | lscr.io/linuxserver/ombi:latest |
| omni-tools | iib0011/omni-tools:latest |
| paperless-ngx | ghcr.io/paperless-ngx/paperless-ngx:latest |
| pgbackweb | eduardolat/pgbackweb:latest |
| pgbackweb-db | postgres:16-alpine |
@@ -1,3 +1,6 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
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'] }}
- 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",
"connection": {
"host" : "mariadb",
"port" : 3306,
"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'] }}",
"database" : "ghost_db"
}
},
"mail": {
"from": "'Ghost @ Rinoa' <noreply@trez.wtf>"
"from": "'Ghost @ Rinoa' <noreply@trez.wtf>",
"transport": "SMTP",
"options": {
"host": "postal-smtp",
@@ -1,8 +1,18 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
containers:
ghost_blog:
action_keywords:
- restart:
regex: ':[0-9]{2}\] ERROR.*$'
immich-server:
action_keywords:
- restart:
regex: 'ADVICE:.*error'
invidious:
keywords:
- regex: 'Error reading.*Connection reset by peer trying to reconnect...'
global_keywords:
keywords:
- panic
@@ -0,0 +1,159 @@
'use strict';
const packageJson = require('../../package.json');
module.exports = {
// Branding and customizations require a license: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
brand: {
app: {
language: 'en', // https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
name: 'MiroTalk',
title: '<h1>MiroTalk</h1/>Free browser based Real-time video calls.<br />Simple, Secure, Fast.',
description:
'Start your next video call with a single click. No download, plug-in, or login is required. Just get straight to talking, messaging, and sharing your screen.',
joinDescription: 'Pick a room name.<br />How about this one?',
joinButtonLabel: 'JOIN ROOM',
joinLastLabel: 'Your recent room:',
},
og: {
type: 'app-webrtc',
siteName: 'MiroTalk',
title: 'Click the link to make a call.',
description:
'MiroTalk calling provides real-time HD quality and latency simply not available with traditional technology.',
image: 'https://p2p.mirotalk.com/images/preview.png',
url: 'https://p2p.mirotalk.com',
},
site: {
shortcutIcon: '../images/logo.svg',
appleTouchIcon: '../images/logo.svg',
landingTitle: 'MiroTalk a Free Secure Video Calls, Chat & Screen Sharing.',
newCallTitle: 'MiroTalk a Free Secure Video Calls, Chat & Screen Sharing.',
newCallRoomTitle: 'Pick name. <br />Share URL. <br />Start conference.',
newCallRoomDescription:
"Each room has its disposable URL. Just pick a room name and share your custom URL. It's that easy.",
loginTitle: 'MiroTalk - Host Protected login required.',
clientTitle: 'MiroTalk WebRTC Video call, Chat Room & Screen Sharing.',
privacyPolicyTitle: 'MiroTalk - privacy and policy.',
stunTurnTitle: 'Test Stun/Turn Servers.',
notFoundTitle: 'MiroTalk - 404 Page not found.',
},
html: {
features: true,
browsers: true,
teams: true, // please keep me always true ;)
tryEasier: true,
poweredBy: true,
sponsors: true,
advertisers: true,
footer: true,
},
about: {
imageUrl: '../images/mirotalk-logo.gif',
title: `WebRTC P2P v${packageJson.version}`,
html: `
<button
id="support-button"
data-umami-event="Support button"
onclick="window.open('https://codecanyon.net/user/miroslavpejic85')">
<i class="fas fa-heart" ></i>&nbsp;Support
</button>
<br /><br /><br />
Author:<a
id="linkedin-button"
data-umami-event="Linkedin button"
href="https://www.linkedin.com/in/miroslav-pejic-976a07101/" target="_blank">
Miroslav Pejic
</a>
<br /><br />
Email:<a
id="email-button"
data-umami-event="Email button"
href="mailto:miroslav.pejic.85@gmail.com?subject=MiroTalk P2P info">
miroslav.pejic.85@gmail.com
</a>
<br /><br />
<hr />
<span>&copy; 2025 MiroTalk P2P, all rights reserved</span>
<hr />
`,
},
//...
},
/**
* Configuration for controlling the visibility of buttons in the MiroTalk P2P client.
* Set properties to true to show the corresponding buttons, or false to hide them.
* captionBtn, showSwapCameraBtn, showScreenShareBtn, showFullScreenBtn, showVideoPipBtn, showDocumentPipBtn -> (auto-detected).
*/
buttons: {
main: {
showShareQr: true,
showShareRoomBtn: true, // For guests
showHideMeBtn: true,
showAudioBtn: true,
showVideoBtn: true,
showScreenBtn: true, // autodetected
showRecordStreamBtn: true,
showChatRoomBtn: true,
showCaptionRoomBtn: true,
showRoomEmojiPickerBtn: true,
showMyHandBtn: true,
showWhiteboardBtn: true,
showSnapshotRoomBtn: true,
showFileShareBtn: true,
showDocumentPipBtn: true,
showMySettingsBtn: true,
showAboutBtn: true, // Please keep me always true, Thank you!
},
chat: {
showTogglePinBtn: true,
showMaxBtn: true,
showSaveMessageBtn: true,
showMarkDownBtn: true,
showChatGPTBtn: true,
showFileShareBtn: true,
showShareVideoAudioBtn: true,
showParticipantsBtn: true,
},
caption: {
showTogglePinBtn: true,
showMaxBtn: true,
},
settings: {
showMicOptionsBtn: true,
showTabRoomPeerName: true,
showTabRoomParticipants: true,
showTabRoomSecurity: true,
showTabEmailInvitation: true,
showCaptionEveryoneBtn: true,
showMuteEveryoneBtn: true,
showHideEveryoneBtn: true,
showEjectEveryoneBtn: true,
showLockRoomBtn: true,
showUnlockRoomBtn: true,
showShortcutsBtn: true,
},
remote: {
showAudioVolume: true,
audioBtnClickAllowed: true,
videoBtnClickAllowed: true,
showVideoPipBtn: true,
showKickOutBtn: true,
showSnapShotBtn: true,
showFileShareBtn: true,
showShareVideoAudioBtn: true,
showPrivateMessageBtn: true,
showZoomInOutBtn: false,
showVideoFocusBtn: true,
},
local: {
showVideoPipBtn: true,
showSnapShotBtn: true,
showVideoCircleBtn: true,
showZoomInOutBtn: false,
},
whiteboard: {
whiteboardLockBtn: false,
},
},
};
@@ -33,9 +33,10 @@
}
},
{
"type:": "lastfm",
"name": "lastfm",
"type": "lastfm",
"enable": true,
"clients": [],
"name": "lastfm",
"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'] }}",
"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",
"name": "listenBrainz",
"enable": true,
"clients": [],
"name": "listenBrainz",
"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'] }}",
"username": "Trez.One"
@@ -53,8 +55,9 @@
},
{
"type": "subsonic",
"name": "navidrome",
"enable": true,
"clients": [],
"name": "navidrome",
"data": {
"url": "http://navidrome:4533",
"user": "admin",
@@ -65,8 +68,8 @@
"clients": [
{
"type": "lastfm",
"name": "lastFmClient",
"enable": true,
"name": "lastFmClient",
"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'] }}",
"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",
"name": ";istenBrainzClient",
"enable": true,
"name": "ListenBrainzClient",
"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'] }}",
"username": "Trez.One"
@@ -105,4 +108,4 @@
}
}
]
}
}
+6 -4
View File
@@ -211,11 +211,13 @@ outgoing:
# Comment or un-comment plugin to activate / deactivate by default.
#
# enabled_plugins:
enabled_plugins:
# # these plugins are enabled if nothing is configured ..
# - 'Hash plugin'
# - 'Self Information'
# - 'Tracker URL remover'
- 'Hash plugin'
- 'Self Information'
- 'Tracker URL remover'
- 'Basic Calculator'
- 'Unit converter plugin'
# - 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy
# # these plugins are disabled if nothing is configured ..
# - 'Hostname replace' # see hostname_replace configuration below
+9 -9
View File
@@ -1,14 +1,14 @@
vault_addr: "https://vault.trez.wtf"
vault_token: !vault |
$ANSIBLE_VAULT;1.1;AES256
61383638616263666539386332333638356662623166393234383666366265346537353533653833
3333313230636166663734356261316132393834613737630a386166376365333862383031343838
35346338633530636463643165623432353466363230646239656463333263373738663639313136
3966633235393937350a343337613061616238323238386332363635623932333230323037353136
66616561613038656462636565656361613065373238613862386235623265396133633034326563
32663532343137366334366630356232313865666661326337326263613262306637663434646639
61623030383963623332333135396363643036646461303438643233313136346139343232353535
39356432623161333661333266333937626364643964333839333934306364373234653761326638
33396534396163373034666164393039303639643431353662666265666264353062
64633862363730303434663261343764323731376539646264333339303234333733306234616462
6634333934373065633632376165636432346330396538330a626633666365353362656139643362
38636133326633316339346237326438626538613433656364333132333630366135663836396131
6132316130623936660a353432653864366539616433356537386633633437626133313262353363
65356538666366393934316231313037393061373763313164643331396331326533613132303531
39623836313031343034353163353339653330623139663266303836643632323237353335303361
66353833643564653666323835613863313232626538626163333231306461393535376338646633
64303965653730313565613735386230616137393034613437353261333737313236386530383163
65393238623237616135356361353836343532396137323734346136313466663036
vault_token_cleaned: "{{ vault_token | regex_replace('\\n', '') }}"
secrets_path: "rinoa-docker/env"
+300 -121
View File
@@ -12,6 +12,74 @@ networks:
name: compose_default
nextcloud-aio:
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:
actual_server:
container_name: actualbudget
@@ -46,7 +114,6 @@ services:
container_name: adguard
environment:
TZ: ${TZ}
hostname: Rinoa
image: adguard/adguardhome:latest
labels:
swag: enable
@@ -66,19 +133,20 @@ services:
homepage.widget.password: ${ADGUARD_PASSWORD}
ports:
- "192.168.1.254:53:53/udp"
- 53:53/tcp
- "192.168.1.254:53:53/tcp"
- 3001:3000
- 446:443
- "192.168.1.254:446:443/tcp"
- 8008:80
- 853:853
- "192.168.1.254:853:853/tcp"
- 67:67
- 688:68
restart: unless-stopped
user: 1000:1000
volumes:
- /etc/localtime:/etc/localtime:ro
- ${DOCKER_VOLUME_CONFIG}/adguard/work:/opt/adguardhome/work
- ${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:
container_name: apprise-api
environment:
@@ -92,7 +160,7 @@ services:
homepage.group: Infrastructure/App Performance Monitoring
homepage.name: Apprise
homepage.icon: apprise.png
homepage.href: https://adgh.${MY_TLD}
homepage.href: http://192.168.1.254:54995
homepage.description: Multi-channel notification API
ports:
- 54995:8000
@@ -1424,7 +1492,7 @@ services:
- 2368:2368
restart: always
volumes:
- ${DOCKER_VOLUME_CONFIG}/ghost:/home/ghost
- ${DOCKER_VOLUME_CONFIG}/ghost:/var/lib/ghost/content
gitea:
container_name: gitea
depends_on:
@@ -1575,13 +1643,13 @@ services:
environment:
GOTIFY_SERVER_PORT: 80
GOTIFY_SERVER_KEEPALIVEPERIODSECONDS: 0
GOTIFY_SERVER_LISTENADDR:
GOTIFY_SERVER_LISTENADDR:
GOTIFY_SERVER_SSL_ENABLED: false
GOTIFY_SERVER_SSL_REDIRECTTOHTTPS: true
GOTIFY_SERVER_SSL_LISTENADDR:
GOTIFY_SERVER_SSL_LISTENADDR:
GOTIFY_SERVER_SSL_PORT: 443
GOTIFY_SERVER_SSL_CERTFILE:
GOTIFY_SERVER_SSL_CERTKEY:
GOTIFY_SERVER_SSL_CERTFILE:
GOTIFY_SERVER_SSL_CERTKEY:
GOTIFY_SERVER_SSL_LETSENCRYPT_ENABLED: false
GOTIFY_SERVER_SSL_LETSENCRYPT_ACCEPTTOS: false
GOTIFY_SERVER_SSL_LETSENCRYPT_CACHE: certs
@@ -1775,7 +1843,7 @@ services:
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
container_name: hugo
image: hugomods/hugo:exts
image: hugomods/hugo:exts-0.145.0
labels:
swag: enable
swag_proto: http
@@ -2127,6 +2195,7 @@ services:
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
@@ -2140,50 +2209,50 @@ services:
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:
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:
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_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:
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: ${JITSI__TZ}
XMPP_AUTH_DOMAIN:
TZ: ${TZ}
XMPP_AUTH_DOMAIN:
XMPP_DOMAIN:
XMPP_INTERNAL_MUC_DOMAIN:
XMPP_MUC_DOMAIN:
XMPP_RECORDER_DOMAIN:
XMPP_INTERNAL_MUC_DOMAIN:
XMPP_MUC_DOMAIN:
XMPP_RECORDER_DOMAIN:
XMPP_SERVER:
XMPP_PORT:
XMPP_TRUST_ALL_CERTS:
XMPP_PORT:
XMPP_TRUST_ALL_CERTS:
image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable}
networks:
default: null
@@ -2196,67 +2265,67 @@ services:
bind:
create_host_path: true
jitsi-jicofo:
container_name: focus.meet.jitsi
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:
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:
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:
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: ${JITSI__JIGAGI_SIP_SERVER}
XMPP_DOMAIN:
XMPP_AUTH_DOMAIN:
XMPP_INTERNAL_MUC_DOMAIN:
XMPP_MUC_DOMAIN:
XMPP_RECORDER_DOMAIN:
XMPP_SERVER:
XMPP_PORT:
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
@@ -2303,7 +2372,7 @@ services:
JIGASI_HEALTH_CHECK_INTERVAL:
JIGASI_SIP_KEEP_ALIVE_METHOD:
JIGASI_ENABLE_SDES_SRTP:
ENABLE_TRANSCRIPTIONS:
ENABLE_TRANSCRIPTIONS: 1
JIGASI_TRANSCRIBER_ADVERTISE_URL:
JIGASI_TRANSCRIBER_RECORD_AUDIO:
JIGASI_TRANSCRIBER_SEND_TXT:
@@ -2317,7 +2386,7 @@ services:
SENTRY_DSN: "${JIGASI_SENTRY_DSN:-0}"
SENTRY_ENVIRONMENT:
SENTRY_RELEASE:
TZ: ${JITSI__TZ}
TZ: ${TZ}
image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable}
networks:
default: null
@@ -2348,7 +2417,7 @@ services:
ENABLE_COLIBRI_WEBSOCKET:
ENABLE_JVB_XMPP_SERVER:
ENABLE_OCTO:
JVB_ADVERTISE_IPS:
JVB_ADVERTISE_IPS: 192.168.1.254
JVB_ADVERTISE_PRIVATE_CANDIDATES:
JVB_AUTH_USER:
JVB_AUTH_PASSWORD: ${JITSI__JVB_AUTH_PASSWORD}
@@ -2372,7 +2441,7 @@ services:
SENTRY_RELEASE:
COLIBRI_REST_ENABLED:
SHUTDOWN_REST_ENABLED:
TZ: ${JITSI__JIGAGI_SIP_SERVER}
TZ: ${TZ}
XMPP_AUTH_DOMAIN:
XMPP_INTERNAL_MUC_DOMAIN:
XMPP_SERVER:
@@ -2402,7 +2471,7 @@ services:
ENABLE_END_CONFERENCE:
ENABLE_GUESTS: 1
ENABLE_IPV6:
ENABLE_LOBBY:
ENABLE_LOBBY: 1
ENABLE_RECORDING: 1
ENABLE_XMPP_WEBSOCKET:
ENABLE_JAAS_COMPONENTS:
@@ -2422,6 +2491,7 @@ services:
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:
@@ -2468,7 +2538,7 @@ services:
TURN_PORT:
TURNS_PORT:
TURN_TRANSPORT:
TZ: ${JITSI__JIGAGI_SIP_SERVER}
TZ: ${TZ}
XMPP_DOMAIN:
XMPP_AUTH_DOMAIN:
XMPP_GUEST_DOMAIN:
@@ -2502,7 +2572,7 @@ services:
target: /prosody-plugins-custom
type: bind
jitsi-web:
container_name: meet.jitsi
container_name: jitsi-web
environment:
AMPLITUDE_ID:
ANALYTICS_SCRIPT_URLS:
@@ -2531,7 +2601,7 @@ services:
DISABLE_AUDIO_LEVELS:
DISABLE_DEEP_LINKING:
DISABLE_GRANT_MODERATOR:
DISABLE_HTTPS:
DISABLE_HTTPS: 1
DISABLE_KICKOUT:
DISABLE_LOCAL_RECORDING:
DISABLE_POLLS:
@@ -2552,9 +2622,9 @@ services:
ENABLE_FILE_RECORDING_SHARING:
ENABLE_GUESTS: 1
ENABLE_HSTS:
ENABLE_HTTP_REDIRECT:
ENABLE_HTTP_REDIRECT: 0
ENABLE_IPV6:
ENABLE_LETSENCRYPT:
ENABLE_LETSENCRYPT: 0
ENABLE_LIPSYNC:
ENABLE_NO_AUDIO_DETECTION:
ENABLE_NOISY_MIC_DETECTION:
@@ -2581,7 +2651,7 @@ services:
ENABLE_SUBDOMAINS:
ENABLE_TALK_WHILE_MUTED:
ENABLE_TCC:
ENABLE_TRANSCRIPTIONS:
ENABLE_TRANSCRIPTIONS: 1
ENABLE_XMPP_WEBSOCKET:
ENABLE_JAAS_COMPONENTS:
ETHERPAD_PUBLIC_URL:
@@ -2625,7 +2695,7 @@ services:
TOOLBAR_BUTTONS:
TRANSLATION_LANGUAGES:
TRANSLATION_LANGUAGES_HEAD:
TZ: ${JITSI__JIGAGI_SIP_SERVER}
TZ: ${TZ}
USE_APP_LANGUAGE:
VIDEOQUALITY_BITRATE_H264_LOW:
VIDEOQUALITY_BITRATE_H264_STANDARD:
@@ -2647,6 +2717,7 @@ services:
XMPP_PORT:
WHITEBOARD_ENABLED:
WHITEBOARD_COLLAB_SERVER_PUBLIC_URL:
hostname: meet.jitsi
image: jitsi/web:${JITSI_IMAGE_VERSION:-stable}
labels:
swag: enable
@@ -3091,6 +3162,7 @@ services:
DATABASE_URL: sqlite3:/config/manyfold.sqlite3
REDIS_URL: redis://redis:6379/2
SECRET_KEY_BASE: ${MANYFOLD_SECRET_KEY_BASE}
MUTLIUSER: enabled
image: lscr.io/linuxserver/manyfold:latest
labels:
homepage.group: Lifestyle
@@ -3234,7 +3306,7 @@ services:
image: postgres:17-alpine
restart: always
volumes:
- mastodon-pg-db:/var/lib/postgresql/data
- mastodon-pg-db:/var/lib/postgresql/data
meilisearch:
container_name: meilisearch
environment:
@@ -3592,6 +3664,26 @@ services:
source: /rinoa-storage
target: /storage
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:
container_name: paperless-ngx
depends_on:
@@ -4127,7 +4219,7 @@ services:
container_name: redlib
environment:
REDLIB_SFW_ONLY: off
REDLIB_BANNER:
REDLIB_BANNER:
REDLIB_ROBOTS_DISABLE_INDEXING: off
REDLIB_PUSHSHIFT_FRONTEND: undelete.pullpush.io
REDLIB_DEFAULT_THEME: nord
@@ -4141,7 +4233,7 @@ services:
REDLIB_DEFAULT_USE_HLS: off
REDLIB_DEFAULT_HIDE_HLS_NOTIFICATION: off
REDLIB_DEFAULT_AUTOPLAY_VIDEOS: off
REDLIB_DEFAULT_SUBSCRIPTIONS:
REDLIB_DEFAULT_SUBSCRIPTIONS:
REDLIB_DEFAULT_HIDE_AWARDS: off
REDLIB_DEFAULT_DISABLE_VISIT_REDDIT_CONFIRMATION: off
REDLIB_DEFAULT_HIDE_SCORE: off
@@ -4383,7 +4475,7 @@ services:
- ALL
container_name: searxng
environment:
SEARXNG_BASE_URL: https://${SEARXNG_BASE_URL:-localhost}/
SEARXNG_BASE_URL: https://search.${MY_TLD}
image: searxng/searxng:latest
labels:
homepage.group: Personal/Professional Services
@@ -5088,8 +5180,8 @@ services:
watchtower:
container_name: watchtower
environment:
REPO_PASS:
REPO_USER:
REPO_PASS:
REPO_USER:
TZ: America/New_York
WATCHTOWER_CLEANUP: true
WATCHTOWER_INCLUDE_STOPPED: false
@@ -5097,7 +5189,7 @@ services:
WATCHTOWER_NOTIFICATIONS: gotify
WATCHTOWER_NOTIFICATIONS_LEVEL: info
WATCHTOWER_NOTIFICATION_TEMPLATE: '{{range .}}{{.Message}}{{println}}{{end}}'
WATCHTOWER_NOTIFICATION_URL:
WATCHTOWER_NOTIFICATION_URL:
WATCHTOWER_SCHEDULE: 0 0 4 * * *
WATCHTOWER_TIMEOUT: 30s
WATCHTOWER_HTTP_API_METRICS: true
@@ -5209,6 +5301,83 @@ services:
source: /rinoa-storage
target: /storage
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:
authelia-pg-db:
name: authelia-pg-db
@@ -5348,3 +5517,13 @@ volumes:
name: wallos-db
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