Repository navigation
FlashPod v0.8.0 Released
🎉 FlashPod v0.8.0 - "Container Ready"
Major milestone: FlashPod is now production-ready with full containerization support!
FlashPod v0.8.0 introduces comprehensive containerization, making it incredibly easy for self-hosters to deploy their own flashcard learning platform. This release focuses on deployment simplicity while maintaining all the core functionality users love.
🚢 Container & Deployment
🐳 Docker Support
- Multi-stage Dockerfile with optimized build process
- Rootless containers with configurable user/group mapping
- Production-ready with security hardening and health checks
- Cross-platform support (AMD64, ARM64)
📦 Podman Integration
- Podman Quadlet support for systemd integration
- Automatic service management with systemctl
- Rootless deployment - no root privileges required
- Auto-start on boot with proper dependency management
⚡ Self-Hosting Made Simple
# Just three steps to self-host FlashPod:
cp .env.example .env # Configure your secrets
docker-compose up -d # Start FlashPod
# Access at http://localhost:8000🔧 Configuration & Management
📁 Simplified Data Storage
- No database URLs needed - just point to a directory
- Automatic database creation on first run
- Flexible bind mounts - store data anywhere on your system
- Easy backups - just copy your data directory
🔐 Enhanced Security
- Environment-based configuration with strong secret generation
- JWT token management with configurable expiration
- Production security with read-only containers and non-root users
- SELinux compatibility for enhanced container security
📊 Version Management
- Dynamic version display in dashboard footer
- API endpoint for version checking (
/api/version) - Easy version updates with automated update script
- Health monitoring with
/api/healthendpoint
📚 Core Features (Stable & Production Ready)
📝 Deck Management
- Create, edit, and organize flashcard decks
- Import/Export functionality - CSV, TSV support with preview
- Drag-and-drop reordering for cards and decks
- Bulk card import with intelligent parsing
🎯 Study Experience
- Interactive study mode with multiple flip animations
- Keyboard navigation - full study experience without mouse
- Mobile-responsive design with touch-friendly controls
- Real-time card editing during study sessions
👤 User System
- Secure authentication with JWT tokens
- Demo account for easy testing (
testuser/password123) - User profile management with preferences storage
🔜 Coming in v0.9.0 (In Development)
While v0.8.0 provides a fantastic basic flashcard experience, we're actively working on the advanced learning features:
- 🧠 SuperMemo-2 Spaced Repetition - Intelligent card scheduling
- 📈 Progress Analytics - Detailed learning statistics and retention tracking
- 🔥 Study Streaks - Gamification and motivation features
- 📊 Performance Insights - Advanced study session analytics
Note: The spaced repetition algorithm infrastructure is already in place - v0.9.0 will activate the intelligent scheduling system.
🛠️ Developer Experience
📖 Comprehensive Documentation
- Production deployment guide with security best practices
- Development setup instructions with environment configuration
- Podman Quadlet guide for systemd integration
- API documentation for health checks and version info
🔨 Build Tools
- Automated build scripts supporting both Docker and Podman
- CSS build pipeline with Tailwind CSS v4 support
- Version management scripts for easy releases
- Development environment with hot reloading
📦 Installation Options
Option 1: Docker Compose (Recommended)
git clone https://github.com/your-username/flashpod.git
cd flashpod
cp .env.example .env # Edit with your settings
docker-compose up -dOption 2: Podman Quadlet (Systemd Integration)
git clone https://github.com/your-username/flashpod.git
cd flashpod
podman build -f docker/Dockerfile -t localhost/flashpod .
./setup-quadlet.sh # Automated setupOption 3: Development Setup
git clone https://github.com/your-username/flashpod.git
cd flashpod
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
npm install && npm run build-css-prod
cd app && python main.py⚙️ System Requirements
Minimum (Container)
- Docker 20.10+ or Podman 3.0+
- 512MB RAM
- 1GB disk space
Recommended (Production)
- 1GB+ RAM
- 5GB+ disk space for data growth
- Reverse proxy (nginx) for HTTPS
- Regular backups of data directory
📝 Configuration
Required Environment Variables:
JWT_SECRET=your-secure-jwt-secret-key-here
SECRET_KEY=your-secure-app-secret-key-here
DATA_DIR=/path/to/your/data/directoryOptional Settings:
DEBUG=false
JWT_EXPIRATION_HOURS=24
USER_ID=1001
GROUP_ID=1001
CORS_ORIGINS=*🐛 Bug Fixes & Improvements
- Fixed database path handling for development vs container environments
- Improved error handling for authentication and data validation
- Enhanced mobile navigation with proper hamburger menu
- Optimized build process with multi-stage containers
- Better development experience with auto-reload and debugging tools
🙏 Acknowledgments
Special thanks to the self-hosting community for feedback and testing that made this container-focused release possible!
🔗 Links
- GitHub Repository: https://github.com/ElderBlade/FlashPod
- Docker Hub: (Coming soon)
- Documentation: [README.md
- Issues & Support: https://github.com/ElderBlade/FlashPod/issues
📋 Migration Notes
From v0.7.x or earlier:
- Backup your data: Copy your existing
data/directory - Update environment: Use new
.env.exampleas template - Rebuild containers: Run
docker-compose build --no-cache - Restart services: Run
docker-compose up -d
Database Migration:
No database migrations required - existing SQLite databases are fully compatible.
Next Release: v0.9.0 will focus on implementing the SuperMemo-2 spaced repetition algorithm and advanced progress tracking.