FXCode
SIGN IN →
Doc. 10 — Self-hosted

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.