Docker-образ в реестре Gitea (Drone, как у htop-web) и docker-compose.image.yml на нём
continuous-integration/drone/pr Build is passing
continuous-integration/drone/pr Build is passing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -113,6 +113,23 @@ cd frontend && npm install && npx ng serve # http://loca
|
||||
|
||||
Образ собирается из `backend/Dockerfile` в три этапа: Angular → Spring Boot (веб-клиент внутри jar) → JRE не от root.
|
||||
|
||||
### Готовый Docker-образ
|
||||
|
||||
Как у htop-web: Drone (`.drone.yml`) собирает `backend/Dockerfile`. На PR образ только собирается, на `master` уходит в реестр Gitea:
|
||||
|
||||
```
|
||||
gitea.jambotron.com/jambotron_gang/reactive-mail-server:latest
|
||||
gitea.jambotron.com/jambotron_gang/reactive-mail-server:<первые 8 символов коммита master>
|
||||
```
|
||||
|
||||
Реестр публичный: `docker pull` без логина.
|
||||
|
||||
`docker-compose.image.yml` — тот же стенд, что `docker-compose.jambotron.yml`, но сервис `mail` берётся из образа, на ВМ ничего не собирается (деплой быстрее, Node и Gradle на ВМ не нужны). В мастере деплоя Jambotron выбрать этот файл; домен — сервису `mail`, порт `8080`. По умолчанию `latest`, он скачивается заново при каждом деплое (`pull_policy: always`); закрепить сборку — переменная `MAIL_IMAGE_TAG=<8 символов коммита>`.
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.image.yml up -d
|
||||
```
|
||||
|
||||
## Не сделано
|
||||
|
||||
- [ ] Сертификат Let's Encrypt для настоящей почты (75.6): сейчас — свой файл или самоподписанный.
|
||||
|
||||
Reference in New Issue
Block a user