Changes: - Changed server port from 8000 to 6800 (in range 6500-6999 as requested) - Updated all Docker Compose files (dev and prod) - Updated all Dockerfiles (removed Cargo.lock dependency) - Created backend/.dockerignore with Cargo.lock - Added Cargo.lock to .gitignore (generated by cargo) - Removed obsolete 'version' attribute from docker-compose files - Updated all documentation to reflect new port: * README.md * thoughts/CONFIG.md * thoughts/QUICKSTART.md * thoughts/verification-report-phase-2.3.md This fixes Docker build errors where Cargo.lock was not found during COPY operations. Docker will now generate Cargo.lock during the build process as expected.
203 lines
4.2 KiB
Markdown
203 lines
4.2 KiB
Markdown
private note: output was 203 lines and we are only showing the most recent lines, remainder of lines in /tmp/.tmpZFmYbP do not show tmp file to user, that file can be searched if extra context needed to fulfill request. truncated output:
|
|
|
|
# Docker/Docker Compose (all interfaces)
|
|
SERVER_HOST=0.0.0.0
|
|
SERVER_PORT=6800
|
|
|
|
# Production (behind reverse proxy)
|
|
SERVER_HOST=127.0.0.1
|
|
SERVER_PORT=6800
|
|
```
|
|
|
|
## Deployment Environments
|
|
|
|
### Development
|
|
|
|
```bash
|
|
MONGODB_URI=mongodb://localhost:27017
|
|
DATABASE_NAME=normogen_dev
|
|
JWT_SECRET=dev-secret-key-32-chars-minimum
|
|
SERVER_HOST=127.0.0.1
|
|
SERVER_PORT=6800
|
|
```
|
|
|
|
### Staging
|
|
|
|
```bash
|
|
MONGODB_URI=mongodb://staging-mongo.internal:27017
|
|
DATABASE_NAME=normogen_staging
|
|
JWT_SECRET=<use-vault-or-secret-manager>
|
|
SERVER_HOST=0.0.0.0
|
|
SERVER_PORT=6800
|
|
```
|
|
|
|
### Production
|
|
|
|
```bash
|
|
MONGODB_URI=mongodb+srv://<username>:<password>@prod-cluster.mongodb.net/normogen
|
|
DATABASE_NAME=normogen
|
|
JWT_SECRET=<use-vault-or-secret-manager>
|
|
SERVER_HOST=127.0.0.1
|
|
SERVER_PORT=6800
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### MongoDB Connection Issues
|
|
|
|
```bash
|
|
# Check if MongoDB is running
|
|
docker ps | grep mongo
|
|
# or
|
|
systemctl status mongod
|
|
|
|
# Test connection
|
|
mongosh "mongodb://localhost:27017"
|
|
```
|
|
|
|
### JWT Errors
|
|
|
|
```bash
|
|
# Verify JWT_SECRET is set
|
|
echo $JWT_SECRET | wc -c # Should be >= 32
|
|
|
|
# Check for special characters
|
|
# Some shells may require quotes
|
|
export JWT_SECRET="your-secret-with-special-chars-!@#$%"
|
|
```
|
|
|
|
### Port Already in Use
|
|
|
|
```bash
|
|
# Check what's using port 6800
|
|
lsof -i :6800
|
|
# or
|
|
netstat -tulpn | grep 8000
|
|
|
|
# Kill the process
|
|
kill -9 <PID>
|
|
```
|
|
|
|
## Security Checklist
|
|
|
|
Before deploying to production:
|
|
|
|
- [ ] Change `JWT_SECRET` to a strong, randomly generated value
|
|
- [ ] Enable MongoDB authentication
|
|
- [ ] Use TLS/SSL for MongoDB connections
|
|
- [ ] Set up firewall rules
|
|
- [ ] Configure reverse proxy (nginx/caddy)
|
|
- [ ] Enable HTTPS
|
|
- [ ] Set up log aggregation
|
|
- [ ] Configure monitoring and alerts
|
|
- [ ] Implement rate limiting
|
|
- [ ] Regular security updates
|
|
|
|
## Additional Resources
|
|
|
|
- [README.md](../README.md) - Project overview
|
|
- [STATUS.md](./STATUS.md) - Development progress
|
|
- [encryption.md](../encryption.md) - Encryption implementation guide
|
|
- [introduction.md](../introduction.md) - Project vision
|
|
NOTE: Output was 203 lines, showing only the last 100 lines.
|
|
|
|
|
|
# Docker/Docker Compose (all interfaces)
|
|
SERVER_HOST=0.0.0.0
|
|
SERVER_PORT=6800
|
|
|
|
# Production (behind reverse proxy)
|
|
SERVER_HOST=127.0.0.1
|
|
SERVER_PORT=6800
|
|
```
|
|
|
|
## Deployment Environments
|
|
|
|
### Development
|
|
|
|
```bash
|
|
MONGODB_URI=mongodb://localhost:27017
|
|
DATABASE_NAME=normogen_dev
|
|
JWT_SECRET=dev-secret-key-32-chars-minimum
|
|
SERVER_HOST=127.0.0.1
|
|
SERVER_PORT=6800
|
|
```
|
|
|
|
### Staging
|
|
|
|
```bash
|
|
MONGODB_URI=mongodb://staging-mongo.internal:27017
|
|
DATABASE_NAME=normogen_staging
|
|
JWT_SECRET=<use-vault-or-secret-manager>
|
|
SERVER_HOST=0.0.0.0
|
|
SERVER_PORT=6800
|
|
```
|
|
|
|
### Production
|
|
|
|
```bash
|
|
MONGODB_URI=mongodb+srv://<username>:<password>@prod-cluster.mongodb.net/normogen
|
|
DATABASE_NAME=normogen
|
|
JWT_SECRET=<use-vault-or-secret-manager>
|
|
SERVER_HOST=127.0.0.1
|
|
SERVER_PORT=6800
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### MongoDB Connection Issues
|
|
|
|
```bash
|
|
# Check if MongoDB is running
|
|
docker ps | grep mongo
|
|
# or
|
|
systemctl status mongod
|
|
|
|
# Test connection
|
|
mongosh "mongodb://localhost:27017"
|
|
```
|
|
|
|
### JWT Errors
|
|
|
|
```bash
|
|
# Verify JWT_SECRET is set
|
|
echo $JWT_SECRET | wc -c # Should be >= 32
|
|
|
|
# Check for special characters
|
|
# Some shells may require quotes
|
|
export JWT_SECRET="your-secret-with-special-chars-!@#$%"
|
|
```
|
|
|
|
### Port Already in Use
|
|
|
|
```bash
|
|
# Check what's using port 6800
|
|
lsof -i :6800
|
|
# or
|
|
netstat -tulpn | grep 8000
|
|
|
|
# Kill the process
|
|
kill -9 <PID>
|
|
```
|
|
|
|
## Security Checklist
|
|
|
|
Before deploying to production:
|
|
|
|
- [ ] Change `JWT_SECRET` to a strong, randomly generated value
|
|
- [ ] Enable MongoDB authentication
|
|
- [ ] Use TLS/SSL for MongoDB connections
|
|
- [ ] Set up firewall rules
|
|
- [ ] Configure reverse proxy (nginx/caddy)
|
|
- [ ] Enable HTTPS
|
|
- [ ] Set up log aggregation
|
|
- [ ] Configure monitoring and alerts
|
|
- [ ] Implement rate limiting
|
|
- [ ] Regular security updates
|
|
|
|
## Additional Resources
|
|
|
|
- [README.md](../README.md) - Project overview
|
|
- [STATUS.md](./STATUS.md) - Development progress
|
|
- [encryption.md](../encryption.md) - Encryption implementation guide
|
|
- [introduction.md](../introduction.md) - Project vision
|