initial commit
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
####################################
|
||||
# 🦎 KOMODO COMPOSE - VARIABLES 🦎 #
|
||||
####################################
|
||||
|
||||
## These compose variables can be used with all Komodo deployment options.
|
||||
## Pass these variables to the compose up command using `--env-file komodo/compose.env`.
|
||||
## Additionally, they are passed to both Komodo Core and Komodo Periphery with `env_file: ./compose.env`,
|
||||
## so you can pass any additional environment variables to Core / Periphery directly in this file as well.
|
||||
|
||||
## Stick to a specific version, or use `latest`
|
||||
COMPOSE_KOMODO_IMAGE_TAG=2
|
||||
## Store dated database backups on the host - https://komo.do/docs/setup/backup
|
||||
COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups
|
||||
|
||||
## DB credentials
|
||||
KOMODO_DB_USERNAME=admin
|
||||
KOMODO_DB_PASSWORD=#gentoo#
|
||||
|
||||
## Configure a secure passkey to authenticate between Core / Periphery.
|
||||
KOMODO_PASSKEY=smf3JR9ZjzZg3mGCsLskrsDub8C3GBT
|
||||
|
||||
## Set your time zone for schedules
|
||||
## https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
TZ=Europe/Berlin
|
||||
|
||||
#=-------------------------=#
|
||||
#= Komodo Core Environment =#
|
||||
#=-------------------------=#
|
||||
|
||||
## Full variable list + descriptions are available here:
|
||||
## 🦎 https://github.com/moghtech/komodo/blob/main/config/core.config.toml 🦎
|
||||
|
||||
## Note. Secret variables also support `${VARIABLE}_FILE` syntax to pass docker compose secrets.
|
||||
## Docs: https://docs.docker.com/compose/how-tos/use-secrets/#examples
|
||||
|
||||
## Used for Oauth / Webhook url suggestion / Caddy reverse proxy.
|
||||
KOMODO_HOST=https://komodo.solusar.de
|
||||
## Displayed in the browser tab.
|
||||
KOMODO_TITLE=Komodo
|
||||
## Create a server matching this address as the "first server".
|
||||
## Use `https://host.docker.internal:8120` when using systemd-managed Periphery.
|
||||
KOMODO_FIRST_SERVER=https://periphery:8120
|
||||
## Give the first server a custom name.
|
||||
KOMODO_FIRST_SERVER_NAME=Local
|
||||
## Make all buttons just double-click, rather than the full confirmation dialog.
|
||||
KOMODO_DISABLE_CONFIRM_DIALOG=false
|
||||
|
||||
## Rate Komodo polls your servers for
|
||||
## status / container status / system stats / alerting.
|
||||
## Options: 1-sec, 5-sec, 15-sec, 1-min, 5-min, 15-min
|
||||
## Default: 15-sec
|
||||
KOMODO_MONITORING_INTERVAL="15-sec"
|
||||
## Interval at which to poll Resources for any updates / automated actions.
|
||||
## Options: 15-min, 1-hr, 2-hr, 6-hr, 12-hr, 1-day
|
||||
## Default: 1-hr
|
||||
KOMODO_RESOURCE_POLL_INTERVAL="1-hr"
|
||||
|
||||
## Used to auth incoming webhooks. Alt: KOMODO_WEBHOOK_SECRET_FILE
|
||||
KOMODO_WEBHOOK_SECRET=6Jwm9j57MejRWCvDXdkDvQJapzj7upW
|
||||
## Used to generate jwt. Alt: KOMODO_JWT_SECRET_FILE
|
||||
KOMODO_JWT_SECRET=RHQ9LqwuHb8RSmaTh2nxrc8CJ6ZXgP8
|
||||
## Time to live for jwt tokens.
|
||||
## Options: 1-hr, 12-hr, 1-day, 3-day, 1-wk, 2-wk
|
||||
KOMODO_JWT_TTL="1-day"
|
||||
|
||||
## Enable login with username + password.
|
||||
KOMODO_LOCAL_AUTH=true
|
||||
## Set the initial admin username created upon first launch.
|
||||
## Comment out to disable initial user creation,
|
||||
## and create first user using signup button.
|
||||
KOMODO_INIT_ADMIN_USERNAME=admin
|
||||
## Set the initial admin password
|
||||
KOMODO_INIT_ADMIN_PASSWORD=#gentoo#
|
||||
## Disable new user signups.
|
||||
KOMODO_DISABLE_USER_REGISTRATION=false
|
||||
## All new logins are auto enabled
|
||||
KOMODO_ENABLE_NEW_USERS=false
|
||||
## Disable non-admins from creating new resources.
|
||||
KOMODO_DISABLE_NON_ADMIN_CREATE=false
|
||||
## Allows all users to have Read level access to all resources.
|
||||
KOMODO_TRANSPARENT_MODE=false
|
||||
|
||||
## Prettier logging with empty lines between logs
|
||||
KOMODO_LOGGING_PRETTY=false
|
||||
## More human readable logging of startup config (multi-line)
|
||||
KOMODO_PRETTY_STARTUP_CONFIG=false
|
||||
|
||||
## OIDC Login
|
||||
KOMODO_OIDC_ENABLED=true
|
||||
## Must reachable from Komodo Core container
|
||||
KOMODO_OIDC_PROVIDER=https://auth.solusar.de/application/o/komodo/
|
||||
## Change the host to one reachable be reachable by users (optional if it is the same as above).
|
||||
## DO NOT include the `path` part of the URL.
|
||||
# KOMODO_OIDC_REDIRECT_HOST=https://oidc.provider.external
|
||||
## Your OIDC client id
|
||||
KOMODO_OIDC_CLIENT_ID=0EahA1Pf7Me00r1sM3cexBX4JdBkFwfpW2hsaG5p
|
||||
## Your OIDC client secret.
|
||||
## If your provider supports PKCE flow, this can be ommitted.
|
||||
KOMODO_OIDC_CLIENT_SECRET=2c74OugufUkiRmHN9f06Re2L5pZ5XvOdLAbFP1L028PVMdTMFshXrjvdfqihHqU47eM4UBe6mJ9VaSTT9MNrFVvtejXixwLGRw31qkmzkIui1Y7NkJxuHCPAtfkCUww1
|
||||
## Make usernames the full email.
|
||||
## Note. This does not work for all OIDC providers.
|
||||
# KOMODO_OIDC_USE_FULL_EMAIL=true
|
||||
## Add additional trusted audiences for token claims verification.
|
||||
## Supports comma separated list, and passing with _FILE (for compose secrets).
|
||||
# KOMODO_OIDC_ADDITIONAL_AUDIENCES=abc,123 # Alt: KOMODO_OIDC_ADDITIONAL_AUDIENCES_FILE
|
||||
|
||||
## Github Oauth
|
||||
KOMODO_GITHUB_OAUTH_ENABLED=false
|
||||
# KOMODO_GITHUB_OAUTH_ID= # Alt: KOMODO_GITHUB_OAUTH_ID_FILE
|
||||
# KOMODO_GITHUB_OAUTH_SECRET= # Alt: KOMODO_GITHUB_OAUTH_SECRET_FILE
|
||||
|
||||
## Google Oauth
|
||||
KOMODO_GOOGLE_OAUTH_ENABLED=false
|
||||
# KOMODO_GOOGLE_OAUTH_ID= # Alt: KOMODO_GOOGLE_OAUTH_ID_FILE
|
||||
# KOMODO_GOOGLE_OAUTH_SECRET= # Alt: KOMODO_GOOGLE_OAUTH_SECRET_FILE
|
||||
|
||||
## Aws - Used to launch Builder instances.
|
||||
KOMODO_AWS_ACCESS_KEY_ID= # Alt: KOMODO_AWS_ACCESS_KEY_ID_FILE
|
||||
KOMODO_AWS_SECRET_ACCESS_KEY= # Alt: KOMODO_AWS_SECRET_ACCESS_KEY_FILE
|
||||
|
||||
#=------------------------------=#
|
||||
#= Komodo Periphery Environment =#
|
||||
#=------------------------------=#
|
||||
|
||||
## Full variable list + descriptions are available here:
|
||||
## 🦎 https://github.com/moghtech/komodo/blob/main/config/periphery.config.toml 🦎
|
||||
|
||||
## Specify the root directory used by Periphery agent.
|
||||
PERIPHERY_ROOT_DIRECTORY=/etc/komodo
|
||||
|
||||
## Periphery passkeys must include KOMODO_PASSKEY to authenticate.
|
||||
PERIPHERY_PASSKEYS=${KOMODO_PASSKEY}
|
||||
|
||||
## Specify whether to disable the terminals feature
|
||||
## and disallow remote shell access (inside the Periphery container).
|
||||
PERIPHERY_DISABLE_TERMINALS=false
|
||||
|
||||
## Enable SSL using self signed certificates.
|
||||
## Connect to Periphery at https://address:8120.
|
||||
PERIPHERY_SSL_ENABLED=true
|
||||
|
||||
## If the disk size is overreporting, can use one of these to
|
||||
## whitelist / blacklist the disks to filter them, whichever is easier.
|
||||
## Accepts comma separated list of paths.
|
||||
## Usually whitelisting just /etc/hostname gives correct size.
|
||||
PERIPHERY_INCLUDE_DISK_MOUNTS=/etc/hostname
|
||||
# PERIPHERY_EXCLUDE_DISK_MOUNTS=/snap,/etc/repos
|
||||
|
||||
## Prettier logging with empty lines between logs
|
||||
PERIPHERY_LOGGING_PRETTY=false
|
||||
## More human readable logging of startup config (multi-line)
|
||||
PERIPHERY_PRETTY_STARTUP_CONFIG=false
|
||||
|
||||
|
||||
# git providers
|
||||
[[git_provider]]
|
||||
domain = "gitea.realm.local" # use a custom provider, like self-hosted gitea
|
||||
accounts = [
|
||||
{ username = "caelebfi", token = "d592b900dacb1749cbce7d3b2adeb0dbb8a26a49" },
|
||||
]
|
||||
@@ -0,0 +1 @@
|
||||
mongodb/
|
||||
@@ -0,0 +1,82 @@
|
||||
################################
|
||||
# 🦎 KOMODO COMPOSE - MONGO 🦎 #
|
||||
################################
|
||||
|
||||
## This compose file will deploy:
|
||||
## 1. MongoDB
|
||||
## 2. Komodo Core
|
||||
## 3. Komodo Periphery
|
||||
|
||||
services:
|
||||
mongo:
|
||||
image: mongo
|
||||
labels:
|
||||
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
|
||||
command: --quiet --wiredTigerCacheSizeGB 0.25
|
||||
restart: unless-stopped
|
||||
# ports:
|
||||
# - 27017:27017
|
||||
volumes:
|
||||
- mongo-data:/data/db
|
||||
- mongo-config:/data/configdb
|
||||
environment:
|
||||
MONGO_INITDB_ROOT_USERNAME: ${KOMODO_DB_USERNAME}
|
||||
MONGO_INITDB_ROOT_PASSWORD: ${KOMODO_DB_PASSWORD}
|
||||
|
||||
core:
|
||||
image: ghcr.io/moghtech/komodo-core:${COMPOSE_KOMODO_IMAGE_TAG:-latest}
|
||||
labels:
|
||||
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- mongo
|
||||
ports:
|
||||
- 9120:9120
|
||||
env_file: ./.env
|
||||
init: true
|
||||
environment:
|
||||
KOMODO_DATABASE_ADDRESS: mongo:27017
|
||||
KOMODO_DATABASE_USERNAME: ${KOMODO_DB_USERNAME}
|
||||
KOMODO_DATABASE_PASSWORD: ${KOMODO_DB_PASSWORD}
|
||||
volumes:
|
||||
## Store dated backups of the database - https://komo.do/docs/setup/backup
|
||||
- ${COMPOSE_KOMODO_BACKUPS_PATH}:/backups
|
||||
- keys:/config/keys
|
||||
## Store sync files on server
|
||||
# - /path/to/syncs:/syncs
|
||||
## Optionally mount a custom core.config.toml
|
||||
# - /path/to/core.config.toml:/config/config.toml
|
||||
## advanced: local root ca for trust
|
||||
- /usr/local/share/ca-certificates/minica.crt:/usr/local/share/ca-certificates/minica.crt
|
||||
## Allows for systemd Periphery connection at
|
||||
## "https://host.docker.internal:8120"
|
||||
# extra_hosts:
|
||||
# - host.docker.internal:host-gateway
|
||||
|
||||
## Deploy Periphery container using this block,
|
||||
## or deploy the Periphery binary with systemd using
|
||||
## https://github.com/moghtech/komodo/tree/main/scripts
|
||||
periphery:
|
||||
image: ghcr.io/moghtech/komodo-periphery:${COMPOSE_KOMODO_IMAGE_TAG:-latest}
|
||||
labels:
|
||||
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
|
||||
restart: unless-stopped
|
||||
init: true
|
||||
env_file: ./.env
|
||||
volumes:
|
||||
## Mount external docker socket
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
## Allow Periphery to see processes outside of container
|
||||
- /proc:/proc
|
||||
## Specify the Periphery agent root directory.
|
||||
## Must be the same inside and outside the container,
|
||||
## or docker will get confused. See https://github.com/moghtech/komodo/discussions/180.
|
||||
## Default: /etc/komodo.
|
||||
- ${PERIPHERY_ROOT_DIRECTORY:-/etc/komodo}:${PERIPHERY_ROOT_DIRECTORY:-/etc/komodo}
|
||||
- keys:/config/keys
|
||||
|
||||
volumes:
|
||||
# Mongo
|
||||
mongo-data:
|
||||
mongo-config:
|
||||
keys:
|
||||
@@ -0,0 +1,17 @@
|
||||
services:
|
||||
cli:
|
||||
image: ghcr.io/moghtech/komodo-cli
|
||||
## Optionally specify a specific folder with `--restore-folder`,
|
||||
## otherwise restores the most recent backup.
|
||||
command: km database restore -y # --restore-folder 2025-08-14_03-00-01
|
||||
volumes:
|
||||
# Same mount to backup files as above
|
||||
- /opt/komodo/backups:/backups
|
||||
environment:
|
||||
## Database port must be reachable.
|
||||
## Note the different env vars needed compared to backup.
|
||||
## This is to prevent any accidental restores.
|
||||
KOMODO_CLI_DATABASE_TARGET_ADDRESS: mongo:27017
|
||||
KOMODO_CLI_DATABASE_TARGET_USERNAME: admin
|
||||
KOMODO_CLI_DATABASE_TARGET_PASSWORD: #gentoo#
|
||||
KOMODO_CLI_DATABASE_TARGET_DB_NAME: komodo
|
||||
@@ -0,0 +1,30 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFIzCCAwugAwIBAgIUGyhkhG3aoGU1O26gMG/SPRWsZd8wDQYJKoZIhvcNAQEL
|
||||
BQAwITELMAkGA1UEBhMCWFgxEjAQBgNVBAMMCXBlcmlwaGVyeTAeFw0yNTEwMTcw
|
||||
NzE1MDhaFw0zNTEwMTUwNzE1MDhaMCExCzAJBgNVBAYTAlhYMRIwEAYDVQQDDAlw
|
||||
ZXJpcGhlcnkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDT7vUXsI6v
|
||||
EnLxiY7RRpk2bAIh6T+pYvwswnTg+zQKMPD+kdOQvjPnciYiTvVbkyZoD3MJxZhH
|
||||
Mv9beFyJUuvEO3dDVGP1Q3Ipdhu3BEdguB9UtCJU90xjhisLHIoC7QSZXMczyrRt
|
||||
Rve9wx+M2arlC8Jv7W2GjFeggoO/KlE4c/nWhDnAp45r6sOZ7Xh/WShpzWnuQbqK
|
||||
k3fNBBXvb3xH22mJR+77rtaGsmjLCUcBs55dpSoJ5JM3ifQOOyQXpscdrFLFzFO+
|
||||
QmrQpfWr0o2680RpIVkkyRv7F1BWtGwnD81B11N/juX9Op5LifXtbOiENah/04gn
|
||||
KGxFrY2F1C+zR1E2oXmRDu3UZztJuvPCKlQ1UocOqVhZ5bdtokEu1Fh9de7TzvAI
|
||||
u0nj9F3qdSeqvfIc3Ws+awAqOUznBUxIWvxj8lRmmSW6HwOal2ygkiE/dqzDj/i+
|
||||
O4r1g6OrqL85N2k6I9qK8k8eiFxpbX41wQaJou1gw16thG+cLYI33iL/ufgcSCW0
|
||||
Ac4EqaEYxtuWkzJ9kPAEmJ44uiGcXLNYd0L22AA6TxS3mSoqeoqAUeffLb+79o+z
|
||||
PyGbbbeFfOVk5gDT84bjDYCSI+dBbkIWMadBcdo7EqHVHcflkyWlliQZNu312IG0
|
||||
3wtlY/X1hwZtl3mmZ6odvwBzMyQSvbPNowIDAQABo1MwUTAdBgNVHQ4EFgQUjVis
|
||||
eKIEeiTi0yC7W3Xq4lCd5dswHwYDVR0jBBgwFoAUjViseKIEeiTi0yC7W3Xq4lCd
|
||||
5dswDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAnQfWFCKAew+S
|
||||
5n52fDS84JYQTYp6aAodm4h9hkWrhdKf1fz8tvsYESdlRLWzUNiyjQHNADSXfDds
|
||||
pp6jXLel9RCxhYkKNeygg3HIJE0Lik1ZApCqPWXgn2XMdR/M3h8K7f+v0ORLiW3M
|
||||
YjswfZRuSsAvee2+QTUzxmiR+vCah2a10dDFf4hBeaD2MGxC3d9kQqxEux1sJOJ/
|
||||
+uGgiknW7W5c2UdilabIVNTlbFd+sgoJUatsHsaj0wEbB2e0LLgxs/SIKzD4Nvrw
|
||||
LrTo/zABVKlg3ZOeeDSlK3JVX3fF95jBf+qyLwuCB3vSiZCxwyYlXFYAAWLbmvMM
|
||||
dPRI+qoR4woeIHoP8NCJSIqyy1Yvr/Z7Z3tnbrztxZhnAbuEeaDPjBjQajMXtp95
|
||||
gZNd3bjbvUcJ3DdUeXYg5yMsOQBr5qlVXh9Vvl6SWqgexm5W9NVErxhobGGaIFwK
|
||||
B+jwy8zBWclxk07tiudE6xqfOxabi+TO0vHGV98A0ZhUIemYQs6451uUOMDICkWI
|
||||
rsSYwdD619Uo9/eZMZKqiosNgO7lqSwRl3PzXbYgIgJRN+K1PUnhJpHU9GcHi0sn
|
||||
93FHSouXgCC/rtlr6Dl1MW5fx7xsbd9cHWO/KkPIYRXfKySAS1N2fI2pJwLegvoe
|
||||
yFDDpmOEtm9FB9QmMCRXenuXiuXYDLs=
|
||||
-----END CERTIFICATE-----
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
BinQeyEqt+X3hwHWlAKFQ8acFHXMU38=
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -0,0 +1,17 @@
|
||||
services:
|
||||
check-mk-raw:
|
||||
stdin_open: true
|
||||
tty: true
|
||||
ports:
|
||||
- 8083:5000
|
||||
- 8000:8000
|
||||
tmpfs: /opt/omd/sites/cmk/tmp:uid=1000,gid=1000
|
||||
volumes:
|
||||
- monitoring:/omd/sites
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
container_name: monitoring
|
||||
restart: always
|
||||
image: checkmk/check-mk-raw:2.4.0p17
|
||||
volumes:
|
||||
monitoring:
|
||||
name: monitoring
|
||||
@@ -0,0 +1,27 @@
|
||||
services:
|
||||
deconz:
|
||||
container_name: deconz
|
||||
restart: always
|
||||
network_mode: host
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /opt/deconz:/opt/deCONZ
|
||||
devices:
|
||||
- /dev/ttyUSB0
|
||||
environment:
|
||||
- DECONZ_DEVICE=/dev/ttyUSB0
|
||||
- DECONZ_BAUDRATE=115200
|
||||
- DECONZ_VNC_MODE=1
|
||||
- DECONZ_VNC_PASSWORD=gentoo
|
||||
- DECONZ_WEB_PORT=80
|
||||
- DECONZ_WS_PORT=8443
|
||||
- DEBUG_INFO=1
|
||||
- DEBUG_APS=0
|
||||
- DEBUG_ZCL=0
|
||||
- DEBUG_ZDP=0
|
||||
- DEBUG_OTA=0
|
||||
- DEBUG_HTTP=0
|
||||
- DEBUG_ERROR=0
|
||||
- DECONS_START_VERBOSE=0
|
||||
image: deconzcommunity/deconz:latest
|
||||
networks: {}
|
||||
@@ -0,0 +1,27 @@
|
||||
services:
|
||||
deconz:
|
||||
container_name: deconz
|
||||
restart: always
|
||||
network_mode: host
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /opt/deconz.old:/opt/deCONZ
|
||||
devices:
|
||||
- /dev/ttyACM0
|
||||
environment:
|
||||
- DECONZ_DEVICE=/dev/ttyACM0
|
||||
# - DECONZ_BAUDRATE=115200
|
||||
- DECONZ_VNC_MODE=1
|
||||
- DECONZ_VNC_PASSWORD=gentoo
|
||||
- DECONZ_WEB_PORT=80
|
||||
- DECONZ_WS_PORT=443
|
||||
- DECONZ_UPNP=1
|
||||
- DEBUG_INFO=1
|
||||
- DEBUG_APS=0
|
||||
- DEBUG_ZCL=0
|
||||
- DEBUG_ZDP=0
|
||||
- DEBUG_OTA=0
|
||||
- DEBUG_HTTP=0
|
||||
- DECONS_START_VERBOSE=0
|
||||
image: deconzcommunity/deconz
|
||||
networks: {}
|
||||
@@ -0,0 +1,8 @@
|
||||
OPENID_AUTHORIZATION_ENDPOINT=https://auth.solusar.de/application/o/authorize/
|
||||
OPENID_CLIENT_ID=9HsIPpBNLW29beN7nvRnahocram74nbzNLZszJLn
|
||||
OPENID_ISSUER=https://auth.solusar.de/application/o/guacamole/
|
||||
OPENID_JWKS_ENDPOINT=https://auth.solusar.de/application/o/guacamole/jwks/
|
||||
OPENID_REDIRECT_URI=https://guacamole.solusar.de/guacamole/
|
||||
OPENID_USERNAME_CLAIM_TYPE=preferred_username
|
||||
OPENID_ENABLED=true
|
||||
EXTENSION_PRIORITY=*,openid
|
||||
@@ -0,0 +1,61 @@
|
||||
services:
|
||||
# guacd
|
||||
guacd:
|
||||
container_name: guacd
|
||||
image: guacamole/guacd:1.6.0
|
||||
networks:
|
||||
- guacnetwork_compose
|
||||
restart: always
|
||||
volumes:
|
||||
- /opt/guacamole/drive:/drive:rw
|
||||
- /opt/guacamole/record:/record:rw
|
||||
# postgres
|
||||
postgres:
|
||||
container_name: postgres
|
||||
environment:
|
||||
PGDATA: /var/lib/postgresql/data/guacamole
|
||||
POSTGRES_DB: guacamole_db
|
||||
POSTGRES_PASSWORD: 'eCVwK6rYFJYLjchR'
|
||||
POSTGRES_USER: guacamole_user
|
||||
image: postgres:15.2-alpine
|
||||
networks:
|
||||
- guacnetwork_compose
|
||||
restart: always
|
||||
volumes:
|
||||
- /opt/guacamole/init:/docker-entrypoint-initdb.d:z
|
||||
- /opt/guacamole/data:/var/lib/postgresql/data:Z
|
||||
# guacamole
|
||||
guacamole:
|
||||
container_name: guacamole
|
||||
group_add:
|
||||
- "1000"
|
||||
depends_on:
|
||||
- guacd
|
||||
- postgres
|
||||
environment:
|
||||
GUACD_HOSTNAME: guacd
|
||||
POSTGRESQL_DATABASE: guacamole_db
|
||||
POSTGRESQL_HOSTNAME: postgres
|
||||
POSTGRESQL_PASSWORD: 'eCVwK6rYFJYLjchR'
|
||||
POSTGRESQL_USERNAME: guacamole_user
|
||||
RECORDING_SEARCH_PATH: /record
|
||||
OPENID_ENABLED: "true"
|
||||
OPENID_AUTHORIZATION_ENDPOINT: https://auth.solusar.de/application/o/authorize/
|
||||
OPENID_CLIENT_ID: p6l9nrnjIo2BrYa2RTty8vprwsbYCn1PNhvhabOu
|
||||
OPENID_ISSUER: https://auth.solusar.de/application/o/guacamole/
|
||||
OPENID_JWKS_ENDPOINT: https://auth.solusar.de/application/o/guacamole/jwks/
|
||||
OPENID_REDIRECT_URI: https://guacamole.solusar.de/guacamole/
|
||||
OPENID_USERNAME_CLAIM_TYPE: preferred_username
|
||||
EXTENSION_PRIORITY: openid
|
||||
image: guacamole/guacamole:1.6.0
|
||||
networks:
|
||||
- guacnetwork_compose
|
||||
volumes:
|
||||
- /opt/guacamole/record:/record:rw
|
||||
ports:
|
||||
- 8080:8080/tcp # Guacamole is on :8080/guacamole, not /.
|
||||
restart: always
|
||||
|
||||
networks:
|
||||
guacnetwork_compose:
|
||||
driver: bridge
|
||||
@@ -0,0 +1,37 @@
|
||||
services:
|
||||
wyoming-whisper:
|
||||
image: rhasspy/wyoming-whisper:2.5.0
|
||||
container_name: ha-whisper
|
||||
ports:
|
||||
- 10300:10300
|
||||
volumes:
|
||||
- /opt/rhasspy/whisper:/data
|
||||
# command: --model tiny-int8 --language en
|
||||
command: --model tiny --language de
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
wyoming-piper:
|
||||
container_name: ha-piper
|
||||
image: rhasspy/wyoming-piper:1.3.2
|
||||
command: --voice de_DE-ramona-low
|
||||
volumes:
|
||||
- /opt/rhasspy/piper-data:/data
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 10200:10200
|
||||
networks: {}
|
||||
|
||||
# wyoming-openwakeword:
|
||||
# image: rhasspy/wyoming-openwakeword
|
||||
# container_name: ha-wakeword
|
||||
# command: [ "--preload-model", "ok_nabu" ]
|
||||
# volumes:
|
||||
# - "/opt/rhasspy/openwakeword/custom-models:/custom"
|
||||
# environment:
|
||||
# - TZ=Europe/Berlin
|
||||
# restart: unless-stopped
|
||||
# ports:
|
||||
# - 10400:10400
|
||||
@@ -0,0 +1,21 @@
|
||||
LAM_SKIP_PRECONFIGURE=false
|
||||
LDAP_DOMAIN=realm.local
|
||||
LDAP_BASE_DN=dc=ldap,dc=realm,dc=local
|
||||
LDAP_USERS_DN=dc=ldap,dc=realm,dc=local
|
||||
LDAP_GROUPS_DN=dc=ldap,dc=realm,dc=local
|
||||
LDAP_SERVER=ldap://192.168.0.40:389
|
||||
LDAP_USER=uid=lam93,cn=users,dc=ldap,dc=realm,dc=local
|
||||
LAM_LANG=de_DE
|
||||
LAM_PASSWORD=Moppel+Kotze4
|
||||
LAM_CONFIGURE_CRON=false
|
||||
LAM_CONFIGURATION_DATABASE=files
|
||||
LAM_CONFIGURATION_HOST=
|
||||
LAM_CONFIGURATION_PORT=
|
||||
LAM_CONFIGURATION_USER=
|
||||
LAM_CONFIGURATION_PASSWORD=
|
||||
LAM_CONFIGURATION_DATABASE_NAME=
|
||||
LAM_LICENSE=
|
||||
LAM_DISABLE_TLS_CHECK=false
|
||||
LDAP_ORGANISATION="LDAP Account Manager Demo"
|
||||
LDAP_ADMIN_PASSWORD=adminpw
|
||||
LDAP_READONLY_USER_PASSWORD=readonlypw
|
||||
@@ -0,0 +1,20 @@
|
||||
services:
|
||||
ldap-account-manager:
|
||||
image: ghcr.io/ldapaccountmanager/lam:stable
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8084:80"
|
||||
volumes:
|
||||
- lamconfig:/var/lib/ldap-account-manager/config
|
||||
environment:
|
||||
- LAM_PASSWORD=${LAM_PASSWORD}
|
||||
- LAM_LANG=de_DE
|
||||
- LDAP_SERVER=${LDAP_SERVER}
|
||||
- LDAP_DOMAIN=${LDAP_DOMAIN}
|
||||
- LDAP_BASE_DN=${LDAP_BASE_DN}
|
||||
- LDAP_USER=cn=admin,${LDAP_BASE_DN}
|
||||
- DEBUG=true
|
||||
hostname: ldap-account-manager
|
||||
|
||||
volumes:
|
||||
lamconfig:
|
||||
@@ -0,0 +1,4 @@
|
||||
OT_RCP_DEVICE=spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200
|
||||
OT_INFRA_IF=ens18
|
||||
OT_THREAD_IF=wpan0
|
||||
OT_LOG_LEVEL=7
|
||||
@@ -0,0 +1,31 @@
|
||||
services:
|
||||
matter-server:
|
||||
container_name: matter-server
|
||||
image: ghcr.io/home-assistant-libs/python-matter-server:stable
|
||||
restart: unless-stopped
|
||||
network_mode: host # Critical for Thread network access
|
||||
security_opt:
|
||||
- apparmor=unconfined
|
||||
volumes:
|
||||
- /opt/matter:/data
|
||||
|
||||
otbr:
|
||||
container_name: otbr
|
||||
image: ghcr.io/ownbee/hass-otbr-docker
|
||||
restart: unless-stopped
|
||||
privileged: true
|
||||
network_mode: host
|
||||
environment:
|
||||
DEVICE: "/dev/ttyACM0" # Replace with the device found in Step 1
|
||||
FLOW_CONTROL: 1
|
||||
FIREWALL: 1
|
||||
NAT64: 1
|
||||
BAUDRATE: 115200
|
||||
OTBR_REST_PORT: 8081
|
||||
OTBR_WEB_PORT: 7586
|
||||
AUTOFLASH_FIRMWARE: 0
|
||||
BACKBONE_IF: "ens18" # Replace with your network interface found in Step 3
|
||||
devices:
|
||||
- /dev/ttyACM0
|
||||
volumes:
|
||||
- /opt/otbr_data:/var/lib/thread
|
||||
@@ -0,0 +1,64 @@
|
||||
services:
|
||||
database:
|
||||
image: postgres:17-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: patchmon_db
|
||||
POSTGRES_USER: patchmon_user
|
||||
POSTGRES_PASSWORD: GQ22vbfGmcJC6ny3
|
||||
volumes:
|
||||
- /opt/patchmon/postgres_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- pg_isready -U patchmon_user -d patchmon_db
|
||||
interval: 3s
|
||||
timeout: 5s
|
||||
retries: 7
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
restart: unless-stopped
|
||||
command: redis-server --requirepass M9zQvGGE5yUJufMG # CHANGE THIS TO YOUR REDIS PASSWORD
|
||||
volumes:
|
||||
- /opt/patchmon/redis_data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "--no-auth-warning", "-a", "your-redis-password-here", "ping"] # CHANGE THIS TO YOUR REDIS PASSWORD
|
||||
interval: 3s
|
||||
timeout: 5s
|
||||
retries: 7
|
||||
|
||||
backend:
|
||||
image: ghcr.io/patchmon/patchmon-backend:latest
|
||||
restart: unless-stopped
|
||||
# See PatchMon Docker README for additional environment variables and configuration instructions
|
||||
environment:
|
||||
LOG_LEVEL: info
|
||||
DATABASE_URL: postgresql://patchmon_user:GQ22vbfGmcJC6ny3@database:5432/patchmon_db
|
||||
JWT_SECRET: 81093711ad0855badb44907c05b035e865d74d905e4c9b0d6b8b2cd076fa535ab8c54035e4e8aa0ad5f548ee357906bc3ac668a31003baeb1c5f7f5d10033e6d
|
||||
SERVER_PROTOCOL: https
|
||||
SERVER_HOST: patchmon.realm.local
|
||||
SERVER_PORT: 443
|
||||
CORS_ORIGIN: https://patchmon.realm.local
|
||||
# Redis Configuration
|
||||
REDIS_HOST: redis
|
||||
REDIS_PORT: 6379
|
||||
REDIS_PASSWORD: M9zQvGGE5yUJufMG # CHANGE THIS TO YOUR REDIS PASSWORD
|
||||
REDIS_DB: 0
|
||||
volumes:
|
||||
- /opt/patchmon/agent_files:/app/agents
|
||||
depends_on:
|
||||
database:
|
||||
condition: service_healthy
|
||||
|
||||
frontend:
|
||||
image: ghcr.io/patchmon/patchmon-frontend:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 3000:3000
|
||||
depends_on:
|
||||
backend:
|
||||
condition: service_healthy
|
||||
|
||||
networks:
|
||||
patchmon: {}
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
services:
|
||||
projectsend:
|
||||
image: lscr.io/linuxserver/projectsend:latest
|
||||
container_name: projectsend
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- /opt/projectsend/config:/config
|
||||
- /opt/docker/projectsend/data:/data
|
||||
ports:
|
||||
- 8083:80
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,43 @@
|
||||
services:
|
||||
roundcubedb:
|
||||
image: mysql:5.7
|
||||
container_name: roundcubedb
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /opt/roundcube/db/mysql:/var/lib/mysql
|
||||
# ports:
|
||||
# - 34010:5432
|
||||
# - 33006:3306
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=3FnPAnyxJcUR4Hzw
|
||||
- MYSQL_DATABASE=roundcubemail
|
||||
roundcubemail:
|
||||
image: roundcube/roundcubemail:latest
|
||||
container_name: roundcubemail
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- roundcubedb
|
||||
links:
|
||||
- roundcubedb
|
||||
volumes:
|
||||
- /opt/roundcube/www/plugins/twofactor_gauthenticator:/var/www/html/plugins/twofactor_gauthenticator
|
||||
ports:
|
||||
- 9002:80
|
||||
environment:
|
||||
- ROUNDCUBEMAIL_DB_TYPE=mysql
|
||||
- ROUNDCUBEMAIL_DB_HOST=roundcubedb
|
||||
- ROUNDCUBEMAIL_DB_PASSWORD=3FnPAnyxJcUR4Hzw
|
||||
- ROUNDCUBEMAIL_SKIN=elastic
|
||||
- ROUNDCUBEMAIL_DEFAULT_HOST=ssl://mail.solusar.de
|
||||
- ROUNDCUBEMAIL_DEFAULT_PORT=993
|
||||
- ROUNDCUBEMAIL_SMTP_SERVER=tls://mail.solusar.de
|
||||
- ROUNDCUBEMAIL_SMTP_PORT=587
|
||||
- ROUNDCUBEMAIL_PLUGINS=twofactor_gauthenticator
|
||||
adminer:
|
||||
container_name: adminer
|
||||
image: adminer
|
||||
restart: always
|
||||
ports:
|
||||
- 8082:8080
|
||||
environment:
|
||||
ADMINER_DEFAULT_SERVER: roundcubedb
|
||||
Reference in New Issue
Block a user