Files
nas-tools/dashboard/docker-compose.yml
T
jimmy c29bda76f3 fix: support image drop and paste in terminal
Allow drag/drop and clipboard image paste in the dashboard terminal so users can quickly upload images into the active shell session, with a visible hint for discoverability.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 05:48:10 +00:00

81 lines
2.4 KiB
YAML

services:
docker-socket-proxy:
image: tecnativa/docker-socket-proxy
container_name: docker-socket-proxy
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
environment:
CONTAINERS: 1
IMAGES: 1
INFO: 1
POST: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- internal
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
dashboard:
# build: .
image: nas-dashboard:latest
container_name: nas-dashboard
restart: unless-stopped
ports:
- "127.0.0.1:4000:4000"
environment:
- DOCKER_HOST=tcp://docker-socket-proxy:2375
- GITEA_URL=http://gitea:3000
- GITEA_TOKEN=${GITEA_TOKEN}
- VOLUME_ROOT=/volume1
- SSH_HOST=host.docker.internal
- SSH_USER=zjgump
- VPS_SSH_HOST=158.101.140.85
- VPS_SSH_USER=jimmyg
- SECRET_KEY=${SECRET_KEY}
- ADMIN_USER=jimmy
- ADMIN_PASSWORD_HASH=${ADMIN_PASSWORD_HASH}
- TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN:-}
- TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID:-}
- TELEGRAM_PROXY=${TELEGRAM_PROXY:-}
- CORS_ORIGINS=https://nas.jimmygan.com
- LITELLM_HEALTH_API_KEY=${LITELLM_HEALTH_API_KEY:-}
- LITELLM_URL=http://litellm:4005
volumes:
- /volume1:/volume1
- /volume1/docker/nas-dashboard/ssh/dashboard_terminal:/app/ssh/id_ed25519:ro
- /volume1/docker/nas-dashboard/ssh/vps_terminal:/app/ssh/vps_id_ed25519:ro
- /volume1/docker/nas-dashboard/ssh/known_hosts:/app/ssh/known_hosts:ro
- /volume1/docker/chat-summarizer/data:/app/data/chat-summarizer:ro
- /volume1/docker/info-engine/data:/app/data/info-engine:ro
- /volume1/docker/nas-dashboard/rbac.json:/volume1/docker/nas-dashboard/rbac.json
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:4000/api/health')"]
interval: 30s
timeout: 5s
retries: 3
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- internal
- gitea_gitea
- nas-dashboard_internal
depends_on:
- docker-socket-proxy
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
networks:
internal:
gitea_gitea:
external: true
nas-dashboard_internal:
external: true