Skip to content

Commit 18b8b26

Browse files
committed
Merge branch 'canary' into feat/password-manager-compatible-otp-input
2 parents c362b2c + 3f1bf2b commit 18b8b26

722 files changed

Lines changed: 383438 additions & 19509 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/Dockerfile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Dockerfile for DevContainer
2+
FROM node:24.4.0-bullseye-slim
3+
4+
# Install essential packages
5+
RUN apt-get update && apt-get install -y \
6+
curl \
7+
bash \
8+
git \
9+
&& apt-get clean \
10+
&& rm -rf /var/lib/apt/lists/*
11+
12+
# Set up PNPM
13+
ENV PNPM_HOME="/pnpm"
14+
ENV PATH="$PNPM_HOME:$PATH"
15+
RUN corepack enable && corepack prepare pnpm@10.22.0 --activate
16+
17+
# Create workspace directory
18+
WORKDIR /workspaces/dokploy
19+
20+
# Set up user permissions
21+
USER node

.devcontainer/devcontainer.json

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
"name": "Dokploy development container",
3+
"build": {
4+
"dockerfile": "Dockerfile",
5+
"context": ".."
6+
},
7+
"features": {
8+
"ghcr.io/devcontainers/features/docker-in-docker:2": {
9+
"moby": true,
10+
"version": "latest"
11+
},
12+
"ghcr.io/devcontainers/features/git:1": {
13+
"ppa": true,
14+
"version": "latest"
15+
},
16+
"ghcr.io/devcontainers/features/go:1": {
17+
"version": "1.20"
18+
}
19+
},
20+
"customizations": {
21+
"vscode": {
22+
"extensions": [
23+
"ms-vscode.vscode-typescript-next",
24+
"bradlc.vscode-tailwindcss",
25+
"ms-vscode.vscode-json",
26+
"biomejs.biome",
27+
"golang.go",
28+
"redhat.vscode-xml",
29+
"github.vscode-github-actions",
30+
"github.copilot",
31+
"github.copilot-chat"
32+
]
33+
}
34+
},
35+
"forwardPorts": [3000, 5432, 6379],
36+
"portsAttributes": {
37+
"3000": {
38+
"label": "Dokploy App",
39+
"onAutoForward": "notify"
40+
},
41+
"5432": {
42+
"label": "PostgreSQL",
43+
"onAutoForward": "silent"
44+
},
45+
"6379": {
46+
"label": "Redis",
47+
"onAutoForward": "silent"
48+
}
49+
},
50+
"remoteUser": "node",
51+
"workspaceFolder": "/workspaces/dokploy",
52+
"runArgs": ["--name", "dokploy-devcontainer"]
53+
}

.github/pull_request_template.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ Please describe in a short paragraph what this PR is about.
66

77
Before submitting this PR, please make sure that:
88

9-
- [] You created a dedicated branch based on the `canary` branch.
10-
- [] You have read the suggestions in the CONTRIBUTING.md file https://github.com/Dokploy/dokploy/blob/canary/CONTRIBUTING.md#pull-request
11-
- [] You have tested this PR in your local instance.
9+
- [ ] You created a dedicated branch based on the `canary` branch.
10+
- [ ] You have read the suggestions in the CONTRIBUTING.md file https://github.com/Dokploy/dokploy/blob/canary/CONTRIBUTING.md#pull-request
11+
- [ ] You have tested this PR in your local instance. If you have not tested it yet, please do so before submitting. This helps avoid wasting maintainers' time reviewing code that has not been verified by you.
1212

1313
## Issues related (if applicable)
1414

.github/sponsors/awesome.png

2.7 KB
Loading

.github/workflows/deploy.yml

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,17 @@ jobs:
1313
- name: Checkout repository
1414
uses: actions/checkout@v3
1515

16+
- name: Set tag and version
17+
id: meta-cloud
18+
run: |
19+
VERSION=$(jq -r .version apps/dokploy/package.json)
20+
echo "version=$VERSION" >> $GITHUB_OUTPUT
21+
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
22+
echo "tags=siumauricio/cloud:latest,siumauricio/cloud:${VERSION}" >> $GITHUB_OUTPUT
23+
else
24+
echo "tags=siumauricio/cloud:canary" >> $GITHUB_OUTPUT
25+
fi
26+
1627
- name: Log in to Docker Hub
1728
uses: docker/login-action@v2
1829
with:
@@ -25,8 +36,7 @@ jobs:
2536
context: .
2637
file: ./Dockerfile.cloud
2738
push: true
28-
tags: |
29-
siumauricio/cloud:${{ github.ref_name == 'main' && 'latest' || 'canary' }}
39+
tags: ${{ steps.meta-cloud.outputs.tags }}
3040
platforms: linux/amd64
3141
build-args: |
3242
NEXT_PUBLIC_UMAMI_HOST=${{ secrets.NEXT_PUBLIC_UMAMI_HOST }}
@@ -40,6 +50,16 @@ jobs:
4050
- name: Checkout repository
4151
uses: actions/checkout@v3
4252

53+
- name: Set tag and version
54+
id: meta-schedule
55+
run: |
56+
VERSION=$(jq -r .version apps/dokploy/package.json)
57+
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
58+
echo "tags=siumauricio/schedule:latest,siumauricio/schedule:${VERSION}" >> $GITHUB_OUTPUT
59+
else
60+
echo "tags=siumauricio/schedule:canary" >> $GITHUB_OUTPUT
61+
fi
62+
4363
- name: Log in to Docker Hub
4464
uses: docker/login-action@v2
4565
with:
@@ -52,8 +72,7 @@ jobs:
5272
context: .
5373
file: ./Dockerfile.schedule
5474
push: true
55-
tags: |
56-
siumauricio/schedule:${{ github.ref_name == 'main' && 'latest' || 'canary' }}
75+
tags: ${{ steps.meta-schedule.outputs.tags }}
5776
platforms: linux/amd64
5877

5978
build-and-push-server-image:
@@ -63,6 +82,16 @@ jobs:
6382
- name: Checkout repository
6483
uses: actions/checkout@v3
6584

85+
- name: Set tag and version
86+
id: meta-server
87+
run: |
88+
VERSION=$(jq -r .version apps/dokploy/package.json)
89+
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
90+
echo "tags=siumauricio/server:latest,siumauricio/server:${VERSION}" >> $GITHUB_OUTPUT
91+
else
92+
echo "tags=siumauricio/server:canary" >> $GITHUB_OUTPUT
93+
fi
94+
6695
- name: Log in to Docker Hub
6796
uses: docker/login-action@v2
6897
with:
@@ -75,6 +104,5 @@ jobs:
75104
context: .
76105
file: ./Dockerfile.server
77106
push: true
78-
tags: |
79-
siumauricio/server:${{ github.ref_name == 'main' && 'latest' || 'canary' }}
107+
tags: ${{ steps.meta-server.outputs.tags }}
80108
platforms: linux/amd64

.github/workflows/pr-quality.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
name: PR Quality
3+
4+
permissions:
5+
contents: read
6+
issues: read
7+
pull-requests: write
8+
9+
on:
10+
pull_request_target:
11+
types: [opened, reopened]
12+
13+
jobs:
14+
anti-slop:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: peakoss/anti-slop@v0
18+
with:
19+
blocked-commit-authors: "claude,copilot"
20+
require-description: true
21+
min-account-age: 5

.github/workflows/pull-request.yml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,34 @@ jobs:
1818
- uses: pnpm/action-setup@v4
1919
- uses: actions/setup-node@v4
2020
with:
21-
node-version: 20.16.0
21+
node-version: 24.4.0
2222
cache: "pnpm"
23+
24+
- name: Install Nixpacks
25+
if: matrix.job == 'test'
26+
run: |
27+
export NIXPACKS_VERSION=1.41.0
28+
curl -sSL https://nixpacks.com/install.sh | bash
29+
echo "Nixpacks installed $NIXPACKS_VERSION"
30+
31+
- name: Install Railpack
32+
if: matrix.job == 'test'
33+
run: |
34+
export RAILPACK_VERSION=0.15.4
35+
curl -sSL https://railpack.com/install.sh | bash
36+
echo "Railpack installed $RAILPACK_VERSION"
37+
38+
- name: Add build tools to PATH
39+
if: matrix.job == 'test'
40+
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
41+
42+
- name: Initialize Docker Swarm
43+
if: matrix.job == 'test'
44+
run: |
45+
docker swarm init
46+
docker network create --driver overlay dokploy-network || true
47+
echo "✅ Docker Swarm initialized"
48+
2349
- run: pnpm install --frozen-lockfile
2450
- run: pnpm server:build
2551
- run: pnpm ${{ matrix.job }}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Generate and Sync OpenAPI
2+
3+
on:
4+
push:
5+
branches:
6+
- canary
7+
- main
8+
paths:
9+
- 'apps/dokploy/server/api/routers/**'
10+
- 'packages/server/src/services/**'
11+
- 'packages/server/src/db/schema/**'
12+
13+
workflow_dispatch:
14+
15+
jobs:
16+
generate-and-commit:
17+
name: Generate OpenAPI and commit to Dokploy repo
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout Dokploy repository
21+
uses: actions/checkout@v4
22+
with:
23+
token: ${{ secrets.GITHUB_TOKEN }}
24+
- uses: pnpm/action-setup@v4
25+
- uses: actions/setup-node@v4
26+
with:
27+
node-version: 24.4.0
28+
cache: "pnpm"
29+
30+
- name: Install dependencies
31+
run: pnpm install --frozen-lockfile
32+
33+
- name: Generate OpenAPI specification
34+
run: |
35+
pnpm generate:openapi
36+
37+
# Verifica que se generó correctamente
38+
if [ ! -f openapi.json ]; then
39+
echo "❌ openapi.json not found"
40+
exit 1
41+
fi
42+
43+
echo "✅ OpenAPI specification generated successfully"
44+
45+
- name: Sync to website repository
46+
run: |
47+
# Clona el repositorio de website
48+
git clone https://x-access-token:${{ secrets.DOCS_SYNC_TOKEN }}@github.com/dokploy/website.git website-repo
49+
50+
cd website-repo
51+
52+
# Copia el openapi.json al website (sobrescribe)
53+
mkdir -p apps/docs/public
54+
cp -f ../openapi.json apps/docs/public/openapi.json
55+
56+
# Configura git
57+
git config user.name "Dokploy Bot"
58+
git config user.email "bot@dokploy.com"
59+
60+
# Agrega y commitea siempre
61+
git add apps/docs/public/openapi.json
62+
git commit -m "chore: sync OpenAPI specification [skip ci]" \
63+
-m "Source: ${{ github.repository }}@${{ github.sha }}" \
64+
-m "Updated: $(date -u +'%Y-%m-%d %H:%M:%S UTC')" \
65+
--allow-empty
66+
67+
git push
68+
69+
echo "✅ OpenAPI synced to website successfully"
70+

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ node_modules
1313
.env.test.local
1414
.env.production.local
1515

16+
openapi.json
17+
1618
# Testing
1719
coverage
1820

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20.16.0
1+
24.4.0

0 commit comments

Comments
 (0)