Self-hosted
Run FXCode on your own machine or server.
If you’d rather not use the managed service, you can run FXCode yourself. The CLI and the MCP server connect to your installation by changing the API address; the desktop app, for now, always opens app.fxcode.dev.
Requirements
FXCode is a monorepo containing the web app (Next.js), the API (Fastify + PostgreSQL), the CLI, the desktop app and this site. You need:
- Node.js 20 or later and pnpm 9
- PostgreSQL 14 or later
git clone https://github.com/fazt/fxcode.git
cd fxcode
pnpm install
Environment variables
The API reads apps/api/.env. At a minimum:
DATABASE_URL="postgresql://usuario:contraseña@localhost:5432/fxcode"
JWT_SECRET="una-cadena-larga-y-aleatoria"
PORT=4000
FRONTEND_URL="http://localhost:3000"
APP_URL="http://localhost:3000"
The app reads apps/web/.env.local:
AUTH_SECRET="otra-cadena-larga-y-aleatoria"
NEXTAUTH_URL="http://localhost:3000"
NEXT_PUBLIC_API_URL="http://localhost:4000"
BACKEND_URL="http://localhost:4000"
Everything else is optional and enables specific features: email (AWS SES), attachment storage (S3; without it, files are stored on disk), AI (OpenAI or Gemini), meetings (Google Meet or Zoom) and sign-in with Google, Microsoft or GitHub (see the AUTH_* variables in CLAUDE.md).
Database and first user
pnpm db:push # creates the tables
pnpm create-admin # the first admin user
pnpm dev # app on :3000 and API on :4000
Open http://localhost:3000 and, under Settings, define your task statuses: mark which one counts as done and which one gets the progress animation (for example “Working”).
Connect the tools
fxc auth login --api-url https://api.tu-dominio.com -e tu@correo.dev
The MCP server uses the same session as the CLI.