# Deploy Leadfinder Online

This repo now supports single-host production deployment with Docker Compose.

## 1) Prepare server

- Ubuntu VPS with a public IP and DNS A record for your domain.
- Install Docker + Docker Compose plugin.

## 2) Configure env

```bash
cd /path/to/Leadfinder
cp .env.production.example .env.production
```

Set required values in `.env.production`:

- `DOMAIN`
- `POSTGRES_*`
- `APP_KEY` (generate from Laravel container)
- `OPENAI_API_KEY`
- `SERPAPI_API_KEY`
- `BOUNCER_API_KEY`

Generate `APP_KEY`:

```bash
docker compose -f docker-compose.prod.yml run --rm api php artisan key:generate --show
```

Paste output into `APP_KEY=` in `.env.production`.

## 3) Build and start services

```bash
docker compose -f docker-compose.prod.yml up -d --build
```

## 4) Run migrations and create admin user

```bash
docker compose -f docker-compose.prod.yml exec api php artisan migrate --force
docker compose -f docker-compose.prod.yml exec api php artisan make:filament-user
```

## 5) Access app

- Web app: `https://<DOMAIN>`
- Admin CMS: `https://<DOMAIN>/admin`
- API base: `https://<DOMAIN>/api`

## Operations

- Tail logs: `docker compose -f docker-compose.prod.yml logs -f api worker web caddy`
- Restart worker: `docker compose -f docker-compose.prod.yml restart worker`
- Deploy updates: `git pull && docker compose -f docker-compose.prod.yml up -d --build`
