Skip to content

Can’t create sandbox files (sandbox.fs.upload_file) after Docker deployment #3035

@winky0011

Description

@winky0011

I’m new to this stuff, and I must’ve messed up something during the Docker deployment. Now I can’t create files in the sandbox using sandbox.fs.upload_file, and here’s the log from the runner Docker container:

runner-1 | time="2025-11-26T10:25:10.519155700Z" level=info msg="Attempting next endpoint for push after error: Get "https://registry:6000/v2/": http: server gave HTTP response to HTTPS client"

Could you help me?
Here’s my Docker Compose config:

name: daytona
services:
  api:
    image: daytonaio/daytona-api
    ports:
      - 3000:3000
      - 7000:7000  # Required for remote Workspace connections
    environment:
      - SERVER_API_URL=http://[INTERNAL_IP]:3000
      - DASHBOARD_URL=http://[INTERNAL_IP]:3000/dashboard
      - PUBLIC_OIDC_DOMAIN=http://[INTERNAL_IP]:5556/dex
      - FRPS_DOMAIN=[INTERNAL_IP]
      - FRPS_PORT=7000
      - FRPS_PROTOCOL=http
      
      - OTEL_ENABLED=true
      - OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
      - HTTP_PROXY=http://[PROXY_IP]:[PROXY_PORT]
      - HTTPS_PROXY=http://[PROXY_IP]:[PROXY_PORT]
      - NO_PROXY=localhost,127.0.0.1,[INTERNAL_IP],api,runner,dex,registry,minio,jaeger,otel-collector,[PROXY_IP]
      
      - ADMIN_MAX_CPU_PER_SANDBOX=4
      - ADMIN_TOTAL_CPU_QUOTA=16
      - ADMIN_MAX_MEMORY_PER_SANDBOX=8
      - ADMIN_TOTAL_MEMORY_QUOTA=16
      - DEFAULT_ORG_QUOTA_MAX_CPU_PER_SANDBOX=4
      - DEFAULT_ORG_QUOTA_MAX_MEMORY_PER_SANDBOX=8
      - ADMIN_MAX_DISK_PER_SANDBOX=50
      - ADMIN_TOTAL_DISK_QUOTA=1000
      - ADMIN_API_KEY=[REDACTED_ADMIN_API_KEY]
    networks:
      - daytona-network
    restart: always
    privileged: true
    depends_on:
      - db
      - runner
      - redis
      - dex
      - registry

  proxy:
    image: daytonaio/daytona-proxy
    networks:
      - daytona-network
    ports:
      - 4000:4000
    restart: always

  runner:
    image: daytonaio/daytona-runner
    networks:
      - daytona-network
    ports:
      - 3003:3003
    environment:
      - HTTP_PROXY=http://[PROXY_IP]:[PROXY_PORT]
      - HTTPS_PROXY=http://[PROXY_IP]:[PROXY_PORT]
      - NO_PROXY=localhost,127.0.0.1,[INTERNAL_IP],api,runner,dex,registry,minio,jaeger,otel-collector,[PROXY_IP]
    privileged: true
    restart: always

  ssh-gateway:
    image: daytonaio/daytona-ssh-gateway
    networks:
      - daytona-network
    ports:
      - 2222:2222
    restart: always

  dex:
    image: dexidp/dex:v2.42.0
    volumes:
      - ./dex/config.yaml:/etc/dex/config.yaml
      - dex_db:/var/dex
    entrypoint: ['sh', '-c', 'touch /var/dex/dex.db && exec dex serve /etc/dex/config.yaml']
    networks:
      - daytona-network
    ports:
      - 5556:5556
    healthcheck:
      test: ["CMD", "wget", "--spider", "--quiet", "http://localhost:5556/dex/.well-known/openid-configuration"]

  db:
    image: postgres:18
    environment:
      - POSTGRES_PASSWORD=[REDACTED_DB_PASSWORD]
      - POSTGRES_USER=[REDACTED_DB_USER]
      - POSTGRES_DB=daytona
    networks:
      - daytona-network
    volumes:
      - db_data:/var/lib/postgresql/18/docker

  pgadmin:
    image: dpage/pgadmin4:9.2.0
    entrypoint: ['sh', '-c', 'chmod 600 /pgpass && exec /entrypoint.sh']
    environment:
      PGADMIN_DEFAULT_EMAIL: [REDACTED_PGADMIN_EMAIL]
      PGADMIN_DEFAULT_PASSWORD: [REDACTED_PGADMIN_PASSWORD]
      PGADMIN_CONFIG_SERVER_MODE: 'False'
      PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: 'False'
    user: root
    volumes:
      - ./pgadmin4/servers.json:/pgadmin4/servers.json
      - ./pgadmin4/pgpass:/pgpass
    depends_on:
      - db
    ports:
      - 5050:80
    networks:
      - daytona-network

  redis:
    image: redis:latest
    networks:
      - daytona-network

  registry-ui:
    image: joxit/docker-registry-ui:main
    restart: always
    environment:
      - SINGLE_REGISTRY=true
      - REGISTRY_TITLE=Docker Registry UI
      - DELETE_IMAGES=true
      - SHOW_CONTENT_DIGEST=true
      - NGINX_PROXY_PASS_URL=http://registry:6000
      - SHOW_CATALOG_NB_TAGS=true
      - CATALOG_MIN_BRANCHES=1
      - CATALOG_MAX_BRANCHES=1
      - TAGLIST_PAGE_SIZE=100
      - REGISTRY_SECURED=false
      - CATALOG_ELEMENTS_LIMIT=1000
    networks:
      - daytona-network
    ports:
      - 5100:80

  registry:
    image: registry:2.8.2
    restart: always
    environment:
      REGISTRY_HTTP_HEADERS_Access-Control-Allow-Origin: '[http://registry-ui.example.com]'
      REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods: '[HEAD,GET,OPTIONS,DELETE]'
      REGISTRY_HTTP_HEADERS_Access-Control-Allow-Credentials: '[true]'
      REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers: '[Authorization,Accept,Cache-Control]'
      REGISTRY_HTTP_HEADERS_Access-Control-Expose-Headers: '[Docker-Content-Digest]'
      REGISTRY_STORAGE_DELETE_ENABLED: 'true'
      REGISTRY_HTTP_ADDR: registry:6000
    volumes:
      - registry:/var/lib/registry
    networks:
      - daytona-network
    ports:
      - 6000:6000

  maildev:
    image: maildev/maildev
    networks:
      - daytona-network
    ports:
      - 1080:1080

  minio:
    image: minio/minio:latest
    environment:
      - MINIO_ROOT_USER=[REDACTED_MINIO_USER]
      - MINIO_ROOT_PASSWORD=[REDACTED_MINIO_PASSWORD]
      - MINIO_IDENTITY_STS_EXPIRY="24h"
    volumes:
      - minio_data:/data
    command: server /data --console-address ":9001"
    networks:
      - daytona-network
    ports:
      - 9001:9001

  jaeger:
    image: jaegertracing/all-in-one:1.67.0
    networks:
      - daytona-network
    ports:
      - 16686:16686

  otel-collector:
    image: otel/opentelemetry-collector-contrib:0.138.0
    volumes:
      - ./otel/otel-collector-config.yaml:/etc/otelcol-contrib/config.yaml
    networks:
      - daytona-network

volumes:
  registry: {}
  minio_data: {}
  db_data: {}
  dex_db: {}

networks:
  daytona-network:
    driver: bridge

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions