Intelligent Photo Gallery with AI Tagging, built with Django and SeaweedFS.
- 📷 Photo Gallery Management: Organize photos into galleries and albums
- 🤖 AI-Powered Tagging: Automatic image tagging using YOLO
- 🔍 OCR Support: Extract text from images using PaddleOCR
- 🔐 Secure File Access: Signed URLs for media files
- 👥 Sharing: Share galleries with other users
- 🏷️ Tagging System: User-defined and AI-generated tags
- 🌐 REST API: Full REST API using Django REST Framework
- 📦 SeaweedFS Storage: Scalable distributed file storage
See QUICK_START.md for detailed setup instructions.
-
Clone and configure:
git clone <your-repo> cd gallery cp .env.example .env # Edit .env with your settings
-
Install dependencies:
make install-dev
-
Start services:
make docker-up
-
Run migrations:
make migrate
-
Create superuser:
make superuser
- QUICK_START.md - Quick setup guide
- docs/DEPLOYMENT.md - Production deployment guide
- docs/SEAWEEDFS_AUTH.md - SeaweedFS authentication setup
- docs/NGINX_SIGNED_URLS.md - Nginx signed URL configuration
- docs/WIREGUARD_SETUP.md - WireGuard VPN setup for split deployment
- README_TESTING.md - Testing guide
To enable SeaweedFS S3 storage with authentication:
-
Start SeaweedFS:
make docker-up
-
Create access keys:
make seaweedfs-auth
-
Add credentials to
.env:storage.use_s3=True storage.s3.access_key_id=<generated-key> storage.s3.secret_access_key=<generated-secret>
See docs/SEAWEEDFS_AUTH.md for detailed instructions.
make test # Run all tests
make test-cov # Run with coverage
make test-fast # Run in parallelmake lint # Run linters
make format # Format codemake runserver # Start development server
make migrate # Run migrations
make makemigrations # Create migrations
make shell # Django shell
make superuser # Create superusergallery/
├── app/ # Django application
│ ├── config/ # Django settings and configuration
│ ├── gallery/ # Gallery app (models, views, serializers)
│ └── tests/ # Test suite
├── docs/ # Documentation
├── scripts/ # Utility scripts
├── nginx/ # Nginx configuration
├── docker-compose.yml # Local development
├── docker-compose.vps.yml # VPS deployment
├── docker-compose.gpu.yml # GPU worker deployment
└── Makefile # Common commands
[Add your license here]