mirror of
https://github.com/Dokploy/templates.git
synced 2026-06-15 20:25:24 +02:00
Added Inngest v1.12.1 (#462)
* Added Inngest v1.12.1 * Fixed docker-compose name * Fixed metajson
This commit is contained in:
92
blueprints/inngest/docker-compose.yml
Normal file
92
blueprints/inngest/docker-compose.yml
Normal file
@@ -0,0 +1,92 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
inngest:
|
||||
image: inngest/inngest:v1.12.1
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
inngest start
|
||||
--host 0.0.0.0
|
||||
--port 8288
|
||||
--event-key ${INNGEST_EVENT_KEY}
|
||||
--signing-key ${INNGEST_SIGNING_KEY}
|
||||
--postgres-uri ${INNGEST_POSTGRES_URI}
|
||||
--redis-uri ${INNGEST_REDIS_URI}
|
||||
--poll-interval ${INNGEST_POLL_INTERVAL:-60}
|
||||
--queue-workers ${INNGEST_QUEUE_WORKERS:-100}
|
||||
environment:
|
||||
# Core Configuration
|
||||
- INNGEST_PORT=8288
|
||||
- INNGEST_HOST=0.0.0.0
|
||||
- INNGEST_EVENT_KEY=${INNGEST_EVENT_KEY}
|
||||
- INNGEST_SIGNING_KEY=${INNGEST_SIGNING_KEY}
|
||||
|
||||
# Database & Cache
|
||||
- INNGEST_POSTGRES_URI=${INNGEST_POSTGRES_URI}
|
||||
- INNGEST_REDIS_URI=${INNGEST_REDIS_URI}
|
||||
|
||||
# Performance Tuning
|
||||
- INNGEST_POLL_INTERVAL=${INNGEST_POLL_INTERVAL:-60}
|
||||
- INNGEST_QUEUE_WORKERS=${INNGEST_QUEUE_WORKERS:-100}
|
||||
- INNGEST_RETRY_INTERVAL=${INNGEST_RETRY_INTERVAL:-1}
|
||||
- INNGEST_TICK=${INNGEST_TICK:-150}
|
||||
|
||||
# Logging
|
||||
- INNGEST_LOG_LEVEL=${INNGEST_LOG_LEVEL:-info}
|
||||
- INNGEST_JSON=${INNGEST_JSON:-false}
|
||||
- INNGEST_VERBOSE=${INNGEST_VERBOSE:-false}
|
||||
ports:
|
||||
- 8288
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- inngest_data:/home/inngest/.inngest
|
||||
healthcheck:
|
||||
test: ['CMD', 'curl', '-f', 'http://localhost:8288/health']
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_DB=${POSTGRES_DB}
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
|
||||
- PGUSER=${POSTGRES_USER}
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
ports:
|
||||
- 5432
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
restart: unless-stopped
|
||||
command: redis-server --appendonly yes --maxmemory 512mb --maxmemory-policy allkeys-lru --save 60 1000
|
||||
sysctls:
|
||||
- net.core.somaxconn=1024
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
ports:
|
||||
- 6379
|
||||
healthcheck:
|
||||
test: ['CMD', 'redis-cli', 'ping']
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
retries: 3
|
||||
|
||||
volumes:
|
||||
inngest_data:
|
||||
postgres_data:
|
||||
redis_data:
|
||||
6
blueprints/inngest/inngest.svg
Normal file
6
blueprints/inngest/inngest.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Placeholder SVG for Inngest icon - replace with actual inngest.svg -->
|
||||
<rect x="2" y="2" width="20" height="20" rx="4" fill="#6366F1"/>
|
||||
<text x="12" y="16" text-anchor="middle" fill="white" font-family="Arial" font-size="12" font-weight="bold">I</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 406 B |
38
blueprints/inngest/template.toml
Normal file
38
blueprints/inngest/template.toml
Normal file
@@ -0,0 +1,38 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
event_key = "${jwt:32}" # Must be hex string with even number of chars
|
||||
signing_key = "${jwt:32}" # Must be hex string with even number of chars
|
||||
postgres_password = "${password:24}"
|
||||
|
||||
[config]
|
||||
mounts = []
|
||||
|
||||
[[config.domains]]
|
||||
serviceName = "inngest"
|
||||
port = 8_288
|
||||
host = "${main_domain}"
|
||||
|
||||
[config.env]
|
||||
# Production Inngest Authentication Keys
|
||||
INNGEST_EVENT_KEY = "${event_key}"
|
||||
INNGEST_SIGNING_KEY = "${signing_key}"
|
||||
|
||||
# Database Configuration
|
||||
INNGEST_POSTGRES_URI = "postgresql://inngest:${postgres_password}@postgres:5432/inngest?sslmode=disable"
|
||||
POSTGRES_DB = "inngest"
|
||||
POSTGRES_USER = "inngest"
|
||||
POSTGRES_PASSWORD = "${postgres_password}"
|
||||
|
||||
# Redis Configuration
|
||||
INNGEST_REDIS_URI = "redis://redis:6379"
|
||||
|
||||
# Performance & Scaling Configuration
|
||||
INNGEST_POLL_INTERVAL = "60"
|
||||
INNGEST_QUEUE_WORKERS = "100"
|
||||
INNGEST_RETRY_INTERVAL = "1"
|
||||
INNGEST_TICK = "150"
|
||||
|
||||
# Logging Configuration
|
||||
INNGEST_LOG_LEVEL = "info"
|
||||
INNGEST_JSON = "true"
|
||||
INNGEST_VERBOSE = "false"
|
||||
19
meta.json
19
meta.json
@@ -2862,6 +2862,25 @@
|
||||
"database"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "inngest",
|
||||
"name": "Inngest",
|
||||
"version": "v1.12.1",
|
||||
"description": "Inngest is a developer platform for serverless event-driven workflows. Build reliable, scalable background functions and workflows with built-in retries, scheduling, and observability.",
|
||||
"logo": "inngest.svg",
|
||||
"links": {
|
||||
"github": "https://github.com/inngest/inngest",
|
||||
"website": "https://www.inngest.com/",
|
||||
"docs": "https://www.inngest.com/docs/self-hosting"
|
||||
},
|
||||
"tags": [
|
||||
"workflow",
|
||||
"automation",
|
||||
"self-hosted",
|
||||
"serverless",
|
||||
"events"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "invoiceshelf",
|
||||
"name": "InvoiceShelf",
|
||||
|
||||
Reference in New Issue
Block a user