services: sencho: image: saelix/sencho:latest build: . container_name: sencho restart: unless-stopped # Publish only the Sencho UI / API port. Sencho Mesh runs on an internal # `sencho_mesh` Docker network that Sencho creates and joins on boot, # so cross-stack mesh routing does not require any extra host ports or # firewall rules. Override the mesh subnet (default 172.30.0.0/24) with # SENCHO_MESH_SUBNET if it conflicts with your network. ports: - "1852:1852" volumes: # Required: Docker Socket for container orchestration - /var/run/docker.sock:/var/run/docker.sock # Required: Sencho's internal database for alerts and settings # Format is [Host Path]:[Container Path] # You can change the left side to anywhere on your server, but leave the right side as /app/data - ./data:/app/data # ⚠️ THE 1:1 COMPOSE PATH RULE ⚠️ # Mount the root folder where all your compose files live. # The path on the left (Host) MUST EXACTLY MATCH the path on the right (Container). # EXAMPLE: If your compose files are in /opt/docker, use: - /opt/docker:/opt/docker - /path/to/your/docker/folder:/path/to/your/docker/folder # (Optional but Recommended) Media/Data Drives # Mount your media drives here so Docker Compose inside Sencho can validate paths during deployment. - /path/to/your/media/drives:/path/to/your/media/drives # (Optional, ZFS hosts only) OpenZFS ARC stats for ZFS-aware host memory. # ARC cache is reclaimable but the kernel reports it as used, which can # trigger false host-memory alerts. Uncomment to let Sencho treat ARC as # available memory. Usually already visible in the container; only needed # if your runtime does not expose /proc/spl/kstat/zfs/arcstats. # - /proc/spl/kstat/zfs/arcstats:/host/proc/spl/kstat/zfs/arcstats:ro environment: # ENVIRONMENT VARIABLES FOR INSIDE THE CONTAINER # This points to the Container Path (right side) of your 1:1 mount above - COMPOSE_DIR=/path/to/your/docker/folder/compose # This points to the Container Path (right side) of your database mount above. Leave this as /app/data. - DATA_DIR=/app/data # (Optional, ZFS hosts only) Container-side path to the OpenZFS ARC stats # file, if it is not at a standard location. Leave empty to auto-detect # /host/proc/spl/kstat/zfs/arcstats then /proc/spl/kstat/zfs/arcstats. - SENCHO_ZFS_ARCSTATS_PATH=${SENCHO_ZFS_ARCSTATS_PATH:-} # ⚠️ GLOBAL ENVIRONMENT VARIABLES ⚠️ # If your compose files rely on host-level shell variables (like $PUID, $TZ) # or a centralized globals.env file, you MUST pass them into Sencho here. # Otherwise, Sencho will evaluate your compose files with empty variables. # If you do not use a global env file, you can delete these two lines. env_file: - /path/to/your/docker/folder/env/globals.env