Skip to content

Feature Request: Support Docker Image Deployment from Container Registries #8

@earino

Description

@earino

Summary

The create_web_service tool currently supports Docker as a runtime but only when building from source code repositories. It would be incredibly valuable to support deploying pre-built Docker images directly from container registries (Docker Hub, GitHub Container Registry, etc.), which is a common deployment pattern for many production services.

Use Case

We're building a Rails 8 real-time collaboration app (https://github.com/earino/tally.food) that uses AnyCable for high-performance WebSocket connections. Our architecture requires:

  1. Rails web service - Handles HTTP requests and RPC calls
  2. AnyCable-Go service - Dedicated WebSocket server (pre-built Docker image: anycable/anycable-go:latest)
  3. PostgreSQL & Redis - Data and pub/sub

This is a standard microservices pattern where specialized services use official pre-built images rather than custom source code.

Current Limitation

According to the tool description:

"This tool is currently limited to support only a subset of the web service configuration parameters. It also only supports web services which don't use Docker, or a container registry."

While the runtime: "docker" parameter exists, it appears to require a source repository with a Dockerfile, not a pre-built container image.

Proposed Solution

Add support for creating web services from existing container registry images, similar to Render's UI workflow: New+ → Web Service → Deploy an existing image from a registry

Suggested API Extension

create_web_service({
  name: "my-anycable-server",
  image: "anycable/anycable-go:latest",  // NEW parameter
  imageRegistry: {                        // NEW parameter (optional)
    type: "dockerhub" | "ghcr" | "private",
    credentials: { ... }  // if needed
  },
  plan: "starter",
  region: "oregon",
  envVars: [
    { key: "ANYCABLE_HOST", value: "0.0.0.0" },
    { key: "ANYCABLE_PORT", value: "10000" },
    // ...
  ]
})

This would mirror Render's existing capability while making it accessible to LLM-powered workflows.

Workaround

Currently, we need to manually create the AnyCable-Go service through the Render dashboard, then use MCP for everything else. This breaks the workflow of fully automated infrastructure management through Claude Code or Cursor.

Additional Context

  • Our development environment uses docker-compose.yml with the same anycable/anycable-go:latest image
  • AnyCable requires this separate service architecture (documented at https://docs.anycable.io/deployment)
  • This pattern is common for: Redis, Memcached, pgBouncer, custom sidecars, etc.

Related

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