feat: Add numerous new blueprint templates for various applications

This commit is contained in:
Mauricio Siu
2025-03-09 19:05:57 -06:00
parent eed6aebb85
commit fbbb4f46f3
216 changed files with 13001 additions and 44 deletions

View File

@@ -0,0 +1,105 @@
version: "3.8"
services:
windmill-postgres:
image: postgres:16
shm_size: 1g
restart: unless-stopped
volumes:
- windmill-postgres-data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: windmill
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
windmill-server:
image: ghcr.io/windmill-labs/windmill:main
restart: unless-stopped
environment:
- DATABASE_URL=${DATABASE_URL}
- MODE=server
- BASE_URL=http://${WINDMILL_HOST}
depends_on:
windmill-postgres:
condition: service_healthy
volumes:
- windmill-worker-logs:/tmp/windmill/logs
windmill-worker:
image: ghcr.io/windmill-labs/windmill:main
deploy:
replicas: 3
resources:
limits:
cpus: "1"
memory: 2048M
restart: unless-stopped
environment:
- DATABASE_URL=${DATABASE_URL}
- MODE=worker
- WORKER_GROUP=default
depends_on:
windmill-postgres:
condition: service_healthy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- windmill-worker-cache:/tmp/windmill/cache
- windmill-worker-logs:/tmp/windmill/logs
windmill-worker-native:
image: ghcr.io/windmill-labs/windmill:main
deploy:
replicas: 1
resources:
limits:
cpus: "0.1"
memory: 128M
restart: unless-stopped
environment:
- DATABASE_URL=${DATABASE_URL}
- MODE=worker
- WORKER_GROUP=native
- NUM_WORKERS=8
- SLEEP_QUEUE=200
depends_on:
windmill-postgres:
condition: service_healthy
volumes:
- windmill-worker-logs:/tmp/windmill/logs
windmill-lsp:
image: ghcr.io/windmill-labs/windmill-lsp:latest
restart: unless-stopped
volumes:
- windmill-lsp-cache:/root/.cache
windmill-caddy:
image: ghcr.io/windmill-labs/caddy-l4:latest
restart: unless-stopped
volumes:
- ../files/Caddyfile:/etc/caddy/Caddyfile
environment:
- BASE_URL=":80"
depends_on:
- windmill-server
- windmill-lsp
networks:
dokploy-network:
external: true
volumes:
windmill-postgres-data:
windmill-worker-cache:
windmill-worker-logs:
windmill-lsp-cache:

View File

@@ -0,0 +1,43 @@
import {
type DomainSchema,
type Schema,
type Template,
generatePassword,
generateRandomDomain,
} from "../utils";
export function generate(schema: Schema): Template {
const mainDomain = generateRandomDomain(schema);
const postgresPassword = generatePassword();
const domains: DomainSchema[] = [
{
host: mainDomain,
port: 80,
serviceName: "windmill-caddy",
},
];
const envs = [
`WINDMILL_HOST=${mainDomain}`,
`POSTGRES_PASSWORD=${postgresPassword}`,
`DATABASE_URL=postgres://postgres:${postgresPassword}@windmill-postgres/windmill?sslmode=disable`,
];
const mounts: Template["mounts"] = [
{
filePath: "Caddyfile",
content: `:80 {
bind 0.0.0.0
reverse_proxy /ws/* http://windmill-lsp:3001
reverse_proxy /* http://windmill-server:8000
}`,
},
];
return {
domains,
envs,
mounts,
};
}