Sign inSign up

8kit/service-8kit-community

By 8kit

•Updated about 1 year ago
Archived

Image
Integration & delivery
0

1.2K

8kit/service-8kit-community repository overview

8kit Logo

⁠8kit Service – Automation Memory for Every Workflow

Discord GitHub


Part of the 8kit⁠ n8n integration framework. See 8kit.io⁠⁠ for full details.


⁠Overview

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.

⁠Highlights
  • Persistent automation state – Track processed IDs, cross-system mappings, and "last run" timestamps.
  • Duplicate prevention – Deterministic checks stop the same payload from running twice across retries.
  • Distributed Transactions – Ensure only one worker handles a critical section at a time.

⁠Getting Started

⁠One-liner (Docker Run)

⚠️ Database Required: 8kit requires a PostgreSQL database to function. Choose one of the options below:

⁠Option 1: Local Database (PostgreSQL running on your host)

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
  • Uses --network host for local database connectivity
  • Access via http://localhost:3000
  • Health probe: curl http://localhost:3000/health
⁠Option 2: Managed Database (External PostgreSQL service)

If 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
  • Replace your-managed-database-connection-string with your actual database URL
  • Container listens on port 3000 by default, mapped to host port 4000
  • Health probe: curl http://localhost:4000/health
⁠Docker Compose (service + Postgres + UI)

For complete docker compose visit 8kit.io/docs⁠ for more configuration options and examples.


⁠Configuration

VariableRequiredDefaultPurpose
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❌3000HTTP port inside the container. Map externally via -p host:container.
CORS_ORIGIN❌http://localhost:8000Comma-separated origins allowed to call browser routes.
RATE_LIMIT_POINTS❌500Requests allowed per sliding window for a key/IP.
RATE_LIMIT_DURATION❌120Sliding-window length in seconds.
MAX_REQUEST_SIZE❌10mbExpress JSON payload limit.
LOG_LEVEL❌infoComma-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❌falseSet true to seed demo data—development only.
NODE_ENV❌productionRuntime mode; defaults to production inside the container.

⚠️ Security: Always replace the admin API key, JWT secret, and any bootstrap credentials before exposing the service.

⁠Generating Secure Secrets

For the JWT_SECRET requirement (32+ characters), you can use this online generator: https://jwtsecrets.com/#generator⁠

⁠Super Admin Credentials

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⁠.


⁠Data & Persistency

The application itself is stateless; persistence lives in Postgres. Typical mounts:

MountPurpose
External Postgres volume / serviceStores all automation data (sets, lookups, locks, last-updated markers).
/app/logs (optional)Bind if you prefer host-based log rotation over docker logs.

⁠Networking & Health

  • Default listener: 0.0.0.0:3000
  • Built-in health check: GET /health (returns 200 when ready)
  • If you override PORT, ensure your orchestration health probes hit the new port—Docker’s built-in check assumes 3000.

⁠Upgrading

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

⁠Resources & Support


⁠Documentation

  • Service documentation – https://8kit.io/docs⁠ provides deployment guides, API references, and operations playbooks.

⁠Companion Images

⁠License

Built and maintained by Stratagems⁠.

Tag summary

Content type

Image

Digest

sha256:4c8a355b3…

Size

227.4 MB

Last updated

about 1 year ago

docker pull 8kit/service-8kit-community