- Add Dockerfile with multi-stage build - Add docker-compose.yml with Traefik labels - Add .dockerignore for optimal build context - Update next.config.ts for standalone output - Update DEPLOYMENT.md with Dokploy instructions Co-Authored-By: Claude <noreply@anthropic.com>
4.7 KiB
Deployment Instructions - Brachnha Insights
This guide provides instructions for deploying Brachnha Insights to production environments.
Prerequisites
- Node.js: v18 or higher
- npm: v9 or higher
- Docker & Docker Compose (for Dokploy deployment)
Environment Variables
Ensure the following environment variables are configured in your production environment:
| Variable | Description | Default / Example |
|---|---|---|
NEXT_PUBLIC_AI_PROVIDER |
Default AI Provider (optional) | gemini |
NEXT_PUBLIC_GEMINI_API_KEY |
Initial API Key (optional) | AIzaSy... |
NEXT_PUBLIC_API_URL |
API Base URL (if custom) | https://api.example.com |
Note: The application uses a local-first architecture (IndexedDB), so no external database connection strings (Postgres/MySQL) are required for the core journaling features.
Deployment Options
Option 1: Dokploy with Docker Compose (Recommended for Self-Hosting)
Dokploy provides an easy way to deploy and manage your applications with Docker.
Files Included
Dockerfile- Multi-stage build for optimal image sizedocker-compose.yml- Service configuration with Traefik labels.dockerignore- Excludes unnecessary files from build
Deployment Steps
1. Deploy from Git Repository (Recommended)
In your Dokploy Dashboard:
- Click "Create Project"
- Select "Compose" as project type
- Choose "From Git Repository"
- Enter your Git URL:
https://gitea.brachnha.com/Brachnha/brachnha-insight.git - Add your Git credentials (token)
- Set branch to
master - Click "Create"
2. Configure Domain (Optional)
Edit docker-compose.yml and replace your-domain.com:
labels:
- "traefik.http.routers.brachnha-insights.rule=Host(`insights.brachnha.com`)"
3. Deploy
- Click "Deploy" button in Dokploy
- Dokploy will build and start the container
Manual Deployment (Alternative)
# Clone repository
git clone https://gitea.brachnha.com/Brachnha/brachnha-insight.git
cd brachnha-insight
# Build and start
docker-compose up -d
Updating:
git pull origin master
docker-compose down
docker-compose build
docker-compose up -d
Or trigger a redeploy from the Dokploy dashboard.
Option 2: Vercel (Recommended for Managed Hosting)
Vercel provides the best support for Next.js applications, including PWA headers and caching.
- Push to GitHub: Ensure your code is pushed to a remote repository.
- Import Project: Go to Vercel Dashboard and import your repository.
- Configure:
- Framework Preset: Next.js
- Build Command:
next build - Output Directory:
.next - Environment Variables: Add any keys defined above.
- Deploy: Click "Deploy".
Vercel will automatically detect the manifest.webmanifest and service worker configurations.
Option 3: Traditional Node.js Server
To deploy as a standalone Node.js application:
- Build the application:
npm run build - Start the server:
The app will be available at
npm starthttp://localhost:3000.
Use a process manager like PM2 for production:
npm install -g pm2
pm2 start npm --name "brachnha-insights" -- start
pm2 startup
pm2 save
Troubleshooting
Docker/Dokploy Issues
Container won't start:
docker-compose logs brachnha-insights
Build fails:
- Ensure
next.config.tshasoutput: 'standalone' - Check that all dependencies are in
package.json
Port conflicts:
- Change the port mapping in
docker-compose.yml - Update the Traefik labels accordingly
Build Failures
-
Google Fonts / Network Errors: The build process requires internet access to download fonts from Google. If building in a restricted environment (like a corporate firewall or offline CI), you may see TLS/Network errors.
- Workaround: Set
NEXT_TURBOPACK_EXPERIMENTAL_USE_SYSTEM_TLS_CERTS=1or temporarily disablenext/font/googleinsrc/app/layout.tsx.
- Workaround: Set
-
Manifest Errors: If you see
manifest.tstype errors, ensure you are using a compatible Next.js version (14+ recommended) or checkpurposefields in icon definitions.
PWA Verification
After deployment, verify the PWA features:
- Open the deployed URL on a mobile device or Chrome.
- Look for the "Install Brachnha Insights" prompt (bottom banner) or the Install icon in the address bar.
- Install the app and verify it opens in standalone mode.
- Disconnect internet and verify you can still create/save drafts (Offline support).