- Modified `.env.example` to reflect new API URL structure and added CDN configuration for external storage. - Updated `.gitignore` to include deployment secrets and certificate files, ensuring sensitive information is not committed. - Revised `BACKEND_INTEGRATION.md` to clarify authentication methods, replacing Cognito references with Nostr NIP-98. - Deleted outdated documentation files (`CONTENT-INTEGRATION-COMPLETE.md`, `CURSOR-MCP-SETUP.md`, `FINAL-STATUS.md`, `FIXES-APPLIED.md`, `INDEEHHUB-INTEGRATION.md`, `PROJECT-COMPLETE.md`, `PROJECT-SUMMARY.md`) to streamline project documentation. These changes enhance the clarity of the environment setup and improve the overall documentation structure for better developer onboarding.
3.2 KiB
3.2 KiB
IndeeHub Deployment
Full Stack (Recommended)
The app requires the full stack: frontend (nginx), backend API, PostgreSQL, Redis, MinIO, FFmpeg worker, Nostr relay.
Docker Compose
# Copy environment template and fill in secrets
cp .env.portainer.example .env.portainer
# Edit .env.portainer with your values
# Deploy
docker compose up -d --build
Portainer
- Create a new Stack
- Load variables from
.env.portainer(use.env.portainer.exampleas template) - Use
docker-compose.ymlfrom the repo - Deploy
Access
- Application URL:
http://your-server:7777 - Health Check:
http://your-server:7777/health
Configuration
Port Configuration
The application runs on port 7777 by default. To change:
# In docker-compose.yml
ports:
- "YOUR_PORT:7777"
Environment Variables
Add any required environment variables in docker-compose.yml:
environment:
- NODE_ENV=production
- VITE_API_URL=https://your-api.com
Build Details
Multi-stage Docker Build
- Builder Stage: Compiles Vue/TypeScript application
- Production Stage: Serves built files with Nginx
Features
- ✅ Nginx web server (Alpine Linux)
- ✅ Gzip compression
- ✅ Security headers
- ✅ PWA support with proper MIME types
- ✅ Vue Router SPA fallback
- ✅ Service Worker support
- ✅ Health check endpoint
- ✅ Auto-restart enabled
Monitoring
Health Check
curl http://localhost:7777/health
Container Status
docker ps | grep indeedhub
View Logs
docker logs -f indeedhub-app
Updates
Rebuild and Deploy
docker-compose down
docker-compose up -d --build
Using Portainer
- Go to your stack
- Click "Update"
- Enable "Pull latest image"
- Click "Update the stack"
Troubleshooting
Container won't start
# Check logs
docker logs indeedhub-app
# Check if port is available
lsof -i :7777
Build fails
# Clear Docker cache
docker builder prune
# Rebuild without cache
docker-compose build --no-cache
Production Checklist
- ✅ Port 7777 exposed
- ✅ Health checks configured
- ✅ Auto-restart enabled
- ✅ Gzip compression enabled
- ✅ Security headers set
- ✅ PWA manifest support
- ✅ Service worker caching
- ✅ SPA routing configured
- ✅ Docker networking isolated
Stack Configuration for Portainer
Copy this into Portainer Stack editor:
version: '3.8'
services:
indeedhub:
image: indeedhub-prototype:latest
build:
context: .
dockerfile: Dockerfile
container_name: indeedhub-app
restart: unless-stopped
ports:
- "7777:7777"
environment:
- NODE_ENV=production
networks:
- indeedhub-network
labels:
- "com.centurylinklabs.watchtower.enable=true"
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:7777/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
indeedhub-network:
driver: bridge
Support
For issues, check:
- Container logs:
docker logs indeedhub-app - Health endpoint:
http://localhost:7777/health - Nginx config:
/etc/nginx/conf.d/default.conf