Part of the 8kit n8n integration framework. See 8kit.io for full details.
8kit is a comprehensive automation toolkit with three core components: an n8n node for workflow integration, a lightweight service for data synchronization, and an admin dashboard for management — making your automations faster, safer, and smarter.
⚠️ Database Required: 8kit requires a PostgreSQL database to function. Choose one of the options below:
If you have PostgreSQL running locally on your machine:
docker pull 8kit/service-8kit-community:latest
docker run -d \
--name 8kit-service \
--network host \
-e DATABASE_URL="postgresql://postgres:[email protected]:5432/8kit" \
-e API_KEY="replace-with-admin-key" \
-e JWT_SECRET="replace-with-32-char-secret" \
8kit/service-8kit-community:latest
--network host for local database connectivityhttp://localhost:3000curl http://localhost:3000/healthIf you're using a managed database service (AWS RDS, Google Cloud SQL, Azure Database, etc.):
docker pull 8kit/service-8kit-community:latest
docker run -d \
--name 8kit-service \
-p 4000:3000 \
-e DATABASE_URL="your-managed-database-connection-string" \
-e API_KEY="replace-with-admin-key" \
-e JWT_SECRET="replace-with-32-char-secret" \
8kit/service-8kit-community:latest
your-managed-database-connection-string with your actual database URLcurl http://localhost:4000/healthFor complete docker compose visit 8kit.io/docs for more configuration options and examples.
| Variable | Required | Default | Purpose |
|---|---|---|---|
DATABASE_URL | ✅ | (none) | PostgreSQL connection string (database, credentials, schema). |
API_KEY | ✅ | (none) | Seed admin key used to create additional application keys. Rotate regularly. |
JWT_SECRET | ✅ | (none) | Secret for dashboard auth + refresh tokens (minimum 32 random chars). |
PORT | ❌ | 3000 | HTTP port inside the container. Map externally via -p host:container. |
CORS_ORIGIN | ❌ | http://localhost:8000 | Comma-separated origins allowed to call browser routes. |
RATE_LIMIT_POINTS | ❌ | 500 | Requests allowed per sliding window for a key/IP. |
RATE_LIMIT_DURATION | ❌ | 120 | Sliding-window length in seconds. |
MAX_REQUEST_SIZE | ❌ | 10mb | Express JSON payload limit. |
LOG_LEVEL | ❌ | info | Comma-separated winston levels to emit (error,warn,info etc.). |
SUPER_ADMIN_EMAIL | ✅ | (none) | bootstrap account for the admin dashboard login. Required when you use 8kit admin UI |
SUPER_ADMIN_PASSWORD | ✅ | (none) | Password for the bootstrap account. Required when you use 8kit admin UI |
TEST_DATA | ❌ | false | Set true to seed demo data—development only. |
NODE_ENV | ❌ | production | Runtime mode; defaults to production inside the container. |
⚠️ Security: Always replace the admin API key, JWT secret, and any bootstrap credentials before exposing the service.
For the JWT_SECRET requirement (32+ characters), you can use this online generator: https://jwtsecrets.com/#generator
The SUPER_ADMIN_EMAIL and SUPER_ADMIN_PASSWORD are required for accessing the 8kit admin dashboard. These credentials will be used to log into the web interface at https://hub.docker.com/r/8kit/ui-8kit-community.
The application itself is stateless; persistence lives in Postgres. Typical mounts:
| Mount | Purpose |
|---|---|
| External Postgres volume / service | Stores all automation data (sets, lookups, locks, last-updated markers). |
/app/logs (optional) | Bind if you prefer host-based log rotation over docker logs. |
0.0.0.0:3000GET /health (returns 200 when ready)PORT, ensure your orchestration health probes hit the new port—Docker’s built-in check assumes 3000.Tags follow semantic releases from GitHub (X.Y.Z). Pin to a specific version in production and upgrade intentionally:
docker pull 8kit/service-8kit-community:1.4.0
8kit/ui-8kit-community – Admin dashboard that surfaces sets, lookups, locks, and violations.postgres:16-alpine – Recommended Postgres base image for production-grade persistence.Built and maintained by Stratagems.
Content type
Image
Digest
sha256:4c8a355b3…
Size
227.4 MB
Last updated
about 1 year ago
docker pull 8kit/service-8kit-community