Commit Graph

3 Commits

Author SHA1 Message Date
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
2c277d13f6 Fix Django logging configuration for Docker containers
## Issue Fixed:
- Django production logging was trying to write to `/var/log/django/django.log`
- This directory doesn't exist in Docker containers, causing deployment failures
- Error: `FileNotFoundError: [Errno 2] No such file or directory: '/var/log/django/django.log'`

## Solution:
- **Modified production.py**: Switched from file-based to console-only logging
- **Docker-friendly logging**: All logs now go to stdout/stderr for container compatibility
- **Dokploy integration**: Logs are now visible in Dokploy's log viewer
- **Added troubleshooting**: Updated DOKPLOY.md with this specific error and solution

## Benefits:
-  Works seamlessly with Docker containers
-  Integrates with Dokploy log viewing system
-  No file permissions or directory creation issues
-  Standard practice for containerized applications

This fixes the deployment failure identified in the Dokploy logs.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 16:19:38 +05:30
Django Template
07dd7b0e47 Add comprehensive Dokploy deployment configuration and guide
## New Files Added:
- **docker-compose.dokploy.yml** - Dokploy-optimized compose file with:
  - dokploy-network integration for all services
  - Traefik labels for SSL and domain routing
  - Persistent volumes using ../files/ directory
  - Production-ready Django, PostgreSQL, and Redis configuration

- **DOKPLOY.md** - Complete step-by-step deployment guide including:
  - 10-step deployment process with exact form fields
  - Domain configuration and DNS setup
  - Environment variables for production
  - Post-deployment Django setup commands
  - Comprehensive troubleshooting section
  - Production checklist and monitoring guidance

## Key Features:
- **Production-ready** configuration with SSL certificates
- **Persistent data** storage across deployments
- **Detailed troubleshooting** for common issues
- **Copy-paste configurations** for immediate use
- **Security best practices** implemented

This enables one-click deployment of the Django template on any Dokploy server with professional-grade configuration.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 15:46:12 +05:30