Pruébelo - Documentos - Discord - Hub - Guía del colaborador
Windmill es totalmente de código abierto (AGPLv3) y Windmill Labs ofrece licencias y soporte comercial y de instancia dedicado.
Definir un script mínimo y genérico en Python, TypeScript, Go o Bash que resuelva una tarea específica. El código puede definirse en el IDE web proporcionado o sincronizarse con su propio repositorio de GitHub (por ejemplo, a través de la extensión VS Code):
Aquí solo proporcionamos la configuración de Docker-Compose. Para configuraciones más avanzadas, como compilar desde el código fuente o usar sin un superusuario de Postgres, consulte la documentación de Self-Host.
Windmill se puede implementar usando 3 archivos: (docker-compose.yml, Caddyfile y .env) en un solo comando.
Asegúrese de que Docker esté iniciado y ejecute:
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile -o Caddyfile
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/.env -o .env
docker compose up -d
Vaya a http://localhost y listo :)
El usuario superadministrador predeterminado es: [email protected] / changeme.
Desde allí, puedes seguir la aplicación de configuración y crear otros usuarios.
Más detalles en la documentación de autohospedaje.
Publicamos gráficos de timón en: https://github.com/windmill-labs/windmill-helm-charts.
Cada versión incluye los binarios correspondientes para x86_64. Simplemente puede descargar el último binario windmill
utilizando el siguiente conjunto de comandos bash.
BINARY_NAME= ' windmill-amd64 ' # or windmill-ee-amd64 for the enterprise edition
LATEST_RELEASE= $( curl -L -s -H ' Accept: application/json ' https://github.com/windmill-labs/windmill/releases/latest )
LATEST_VERSION= $( echo $LATEST_RELEASE | sed -e ' s/.*"tag_name":"([^"]*)".*/1/ ' )
ARTIFACT_URL= " https://github.com/windmill-labs/windmill/releases/download/ $LATEST_VERSION / $BINARY_NAME "
wget " $ARTIFACT_URL " -O windmill
Windmill Community Edition permite configurar OAuth, SSO (incluido Google Workspace SSO, Microsoft/Azure y Okta) directamente desde la interfaz de usuario en la configuración de superadministrador. Tenga en cuenta que hay un límite de 10 usuarios de SSO en la edición comunitaria.
Ver documentación.
Para autohospedar Windmill, debe respetar los términos de la licencia AGPLv3, de los que no necesita preocuparse para usos personales. Para usos comerciales, debería estar bien si no vuelve a exponer Windmill de ninguna manera a sus usuarios y se siente cómodo con AGPLv3.
Para volver a exponer cualquier pieza de Windmill a sus usuarios como una característica de su producto, o para crear una característica sobre Windmill, para cumplir con AGPLv3, su producto debe ser AGPLv3 o debe obtener una licencia comercial. Contáctenos en [email protected] si tiene alguna duda.
Además, una licencia comercial le otorga un ingeniero dedicado para la transición de su infraestructura actual a Windmill, soporte con SLA estricto y nuestra sincronización de caché global para alto rendimiento/pérdida de caché sin dependencia del clúster de más de 10 nodos a más de 200 nodos.
En Windmill, las integraciones se denominan recursos y tipos de recursos. Cada recurso tiene un tipo de recurso que define el esquema que el recurso necesita implementar.
En instancias autohospedadas, es posible que desee importar todos los tipos de recursos aprobados desde WindmillHub. Un script de configuración le pedirá que lo sincronice automáticamente todos los días.
Nombre de la variable de entorno | Por defecto | Descripción | Servidor API/Trabajador/Todos |
---|---|---|---|
BASE DE DATOS_URL | La URL de la base de datos de Postgres. | Todo | |
GRUPO_TRABAJADOR | por defecto | El grupo de trabajadores al que pertenece el trabajador y del que se extrae su configuración. | Obrero |
MODO | autónomo | El modo es el binario. Valores posibles: independiente, trabajador, servidor, agente | Todo |
METRICS_ADDR | Ninguno | (solo ee) La dirección del socket en la que exponer las métricas de Prometheus en la ruta /metrics. Establezca en "verdadero" para exponerlo en el puerto 8001 | Todo |
JSON_FMT | FALSO | Genere los registros en formato json en lugar de logfmt | Todo |
BASE_URL | http://localhost:8000 | La URL base que se expone públicamente para acceder a su instancia. Se anula por la configuración de la instancia, si la hay. | Servidor |
ZOMBIE_JOB_TIMEOUT | 30 | El tiempo de espera después del cual un trabajo se considera zombie si el trabajador no envió pings sobre el procesamiento del trabajo (cada servidor verifica si hay trabajos zombie cada 30 segundos). | Servidor |
RESTART_ZOMBIE_JOBS | verdadero | Si es verdadero, se reinicia un trabajo zombie (in situ con el mismo uuid y algunos registros); si es falso, el trabajo zombie falla | Servidor |
SLEEP_QUEUE | 50 | El número de ms que transcurrirán entre la última comprobación de nuevos trabajos en la base de datos. Se multiplica por NUM_WORKERS de modo que, en promedio, para una instancia de trabajador, hay una extracción cada SLEEP_QUEUE ms. | Obrero |
KEEP_JOB_DIR | FALSO | Conserve el directorio de trabajos una vez finalizado el trabajo. Útil para depurar. | Obrero |
LICENCIA_KEY (solo EE) | Ninguno | Clave de licencia verificada al inicio para Enterprise Edition de Windmill | Obrero |
SLACK_SIGNING_SECRET | Ninguno | El secreto de firma de tu aplicación Slack. Ver documentación de Slack | Servidor |
DOMINIO_COOKIE | Ninguno | El dominio de la cookie. Si no se establece, la cookie será configurada por el navegador basándose en el origen completo. | Servidor |
DENO_PATH | /usr/bin/deno | El camino al binario deno. | Obrero |
PYTHON_PATH | /usr/local/bin/python3 | La ruta al binario de Python. | Obrero |
GO_PATH | /usr/bin/ir | El camino hacia el binario. | Obrero |
GOPRIVADO | La variable de entorno GOPRIVATE para usar módulos go privados | Obrero | |
GOPROXY | La variable de entorno de GOPROXY a utilizar | Obrero | |
NETRC | El contenido de netrc para utilizar un registro go privado. | Obrero | |
CAMINO | Ninguno | La variable de entorno de ruta, generalmente heredada. | Obrero |
HOGAR | Ninguno | El directorio de inicio que se utilizará para Go y Bash, generalmente heredado | Obrero |
CONEXIONES_BASE_DATOS | 50 (Servidor)/3 (Trabajador) | El número máximo de conexiones en el grupo de conexiones de la base de datos. | Todo |
SUPERADMIN_SECRET | Ninguno | Un token que permitiría a la persona que llama actuar como superadmin virtual [email protected] | Servidor |
TIMEOUT_WAIT_RESULT | 20 | La cantidad de segundos que se deben esperar antes de que se agote el tiempo de espera en el punto final 'run_wait_result' | Obrero |
QUEUE_LIMIT_WAIT_RESULT | Ninguno | El número máximo de trabajos en la cola antes de rechazar inmediatamente la solicitud en el punto final 'run_wait_result'. Tiene prioridad sobre la consulta arg. Si no se especifica ninguno, no hay límite. | Obrero |
DENO_AUTH_TOKENS | Ninguno | DENO_AUTH_TOKENS personalizado para pasar al trabajador para permitir el uso de módulos privados | Obrero |
DISABLE_RESPONSE_LOGS | FALSO | Deshabilitar registros de respuestas | Servidor |
CREATE_WORKSPACE_REQUIRE_SUPERADMIN | verdadero | Si es verdadero, solo los superadministradores pueden crear nuevos espacios de trabajo | Servidor |
Consulte el archivo ./frontend/README_DEV.md para conocer todas las opciones en ejecución.
Usando Nix.
Esto utilizará el backend de https://app.windmill.dev pero su propia interfaz con recarga de código activo. Tenga en cuenta que deberá utilizar un nombre de usuario/contraseña debido a las comprobaciones CSRF utilizando un proveedor de autenticación diferente.
En el directorio frontend/
:
npm install
(o pnpm install
o yarn
) npm run generate-backend-client
## on mac use
npm run generate-backend-client-mac
npm run dev
http://localhost/
Consulte el archivo ./frontend/README_DEV.md para conocer todas las opciones en ejecución.
cargo install sqlx-cli
env DATABASE_URL=<YOUR_DATABASE_URL> sqlx migrate run
query!
macro/usr/bin/deno
y /usr/local/bin/python3
frontend/
:npm install
, npm run generate-backend-client
y luego npm run dev
export NODE_OPTIONS="--max-old-space-size=4096"
npm run build
; de lo contrario, el backend no encontrará la carpeta frontend/build
y no compilará.sudo caddy run --config Caddyfile
backend/
: env DATABASE_URL=<DATABASE_URL_TO_YOUR_WINDMILL_DB> RUST_LOG=info cargo run
http://localhost/
Laboratorios de molinos de viento, Inc 2023