Dokploy / Dokploy/cli

Template Proposal

Open
#11 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
152
Forks
46
PR merge metrics
No merged PRs in 30d

Description

Spinning up server's can be quite a repetitive task especialy when you have multiple servers. As someone using dokploy to manage about 6 projects, I'm proposing creating a serverless-yaml style deployment file that can be used to manage a project.

The idea is to be able to do something like dokploy deploy and it would load dokploy.yaml by default or a user can pass in a flag to specify the deployment file. Then we're able to deploy each service with convig like setting swarm mode, number of replicas, domains etc.

Proposed format

project: uber-clone-project

services:
  - name: geofencer
    image: ghrc.io/geofencer:latest
    replicas: 2
    port: 3000
    domains:
      - hose: geofencer.example.com
      - host: example.com
        path: /v1/geofencer
        tls: true
        redirectToHttps: true
        stripPrefix: true
    env:
      NODE_ENV: production
      API_URL: https://api.example.com
      IP_ADDRESS: ${{project.IP_ADDRESS}}
    resources:
      cpu: 500m
      memory: 512Mi
    configs:
      restart: unless-stopped
      pullPolicy: Always

  - name: backend
    image: dockerub-user/backend:latest
    replicas: 1
    port: 8000
    domains:
      - host: api.example.com
        path: /v1
        tls: true
        stripPrefix: true
    env:
      NODE_ENV: production
      DB_URL: postgres://user:pass@db:5432/mydb
    resources:
      cpu: 300m
      memory: 256Mi
    configs:
      restart: unless-stopped
      pullPolicy: Always

  - name: worker
    image: dockerhub-user/worker:latest
    replicas: 1
    env:
      QUEUE: jobs
      CONCURRENCY: "5"
    resources:
      cpu: 200m
      memory: 256Mi
    configs:
      restart: on-failure

just off the top of my head, if the project doesn't already exist, it should create a new project and use it, if project exists... it should use it.

What are your thoughts?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the CLI entry point for dokploy deploy and how it currently selects deployment targets. Define the dokploy.yaml format and file-selection flag, then trace how projects and services are created or reused. Done should include loading the file, applying service settings, and deploying each service, with behavior documented for existing and new projects.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, typescript
Domain
cli, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.