Configure environment variables:
cp .env.docker .env
Edit .env and add your MISTRAL_API_KEY and set a secure POSTGRES_PASSWORD.
Build and start services:
docker-compose up -d
Run database migrations:
docker-compose exec app sh -c "npx drizzle-kit migrate"
Seed the database (optional):
docker-compose exec app sh -c "npx tsx src/app/db/db.seed.ts"
Access the application:
docker-compose --profile tools up -d to enable)docker-compose up -d
docker-compose down
docker-compose logs -f app
docker-compose logs -f postgres
docker-compose up -d --build
docker-compose exec app npx drizzle-kit migrate
docker-compose exec postgres psql -U postgres -d sqlagent
curl http://localhost:3000/api/health
Start with database tools profile:
docker-compose --profile tools up -d
Access Adminer at http://localhost:8080β
docker-compose exec postgres pg_dump -U postgres sqlagent > backup.sql
docker-compose exec -T postgres psql -U postgres sqlagent < backup.sql
docker-compose ps
docker inspect --format='{{json .State.Health}}' sql-agent-app
docker-compose down -v
docker-compose up -d --build
For production:
POSTGRES_PASSWORDTo use external PostgreSQL (like Neon), modify docker-compose.yml:
services:
app:
environment:
DATABASE_URL: ${DATABASE_URL} # Point to external DB
# Remove depends_on: postgres
βββββββββββββββββββ
β Next.js App β :3000
β (sql-agent) β
ββββββββββ¬βββββββββ
β
βββββββββββββββ
β β
ββββββΌβββββ ββββββΌββββββ
β Postgresβ β Mistral β
β :5432 β β API β
βββββββββββ ββββββββββββ
β
ββββββΌβββββ
β Volume β
β Data β
βββββββββββ
Minimum:
Recommended:
Content type
Image
Digest
sha256:49f405995β¦
Size
91.9 MB
Last updated
10 months ago
docker pull sarthak5109/sql-agent