Files
public/stacks/media/kodi/docker-compose.yaml
thesabear b1807247e7 stacks: add nextcloud Dockerfiles, fix a broken kodi compose edit
Adds the two Dockerfiles nextcloud's compose build: contexts were
already referencing but never had (custom smbclient support for the
main container, a documentserver base for euro-office) - both had
their real internal-CA-trust mechanism replaced with a comment
explaining what's there and why, per the standing rule against
publishing that detail.

Also fixes a compose bug: kodi-ma-bridge's `environment:` key had
been dropped, leaving KEY=value pairs nested under `env_file:` (which
expects file paths, not inline vars) - would have made docker-compose
try to open a file literally named `TZ=${TZ}`.

Rest of this commit is manual cleanup (comment tidying, dropped
personal media-library volume mounts, a couple of .env comment
trims).
2026-08-25 11:12:20 +03:00

57 lines
1.4 KiB
YAML

services:
mariadb:
image: mariadb:latest
container_name: kodi-mariadb
env_file:
- .env.secrets
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- MYSQL_USER=${MYSQL_USER}
volumes:
- /path/to/kodi-mariadb:/config
ports:
- ${HTTP_PORT}:3306
restart: unless-stopped
healthcheck:
test:
[
"CMD-SHELL",
"mysqladmin ping -h 127.0.0.1 -u root -p$$MYSQL_ROOT_PASSWORD --silent",
]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
networks:
- media-net
# A small custom bridge service, not an off-the-shelf image - polls Kodi's
# own API and keeps a separate media-library tool's watch-state in sync.
kodi-ma-bridge:
image: python:3.13-slim
container_name: kodi-ma-bridge
restart: unless-stopped
working_dir: /app
volumes:
- ./bridge.py:/app/bridge.py:ro
- ./requirements.txt:/app/requirements.txt:ro
command: sh -c "pip install --no-cache-dir -r requirements.txt && python bridge.py"
env_file:
- .env.secrets
environment:
- TZ=${TZ}
- MA_BASE_URL=${MA_BASE_URL}
- KODI_USER=${KODI_USER}
- KODI_INSTANCES=${KODI_INSTANCES}
- POLL_INTERVAL_SECONDS=${POLL_INTERVAL_SECONDS}
- REFILL_THRESHOLD=${REFILL_THRESHOLD}
- REFILL_COUNT=${REFILL_COUNT}
networks:
- media-net
networks:
media-net:
external: true