Перемещена папка docker в myproject и защита секретов
- Все docker-файлы теперь в myproject/docker/ - Добавлен docker/.env.docker в gitignore для защиты секретов - Сохранена обратная совместимость с существующими настройками - Структура проекта стала более организованной
This commit is contained in:
1
myproject/.gitignore
vendored
1
myproject/.gitignore
vendored
@@ -9,6 +9,7 @@ db.sqlite3-journal
|
|||||||
|
|
||||||
# Environment variables (contains secrets!)
|
# Environment variables (contains secrets!)
|
||||||
.env
|
.env
|
||||||
|
docker/.env.docker
|
||||||
|
|
||||||
# Virtual environment
|
# Virtual environment
|
||||||
venv/
|
venv/
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ COPY requirements.txt .
|
|||||||
RUN pip install --no-cache-dir -r requirements.txt
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
# Копируем проект
|
# Копируем проект
|
||||||
COPY myproject/ .
|
COPY . .
|
||||||
|
|
||||||
# Создаём директории для статики и медиа
|
# Создаём директории для статики и медиа
|
||||||
RUN mkdir -p /app/staticfiles /app/media
|
RUN mkdir -p /app/staticfiles /app/media
|
||||||
@@ -40,6 +40,7 @@ RUN mkdir -p /app/staticfiles /app/media
|
|||||||
# Создаём непривилегированного пользователя
|
# Создаём непривилегированного пользователя
|
||||||
RUN useradd -m -u 1000 appuser
|
RUN useradd -m -u 1000 appuser
|
||||||
|
|
||||||
|
# Копируем entrypoint скрипт
|
||||||
# Копируем entrypoint скрипт
|
# Копируем entrypoint скрипт
|
||||||
COPY docker/entrypoint.sh /entrypoint.sh
|
COPY docker/entrypoint.sh /entrypoint.sh
|
||||||
COPY docker/create_public_tenant.py /app/docker/create_public_tenant.py
|
COPY docker/create_public_tenant.py /app/docker/create_public_tenant.py
|
||||||
@@ -8,11 +8,14 @@ services:
|
|||||||
image: postgres:15-alpine
|
image: postgres:15-alpine
|
||||||
container_name: mix_postgres
|
container_name: mix_postgres
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=${DB_USER:-postgres}
|
||||||
|
- POSTGRES_DB=${DB_NAME:-inventory_db}
|
||||||
env_file:
|
env_file:
|
||||||
- /Volume1/DockerAppsData/mixapp/app/docker/.env.docker
|
- .env.docker
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- /Volume1/DockerAppsData/mixapp/postgres:/var/lib/postgresql/data
|
- ../../postgres:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD-SHELL", "pg_isready -U ${DB_USER:-postgres} -d ${DB_NAME:-inventory_db}" ]
|
test: [ "CMD-SHELL", "pg_isready -U ${DB_USER:-postgres} -d ${DB_NAME:-inventory_db}" ]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
@@ -28,7 +31,7 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: redis-server --appendonly yes
|
command: redis-server --appendonly yes
|
||||||
volumes:
|
volumes:
|
||||||
- /Volume1/DockerAppsData/mixapp/redis:/data
|
- ../../redis:/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "redis-cli", "ping" ]
|
test: [ "CMD", "redis-cli", "ping" ]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
@@ -40,13 +43,13 @@ services:
|
|||||||
# Django Web приложение
|
# Django Web приложение
|
||||||
web:
|
web:
|
||||||
build:
|
build:
|
||||||
context: /Volume1/DockerAppsData/mixapp/app
|
context: ..
|
||||||
dockerfile: docker/Dockerfile
|
dockerfile: docker/Dockerfile
|
||||||
container_name: mix_web
|
container_name: mix_web
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: web
|
command: web
|
||||||
env_file:
|
env_file:
|
||||||
- /Volume1/DockerAppsData/mixapp/app/docker/.env.docker
|
- .env.docker
|
||||||
environment:
|
environment:
|
||||||
- ALLOWED_HOSTS=mix.smaa.by,.mix.smaa.by,localhost,127.0.0.1
|
- ALLOWED_HOSTS=mix.smaa.by,.mix.smaa.by,localhost,127.0.0.1
|
||||||
- CSRF_TRUSTED_ORIGINS=https://mix.smaa.by,https://*.mix.smaa.by
|
- CSRF_TRUSTED_ORIGINS=https://mix.smaa.by,https://*.mix.smaa.by
|
||||||
@@ -58,8 +61,8 @@ services:
|
|||||||
# - /Volume1/DockerAppsData/mixapp/app:/app
|
# - /Volume1/DockerAppsData/mixapp/app:/app
|
||||||
# Медиа и статика
|
# Медиа и статика
|
||||||
# Медиа и статика (монтируем туда, где их ждет Django)
|
# Медиа и статика (монтируем туда, где их ждет Django)
|
||||||
- /Volume1/DockerAppsData/mixapp/media:/app/myproject/media
|
- ../../media:/app/myproject/media
|
||||||
- /Volume1/DockerAppsData/mixapp/static:/app/myproject/staticfiles
|
- ../../static:/app/myproject/staticfiles
|
||||||
ports:
|
ports:
|
||||||
- "8000:8000"
|
- "8000:8000"
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -73,19 +76,19 @@ services:
|
|||||||
# Celery Worker для обработки задач
|
# Celery Worker для обработки задач
|
||||||
celery-worker:
|
celery-worker:
|
||||||
build:
|
build:
|
||||||
context: /Volume1/DockerAppsData/mixapp/app
|
context: ..
|
||||||
dockerfile: docker/Dockerfile
|
dockerfile: docker/Dockerfile
|
||||||
container_name: mix_celery_worker
|
container_name: mix_celery_worker
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: celery-worker
|
command: celery-worker
|
||||||
env_file:
|
env_file:
|
||||||
- /Volume1/DockerAppsData/mixapp/app/docker/.env.docker
|
- .env.docker
|
||||||
environment:
|
environment:
|
||||||
- DB_HOST=db
|
- DB_HOST=db
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
volumes:
|
volumes:
|
||||||
- /Volume1/DockerAppsData/mixapp/app:/app
|
- ..:/app
|
||||||
- /Volume1/DockerAppsData/mixapp/media:/app/myproject/media
|
- ../../media:/app/myproject/media
|
||||||
depends_on:
|
depends_on:
|
||||||
db:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
@@ -97,18 +100,18 @@ services:
|
|||||||
# Celery Beat для периодических задач
|
# Celery Beat для периодических задач
|
||||||
celery-beat:
|
celery-beat:
|
||||||
build:
|
build:
|
||||||
context: /Volume1/DockerAppsData/mixapp/app
|
context: ..
|
||||||
dockerfile: docker/Dockerfile
|
dockerfile: docker/Dockerfile
|
||||||
container_name: mix_celery_beat
|
container_name: mix_celery_beat
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: celery-beat
|
command: celery-beat
|
||||||
env_file:
|
env_file:
|
||||||
- /Volume1/DockerAppsData/mixapp/app/docker/.env.docker
|
- .env.docker
|
||||||
environment:
|
environment:
|
||||||
- DB_HOST=db
|
- DB_HOST=db
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
volumes:
|
volumes:
|
||||||
- /Volume1/DockerAppsData/mixapp/app:/app
|
- ..:/app
|
||||||
depends_on:
|
depends_on:
|
||||||
db:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
0
docker/entrypoint.sh → myproject/docker/entrypoint.sh
Executable file → Normal file
0
docker/entrypoint.sh → myproject/docker/entrypoint.sh
Executable file → Normal file
Reference in New Issue
Block a user