Ctrl K
ComunidadGuías…

compose.yaml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
name: spectarr

services:
  spectarr:
    build:
      context: .
      additional_contexts:
        msconvert_cli: ${SPECTARR_MSCONVERT_CLI_SOURCE:-../msconvert-cli}
        mzmlpy_source: ${SPECTARR_MZMLPY_SOURCE:-../mzmlpy}
        spxtacular_source: ${SPECTARR_SPXTACULAR_SOURCE:-../spxtacular}
      args:
        SPECTARR_INSTALL_OPENMASSSPEC: ${SPECTARR_INSTALL_OPENMASSSPEC:-true}
        SPECTARR_DOTNET_RUNTIME_IMAGE: ${SPECTARR_DOTNET_RUNTIME_IMAGE:-mcr.microsoft.com/dotnet/runtime:10.0@sha256:b89586dc17781f25531909993658aa8161205ae38b8cec8847df4a8221a403d5}
    environment:
      SPECTARR_ENVIRONMENT: ${SPECTARR_ENVIRONMENT:-development}
      SPECTARR_DATABASE_URL: sqlite:////data/spectarr.db
      SPECTARR_JOB_LEASE_SECONDS: ${SPECTARR_JOB_LEASE_SECONDS:-300}
      SPECTARR_STORAGE_ROOT: /data/storage
      SPECTARR_LIBRARY_ROOT: /data/storage/library
      SPECTARR_LIBRARY_LINK_MODE: ${SPECTARR_LIBRARY_LINK_MODE:-auto}
      SPECTARR_LIBRARY_PROJECT_TEMPLATE: ${SPECTARR_LIBRARY_PROJECT_TEMPLATE:-{project_name}__{project_id:8}}
      SPECTARR_LIBRARY_FILENAME_TEMPLATE: ${SPECTARR_LIBRARY_FILENAME_TEMPLATE:-{run_name}__{sample_name}__{run_id:8}{extension}}
      SPECTARR_IMPORT_ROOTS: '["/imports"]'
      SPECTARR_CORS_ORIGINS: ${SPECTARR_CORS_ORIGINS:-[]}
      SPECTARR_TRUSTED_HOSTS: ${SPECTARR_TRUSTED_HOSTS:-["localhost"]}
      SPECTARR_WORKER_TOKEN: ${SPECTARR_WORKER_TOKEN:-}
      SPECTARR_AUTH_ENABLED: ${SPECTARR_AUTH_ENABLED:-true}
      SPECTARR_RESTORE_MODE: ${SPECTARR_RESTORE_MODE:-false}
      SPECTARR_REMOTE_IMPORTS_ENABLED: ${SPECTARR_REMOTE_IMPORTS_ENABLED:-true}
      SPECTARR_REMOTE_DOWNLOAD_CONCURRENCY: ${SPECTARR_REMOTE_DOWNLOAD_CONCURRENCY:-2}
      SPECTARR_AUTH_MODE: ${SPECTARR_AUTH_MODE:-password}
      SPECTARR_SESSION_HOURS: ${SPECTARR_SESSION_HOURS:-24}
      SPECTARR_LOCAL_USER: ${SPECTARR_LOCAL_USER:-admin}
      SPECTARR_ALLOW_REMOTE_NO_AUTH: ${SPECTARR_ALLOW_REMOTE_NO_AUTH:-false}
      SPECTARR_BIND_ADDRESS: ${SPECTARR_BIND_ADDRESS:-127.0.0.1}
      SPECTARR_SECRET_KEY: ${SPECTARR_SECRET_KEY:-}
      SPECTARR_SPECTRUM_READER_TIMEOUT_SECONDS: ${SPECTARR_SPECTRUM_READER_TIMEOUT_SECONDS:-30}
      SPECTARR_DOCKER_DATA_ROOT: ${SPECTARR_DOCKER_DATA_ROOT:-}
      SPECTARR_MSCONVERT_IMAGE: ${SPECTARR_MSCONVERT_IMAGE:-proteowizard/pwiz-skyline-i-agree-to-the-vendor-licenses:skyline_26.1.0.266-578b175@sha256:448a833eb92eac2ca731f2461c046963c0c2afafb3550b4dfb6fc3914cec7b0e}
      SPECTARR_MCP_ALLOW_WRITES: ${SPECTARR_MCP_ALLOW_WRITES:-false}
      SPECTARR_MCP_PUBLIC_URL: ${SPECTARR_MCP_PUBLIC_URL:-}
      SPECTARR_MCP_TOKEN: ${SPECTARR_MCP_TOKEN:-}
      SPECTARR_API_KEY: ${SPECTARR_API_KEY:-}
      SPECTARR_WEBHOOK_ALLOW_HTTP: ${SPECTARR_WEBHOOK_ALLOW_HTTP:-false}
      SPECTARR_WEBHOOK_ALLOW_PRIVATE_NETWORKS: ${SPECTARR_WEBHOOK_ALLOW_PRIVATE_NETWORKS:-false}
      SPECTARR_UID: ${SPECTARR_UID:-1000}
      SPECTARR_GID: ${SPECTARR_GID:-1000}
    volumes:
      - ${SPECTARR_DATA_DIR:-./data}:/data
      - ${SPECTARR_STORAGE_DIR:-${SPECTARR_DATA_DIR:-./data}/storage}:/data/storage
      - ${SPECTARR_IMPORTS_DIR:-./imports}:/imports:ro
      - type: bind
        source: ${DOCKER_SOCKET:-/var/run/docker.sock}
        target: /var/run/docker.sock
        bind:
          create_host_path: false
    ports:
      - "${SPECTARR_BIND_ADDRESS:-127.0.0.1}:${SPECTARR_PORT:-3280}:8000"
      - "${SPECTARR_MCP_BIND_ADDRESS:-127.0.0.1}:${SPECTARR_MCP_PORT:-8281}:8001"
    healthcheck:
      test: ["CMD", "python", "-c", "import urllib.request\nurllib.request.urlopen('http://127.0.0.1:8000/health', timeout=3)"]
      interval: 10s
      timeout: 5s
      retries: 10
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - NET_RAW
    restart: unless-stopped
    stop_grace_period: 45s