Operations
Docker Compose management, health checks, and backups for platform admins.
Docker Services
| Container | Image | Port |
|---|---|---|
bizfy-postgres | postgres:16-alpine | 5432 |
bizfy-mongodb | mongo:7 | 27017 |
bizfy-redis | redis:7-alpine | 6379 |
bizfy-qdrant | qdrant:v1.12.5 | 6333 |
bizfy-neo4j | neo4j:5-community | 7687 |
bizfy-admin-ui | custom build | 3000 (local) |
Common Commands
cd /srv/databases
docker compose ps # status
docker compose up -d # start all
docker compose up -d redis # start one
docker compose logs -f redis # logs
docker compose restart postgres
docker compose build admin-ui # rebuild portal
Health Checks
docker compose ps
docker exec bizfy-postgres pg_isready -U postgres -d bizfy
docker exec bizfy-redis redis-cli -a "$REDIS_PASS" ping
curl -s -H "api-key: $KEY" http://72.60.97.82:6333/collections
Provisioning App Access
PostgreSQL
docker exec -it bizfy-postgres psql -U postgres
CREATE DATABASE myapp_db;
CREATE USER myapp_user WITH PASSWORD 'strong-password';
GRANT ALL ON DATABASE myapp_db TO myapp_user;
MongoDB
docker exec -it bizfy-mongodb mongosh -u admin -p
use myapp_db
db.createUser({ user: "myapp_user", pwd: "...", roles: [{ role: "readWrite", db: "myapp_db" }] })
Redis ACL User
docker exec -it bizfy-redis redis-cli -a "$REDIS_PASS"
ACL SETUSER myapp_user on >password ~myapp:* +@all -@dangerous
Neo4j
docker exec -it bizfy-neo4j cypher-shell -u neo4j -p
CREATE USER myapp_user SET PASSWORD '...' CHANGE NOT REQUIRED;
GRANT ROLE editor TO myapp_user;
Backups
# PostgreSQL
docker exec bizfy-postgres pg_dumpall -U postgres | gzip > backup.sql.gz
# MongoDB
docker exec bizfy-mongodb mongodump --archive | gzip > backup.archive.gz
# Redis
docker exec bizfy-redis redis-cli -a "$PASS" BGSAVE
docker cp bizfy-redis:/data/dump.rdb ./redis-backup.rdb
Copy backups off-server regularly. Never run
docker compose down -v unless you intend to wipe all data.