---
services:
  kasm:
    image: ghcr.io/linuxserver/kasm@sha256:8f383a79a222b39a17bfac78ec4488709ee6e265304b11137027424cec09427c
    container_name: kasm
    privileged: true
    environment:
      - KASM_PORT=443
      - DOCKER_HUB_USERNAME=$DOCKER_HUB_USERNAME
      - DOCKER_HUB_PASSWORD=$DOCKER_HUB_PASSWORD
    volumes:
      - /docker/appdata/kasm2:/opt
    ports:
      - 3000:3000
      - 443:443
    restart: unless-stopped
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

  minio:
    command: server /data --console-address ":9001"
    image: minio/minio@sha256:1dce27c494a16bae114774f1cec295493f3613142713130c2d22dd5696be6ad3
    environment:
      - MINIO_ROOT_PASSWORD=$MINIO_ROOT_PASSWORD
      - MINIO_ROOT_USER=mafyuh
    volumes:
      - /docker/appdata/minio/data:/data
    container_name: minio
    ports:
      - 9001:9001
      - 9000:9000

  couchdb-obsidian-livesync:
    container_name: obsidian-livesync
    image: couchdb:3.3.3
    environment:
      - PUID=1000
      - PGID=1000
      - UMASK=0022
      - TZ=America/New_York
      - COUCHDB_USER=mafyuh
      - COUCHDB_PASSWORD=$COUCHDB_PASSWORD
    volumes:
      - /docker/appdata/couchdb-obsidian-livesync/data:/opt/couchdb/data
      - /docker/appdata/couchdb-obsidian-livesync/etc/local.d:/opt/couchdb/etc/local.d
    ports:
      - 5984:5984
    restart: unless-stopped