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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions