Это руководство поможет вам запустить проект с использованием Docker. Проект настроен для запуска в контейнерах, что упрощает процесс установки и настройки.
- Установленный Docker: Инструкция по установке Docker
- Установленный Docker Compose: Инструкция по установке Docker Compose
git clone <url-репозитория>
cd <название-проекта>Создайте файл .env на основе примера:
cp .env.example .envПри необходимости отредактируйте параметры в созданном файле.
docker-compose up -dЭта команда запустит два контейнера:
app: Node.js приложениеdb: PostgreSQL база данных
После запуска приложение будет доступно по адресу: http://localhost:5000
Для проверки статуса контейнеров выполните:
docker-compose ps# Все логи
docker-compose logs
# Логи конкретного сервиса
docker-compose logs app
docker-compose logs db
# Логи в реальном времени
docker-compose logs -f# Остановка всех контейнеров
docker-compose down
# Запуск всех контейнеров
docker-compose up -d
# Перезапуск конкретного сервиса
docker-compose restart appЕсли вы внесли изменения в код или получили обновления из репозитория:
# Остановка контейнеров
docker-compose down
# Сборка новых образов
docker-compose build
# Запуск обновленных контейнеров
docker-compose up -dИли используйте скрипт обновления:
./update.shdocker-compose exec db psql -U postgres -d marketingdbdocker-compose exec db pg_dump -U postgres marketingdb > backup_$(date +%Y%m%d).sqlcat backup_YYYYMMDD.sql | docker-compose exec -T db psql -U postgres -d marketingdbДля использования в продакшн-среде рекомендуется:
- Изменить пароли в
.envфайле - Раскомментировать сервис nginx в docker-compose.yml
- Настроить SSL-сертификаты (можно использовать init-letsencrypt.sh)
-
Проверьте, что контейнеры запущены:
docker-compose ps
-
Проверьте логи приложения:
docker-compose logs app
-
Проверьте, что контейнер базы данных запущен:
docker-compose ps db
-
Проверьте логи базы данных:
docker-compose logs db
-
Проверьте переменную окружения DATABASE_URL в файле .env
Для получения более подробной информации о Docker и Docker Compose обратитесь к официальной документации: