No description
| assets/css | ||
| components | ||
| layouts | ||
| middleware | ||
| pages | ||
| server | ||
| tests | ||
| types | ||
| utils | ||
| .dockerignore | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| app.config.ts | ||
| app.vue | ||
| docker-entrypoint.sh | ||
| Dockerfile | ||
| drizzle.config.ts | ||
| nuxt.config.ts | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
Campfire Core
Nuxt application and API for the Campfire dashboard.
Development
npm ci
npm run dev
The application expects PostgreSQL with the vector extension (for example,
the pgvector/pgvector image). Configure the connection with
NUXT_PG_CONNECTION_STRING. NUXT_OPENWEBUI_URL, NUXT_SETUP_TOKEN, and
NUXT_N8N_ENGAGEMENT_WEBHOOK_URL can also be set for embeddings, protected
account setup, and read/dismiss notifications.
Run the checked-in migrations with:
npm run db:migrate
Verification
npm run lint
npm test
npm run typecheck
npm run build
npx drizzle-kit check
Container
The Dockerfile builds a production Node server, runs database migrations on startup, and exposes port 3000. A Compose service can use this repository directly as its build context:
services:
campfire:
build: https://code.incremental.social/thepaperpilot/campfire-core.git
ports:
- '3000:3000'
environment:
NUXT_PG_CONNECTION_STRING: postgres://n8n:changeme@postgres:5432/n8n
NUXT_OPENWEBUI_URL: http://openwebui:8080
NUXT_EMBED_MODEL: nomic-embed-text
NUXT_EMBED_DIMENSIONS: '768'
NUXT_EMBED_BATCH_SIZE: '32'
NUXT_SETUP_TOKEN: ${CAMPFIRE_SETUP_TOKEN:-}
Provide the runtime variables through Compose. The container waits for the database connection and runs pending migrations before serving traffic.