1.8 KiB
1.8 KiB
Banatie Infrastructure
Production deployment configuration files for VPS.
Files
| File | Purpose |
|---|---|
docker-compose.production.yml |
Docker Compose for VPS deployment |
.env.example |
Environment variables template |
secrets.env.example |
Secrets template (passwords, API keys) |
init-db.sql |
PostgreSQL initialization (grants permissions) |
Usage
# Copy to VPS
scp -r infrastructure/* usul-vps:/opt/banatie/
# On VPS
cd /opt/banatie
cp docker-compose.production.yml docker-compose.yml
cp .env.example .env
cp secrets.env.example secrets.env
cp init-db.sql scripts/
# Edit configuration
nano .env
nano secrets.env
chmod 600 secrets.env
# Deploy
docker compose --env-file .env --env-file secrets.env up -d
VPS Directory Structure
/opt/banatie/
├── docker-compose.yml # Copy from docker-compose.production.yml
├── .env # Copy from .env.example and configure
├── secrets.env # Copy from secrets.env.example and configure
├── scripts/
│ └── init-db.sql # Copy from init-db.sql
├── data/
│ ├── postgres/ # PostgreSQL data (DO NOT CREATE MANUALLY)
│ ├── minio/ # MinIO drives (DO NOT CREATE MANUALLY)
│ ├── waitlist-logs/
│ ├── api-results/
│ └── api-uploads/
└── logs/
└── api/
Important Notes
- Docker User NS Remapping: VPS uses UID offset 165536. Let Docker create data directories.
- Secrets: Never commit secrets.env to git. Use
chmod 600. - Database: Tables are created by Drizzle ORM, not init-db.sql.
Documentation
- Full guide: docs/deployment.md
- VPS docs: VPS repo
docs/banatie-deployment.md