A lightweight service for data synchronization, and a built-in admin dashboard
1.6K
Part of the 8kit n8n integration framework. See 8kit.io for full details.
8kit is a comprehensive automation toolkit that allows you to build bulletproof n8n workflows with proven patterns making 8kit + n8n a fully fledged iPaas Solution.
The 8kit docker image allows you to create your own 8kit server which you can use to connect from our community n8n node. It provides the underlying 8kit service with admin UI to manage your 8kit data.
Complete setup with PostgreSQL database included:
services:
db:
image: postgres:16-alpine
container_name: 8kit-postgres
environment:
- POSTGRES_DB=service_db
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256 --auth-local=trust
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d service_db"]
interval: 5s
timeout: 3s
retries: 20
restart: unless-stopped
volumes:
- 8kit_data:/var/lib/postgresql/data
app:
image: 8kit/8kit:latest
container_name: 8kit
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://postgres:postgres@db:5432/service_db?schema=public
# - JWT_SECRET=your-custom-minimum-32-char-secret
# - [email protected]
# - SUPER_ADMIN_PASSWORD=demo123
# - LOG_LEVEL=error
# - JWT_EXPIRES_IN=7d
# - MAX_REQUEST_SIZE=100kb
# - DATABASE_CONNECTION_POOL_SIZE=5
depends_on:
db:
condition: service_healthy
restart: unless-stopped
healthcheck:
test: ["CMD", "/health-check.sh"]
interval: 30s
timeout: 3s
start_period: 40s
retries: 3
volumes:
8kit_data:
Run with: docker compose up -d
For more configuration options visit 8kit.io/docs.
Only one environment variable is required:
| Variable | Required | Default | Purpose |
|---|---|---|---|
DATABASE_URL | ✅ | (none) | PostgreSQL connection string (database, credentials, schema). |
That's it! Everything else has smart defaults.
Customize these for production deployments:
| Variable | Default | Purpose |
|---|---|---|
JWT_SECRET | auto-generated | Secret for dashboard auth tokens. Auto-generates a secure 64-char hex string if not provided. |
SUPER_ADMIN_EMAIL | [email protected] | Bootstrap admin account email for dashboard login. |
SUPER_ADMIN_PASSWORD | demo123 | Bootstrap admin account password. |
NODE_ENV | production | Runtime mode (production/development/test). |
PORT | 3000 | HTTP port inside the container. Map externally via -p host:container. |
LOG_LEVEL | error | Winston log levels: error, warn, info, debug, silly. |
MAX_REQUEST_SIZE | 100kb | Maximum JSON payload size. |
TEST_DATA | false | Set true to seed demo data. |
DATABASE_CONNECTION_POOL_SIZE | 5 | The max connection the database accepts. |
⚠️ For Production: Set custom
JWT_SECRET,SUPER_ADMIN_EMAIL, andSUPER_ADMIN_PASSWORDvalues.
Generate secure secrets:
# Generate JWT_SECRET (32+ characters)
openssl rand -hex 32
# Or use: https://jwtsecrets.com/#generator
Default credentials:
[email protected]demo123⚠️ Change these in production!
This single Docker image contains:
/)The application itself is stateless; all data lives in PostgreSQL:
| Storage | Purpose |
|---|---|
| PostgreSQL Database | Required - Stores all automation data (uniqs, lookups, locks, lastUpdates). |
3000 (configurable via PORT env var)http://localhost:3000/http://localhost:3000/api/v1http://localhost:3000/api/docsGET /health (returns 200 when ready)Health Check Response:
{
"status": "healthy",
"timestamp": "2025-10-01T12:00:00.000Z",
"uptime": 123.45,
"environment": "production",
"version": "1.0.1"
}
Tags follow semantic releases (X.Y.Z). Pin to a specific version in production and upgrade intentionally:
docker pull 8kit/8kit:1.4.0
postgres:16-alpine - Lightweight and production-readyBuilt and maintained by Stratagems.
Content type
Image
Digest
sha256:b598880c1…
Size
407.9 MB
Last updated
12 months ago
docker pull 8kit/8kit