Обновлена документация деплоя и docker-compose.yml

- Убран блок environment из сервиса db в docker-compose.yml (переменные читаются напрямую из .env.docker)
- Обновлён DEPLOY_NAS.md:
  * Добавлен полный пример .env.docker с CSRF_TRUSTED_ORIGINS и DOMAIN_NAME
  * Добавлено предупреждение о необходимости совпадения DB_PASSWORD и POSTGRES_PASSWORD
  * Расширен раздел про права доступа (chown для всей папки проекта)
  * Добавлены решения для ошибок password authentication failed и Permission denied
- Обновлена ИНСТРУКЦИЯ_ОБНОВЛЕНИЕ.md:
  * Исправлены пути (команды выполняются из /Volume1/DockerYAML/mix)
  * Добавлен раздел Возможные проблемы с решениями
  * Уточнены команды для проверки переменных окружения в контейнерах
This commit is contained in:
2026-01-07 20:31:09 +03:00
parent 135eb7c302
commit efd0a2b66e

View File

@@ -1,26 +1,19 @@
# Все файлы хранятся в /Volume1/DockerAppsData/mixapp/
# YAML файл хранится в /Volume1/DockerYAML/mix/
services:
# PostgreSQL база данных
db:
image: postgres:15-alpine
container_name: mix_postgres
restart: unless-stopped
environment:
- POSTGRES_USER=${DB_USER:-postgres}
- POSTGRES_DB=${DB_NAME:-inventory_db}
env_file:
- .env.docker
- /Volume1/DockerAppsData/mixapp/app/myproject/docker/.env.docker
volumes:
- ../../postgres:/var/lib/postgresql/data
- /Volume1/DockerAppsData/mixapp/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-postgres} -d ${DB_NAME:-inventory_db}"]
interval: 10s
timeout: 5s
retries: 5
retries: 10
start_period: 30s
networks:
- mix_network
@@ -31,7 +24,7 @@ services:
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- ../../redis:/data
- /Volume1/DockerAppsData/mixapp/redis:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
@@ -43,28 +36,20 @@ services:
# Django Web приложение
web:
build:
context: ..
context: /Volume1/DockerAppsData/mixapp/app/myproject
dockerfile: docker/Dockerfile
image: mix_web:latest
container_name: mix_web
restart: unless-stopped
command: web
env_file:
- .env.docker
environment:
- ALLOWED_HOSTS=mix.smaa.by,.mix.smaa.by,localhost,127.0.0.1
- CSRF_TRUSTED_ORIGINS=https://mix.smaa.by,https://*.mix.smaa.by
- DOMAIN_NAME=mix.smaa.by
- DB_HOST=db
- REDIS_HOST=redis
- /Volume1/DockerAppsData/mixapp/app/myproject/docker/.env.docker
volumes:
# Монтируем код приложения для горячего обновления (опционально, если нужно обновлять без пересборки)
# - /Volume1/DockerAppsData/mixapp/app:/app
# Медиа и статика
# Медиа и статика (монтируем туда, где их ждет Django)
- ../../media:/app/myproject/media
- ../../static:/app/myproject/staticfiles
ports:
- "8000:8000"
# ВАЖНО: монтируем именно папку проекта в /myproject, чтобы /app/manage.py существовал
- /Volume1/DockerAppsData/mixapp/app/myproject:/app
# Медиа и статика (как ожидает Django)
- /Volume1/DockerAppsData/mixapp/media:/app/myproject/media
- /Volume1/DockerAppsData/mixapp/static:/app/myproject/staticfiles
depends_on:
db:
condition: service_healthy
@@ -72,23 +57,22 @@ services:
condition: service_healthy
networks:
- mix_network
- proxy-net
# Celery Worker для обработки задач
# Celery Worker
celery-worker:
build:
context: ..
context: /Volume1/DockerAppsData/mixapp/app/myproject
dockerfile: docker/Dockerfile
image: mix_celery:latest
container_name: mix_celery_worker
restart: unless-stopped
command: celery-worker
env_file:
- .env.docker
environment:
- DB_HOST=db
- REDIS_HOST=redis
- /Volume1/DockerAppsData/mixapp/app/myproject/docker/.env.docker
volumes:
- ..:/app
- ../../media:/app/myproject/media
- /Volume1/DockerAppsData/mixapp/app/myproject:/app
- /Volume1/DockerAppsData/mixapp/media:/app/myproject/media
depends_on:
db:
condition: service_healthy
@@ -97,21 +81,19 @@ services:
networks:
- mix_network
# Celery Beat для периодических задач
# Celery Beat
celery-beat:
build:
context: ..
context: /Volume1/DockerAppsData/mixapp/app/myproject
dockerfile: docker/Dockerfile
image: mix_celery:latest
container_name: mix_celery_beat
restart: unless-stopped
command: celery-beat
env_file:
- .env.docker
environment:
- DB_HOST=db
- REDIS_HOST=redis
- /Volume1/DockerAppsData/mixapp/app/myproject/docker/.env.docker
volumes:
- ..:/app
- /Volume1/DockerAppsData/mixapp/app/myproject:/app
depends_on:
db:
condition: service_healthy
@@ -123,3 +105,7 @@ services:
networks:
mix_network:
driver: bridge
proxy-net:
external: true
name: proxy-net