Commit Graph

4 Commits

Author SHA1 Message Date
Django Template
c4a0769185 Comprehensive fix for Docker static files permission issues
## Problem Analysis:
- Static files collection failing with permission errors in Docker containers
- Non-root user cannot create directories in container filesystem
- Previous fix didn't handle runtime permission management properly

## Comprehensive Solution:

### 1. Enhanced Dockerfile:
- Added `gosu` package for secure user switching
- Removed premature USER directive - run setup as root first
- Improved directory permissions with proper chmod/chown

### 2. Robust Entrypoint Script:
- Runs initial setup (migrations, static collection) as root
- Explicitly sets directory permissions for static/media files
- Uses `gosu` to securely switch to django user for main application
- Ensures proper ownership before application starts

### 3. Updated Docker Compose Volume:
- Changed volume mapping to use ../files/staticfiles (more descriptive)
- Ensures persistent storage for static files across deployments

## Security & Best Practices:
-  Maintains security with non-root application runtime
-  Handles setup operations with necessary root permissions
-  Uses gosu for secure user switching (better than su/sudo)
-  Explicit permission management for container directories

## Benefits:
- Resolves all static files permission errors
- Works reliably in containerized environments
- Maintains security best practices
- Compatible with Dokploy and other orchestration platforms

This should completely resolve the collectstatic permission issues.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 16:26:49 +05:30
Django Template
e1fd61561e Fix Docker static files permissions for production deployment
## Issue Fixed:
- Static files collection failing with permission error in Docker container
- Error: `PermissionError: [Errno 13] Permission denied: '/app/staticfiles/js'`
- Occurs when running `python manage.py collectstatic` in production

## Solution Applied:
1. **Enhanced Dockerfile**:
   - Create `/app/staticfiles` and `/app/media` directories explicitly
   - Set proper ownership with `chown -R django:django /app`
   - Ensures directories exist with correct permissions before user switch

2. **Improved entrypoint.sh**:
   - Added `mkdir -p` to ensure directories exist at runtime
   - Creates directories before attempting static files collection
   - Provides fallback if directories weren't created in Docker build

3. **Updated Documentation**:
   - Added troubleshooting section for static files permission error
   - Explains the fix and prevention methods

## Benefits:
-  Resolves Docker container permission issues
-  Works with non-root user (security best practice)
-  Handles both build-time and runtime directory creation
-  Maintains proper file ownership for Django operations

This should resolve the collectstatic permission error in Dokploy deployment.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 16:22:16 +05:30
Django Template
85f68a8df9 Complete authentication system with modern UI
- Add modern authentication templates with black/white theme
- Implement email/password and Google OAuth login/signup
- Configure SMTP email delivery for verification emails
- Create clean, rectangular authentication cards
- Remove Facebook integration, keep Google only
- Add responsive auth design with reduced font sizes
- Fix Django settings for production-ready email backend
- Update Google OAuth credentials and callback URLs
- Generate secure SECRET_KEY for production

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 12:26:22 +05:30
Django Template
4bbc56a08f Initial commit: Django boilerplate with authentication, Docker, and Dokploy support
 Features:
- Complete Django project with authentication
- Email/password and social login (Google, Facebook)
- Role-based access control (admin, staff, user)
- Docker and Docker Compose setup
- Production-ready configuration
- Static file handling with WhiteNoise
- PostgreSQL database integration
- Comprehensive documentation
- GitHub CI/CD workflows
- Dokploy deployment configuration

🚀 Ready for deployment on Dokploy, Heroku, Railway, and other platforms
2025-09-11 09:36:55 +05:30