Files
Dash/infra/compose.casaos.yaml
Tomas DvorakandDevin a94ae1889a feat(infra): add CasaOS compose with persistent /DATA bind
CasaOS copies imported compose files to /tmp/casaos-compose-app-* and
runs them from there, so the repo compose's relative ./data bind fails
at install ("bind source path does not exist") and would be wiped on
reboot. infra/compose.casaos.yaml mounts /DATA/AppData/dash instead and
carries x-casaos metadata for the app tile.

Authored By: TDvorak <[email protected]>

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-03 10:21:18 +02:00

58 lines
1.7 KiB
YAML

# CasaOS-ready compose. Import via Apps -> Custom Install -> Import from file.
#
# Do NOT paste the repo's docker-compose.yml into CasaOS: it copies imported
# files to /tmp/casaos-compose-app-* and runs them there, so a relative
# "./data" bind resolves under /tmp — install fails with "bind source path
# does not exist", and even if created the data dies on reboot. This file
# binds /DATA/AppData/dash instead — CasaOS's persistent app-data root,
# browsable in the Files app.
name: dash
services:
dash:
image: ghcr.io/dvorinka/dash:latest
container_name: dash
restart: unless-stopped
ports:
- "3000:3000"
environment:
- TZ=${TZ:-UTC}
volumes:
# Short-form bind auto-creates the host dir; long-form "type: bind" does
# not unless bind.create_host_path is set.
- /DATA/AppData/dash:/data
x-casaos:
envs:
- container: TZ
description:
en_us: "Timezone, e.g. Europe/Prague"
ports:
- container: "3000"
description:
en_us: "Web UI and API"
volumes:
- container: /data
description:
en_us: "All Dash state: SQLite database and uploaded icons"
x-casaos:
architectures:
- amd64
- arm64
main: dash
author: Dvorinka
category: Dashboard
developer: Dvorinka
description:
en_us: "Self-hosted homelab dashboard: services, uptime monitors, domain watch, system metrics. Single container, all state in /data."
icon: https://raw.githubusercontent.com/Dvorinka/Dash/main/dash.svg
tagline:
en_us: "Homelab dashboard in a single container"
thumbnail: ""
title:
en_us: Dash
scheme: http
port_map: "3000"
index: /
store_app_id: dash