---
services:
  kasm:
    image: ghcr.io/linuxserver/kasm@sha256:990e08dd8cfc7e67b11cf66abc43d066dcf6ffcd3b3256a7914a8cd6d8062280
    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:a929054ae025fa7997857cd0e2a2e3029238e31ad89877326dc032f4c1a14259
    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