Содержимое репы:
- app/
- public/
- config/
- ...
- Dockerfile
- docker-compose.yml
- docker/ - для конфигов сервисов в Docker Compose
В докерфайле прописываете сборку проекта и монтирование билда через
multi-stage build, дабы не тащить npm/php-composer и прочее в образ, который будете деплоить. Пример Dockerfile:
FROM: build_image as builder
COPY . /src/app
CD /src/app
RUN "build --output /src/app/build"
FROM: deploy_image
COPY --from=builder /src/app/build /app
WORKDIR /app
//дальше запуск приложения как обычно