This guide provides comprehensive information for system administrators deploying and maintaining the VISTA application.
This administrator guide is organized into the following sections:
- Installation & Deployment - Installation options, Docker, Kubernetes
- Configuration - Environment variables, application settings
- Authentication & Security - Reverse proxy setup, authentication, security hardening
- Database Management - Migrations, backups, maintenance
- Storage Configuration - S3/MinIO setup and management
- Monitoring & Maintenance - Logging, health checks, updates
- Troubleshooting - Common issues and solutions
- System Requirements
- Quick Start Installation
- Environment Configuration
- Reverse Proxy Setup
- Database Migrations
- Security Checklist
VISTA is a full-stack web application for managing, classifying, and collaborating on visual content.
Components:
- Backend: FastAPI (Python 3.11+) REST API
- Frontend: React 18 single-page application
- Database: PostgreSQL 15+ for metadata
- Storage: S3-compatible object storage (MinIO or AWS S3) for images
Deployment Patterns:
Development/Testing:
Docker (PostgreSQL + MinIO) <-> FastAPI Backend <-> React Frontend (dev server)
Production:
Users -> Reverse Proxy (nginx/Apache) -> Application Container -> PostgreSQL
-> S3/MinIO
For administrators new to this application:
- Review System Requirements
- Choose your Deployment Method
- Configure Environment Variables
- Set up Authentication
- Configure Database and run migrations
- Set up Storage (S3 or MinIO)
- Enable Monitoring
- Review Security Checklist
Essential steps for production deployment:
- Review system requirements and provision hardware
- Install and configure PostgreSQL 15+
- Set up S3-compatible storage (MinIO or AWS S3)
- Generate secure secrets (PROXY_SHARED_SECRET, ML_CALLBACK_HMAC_SECRET)
- Configure environment variables
- Set up reverse proxy with authentication
- Configure firewall rules
- Run database migrations
- Enable HTTPS/TLS
- Set up automated backups
- Configure monitoring and logging
- Test authentication and authorization
- Perform security audit
- User Guide:
/docs/user-guide.md- For end users - Developer Guide:
/docs/developer-guide.md- For developers - API Documentation:
http://your-server:8000/docs- Interactive API docs - Production Proxy Setup:
/docs/production/proxy-setup.md- Detailed reverse proxy configuration - GitHub Repository: https://github.com/garland3/yet-another-image-project-app
| Service | Default Port | Purpose |
|---|---|---|
| Backend API | 8000 | FastAPI application |
| Frontend Dev | 3000 | React development server |
| PostgreSQL | 5432 | Database |
| MinIO API | 9000 | S3-compatible storage |
| MinIO Console | 9001 | MinIO web interface |
| pgAdmin | 8080 | Database management UI |
- Project - Top-level organizational unit with group-based access
- Group - Set of users with access to specific projects
- Soft Delete - Recoverable deletion with retention period
- Hard Delete - Permanent deletion after retention period
- API Key - Authentication token for programmatic access
- ML Analysis - Machine learning results integrated via API
# Start infrastructure
podman compose up -d postgres minio
# Run database migrations
cd backend && alembic upgrade head
# Start application
cd backend && uvicorn main:app --host 0.0.0.0 --port 8000
# View logs
podman logs -f vista
# Backup database
pg_dump -h localhost -U postgres imagemanager > backup.sql
# Check application health
curl http://localhost:8000/health.env- Main configuration file.env.example- Template with all options
/app/backend- Backend Python code/app/frontend/build- Frontend static files/var/log/image-manager- Application logs/backups- Database backups
- Check the relevant section in this guide
- Review troubleshooting documentation
- Check application logs
- Consult the API documentation
- Contact support team or file an issue on GitHub