Refactor Docker setup and enhance development environment
- Updated docker-compose.dev.yml to use Dockerfile.dev for backend builds and added HOST environment variable for frontend. - Introduced Dockerfile.dev for streamlined backend development with Go. - Enhanced development documentation to reflect changes in local setup and API proxying. - Removed outdated frontend Dockerfile and adjusted frontend configuration for improved development experience.
This commit is contained in:
@@ -1,50 +1,53 @@
|
||||
# Разработка
|
||||
|
||||
## Локальный запуск
|
||||
|
||||
### Бэкенд (Go)
|
||||
|
||||
Из корня репозитория:
|
||||
|
||||
```bash
|
||||
go build -o hnh-map ./cmd/hnh-map
|
||||
./hnh-map -grids=./grids -port=8080
|
||||
```
|
||||
|
||||
Или без сборки:
|
||||
|
||||
```bash
|
||||
go run ./cmd/hnh-map -grids=./grids -port=8080
|
||||
```
|
||||
|
||||
Сервер будет отдавать статику из каталога `frontend/` (нужно предварительно собрать фронт, см. ниже).
|
||||
|
||||
### Фронтенд (Nuxt)
|
||||
|
||||
```bash
|
||||
cd frontend-nuxt
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
В dev-режиме приложение доступно по корню (например `http://localhost:3000/`). Бэкенд должен быть доступен; при необходимости настройте прокси в `nuxt.config.ts` (например на `http://localhost:8080`).
|
||||
|
||||
### Docker Compose (разработка)
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.dev.yml up
|
||||
```
|
||||
|
||||
- Фронт: порт **3000** (Nuxt dev-сервер).
|
||||
- Бэкенд: порт **3080** (чтобы не конфликтовать с другими сервисами на 8080).
|
||||
|
||||
Откройте http://localhost:3000/. Запросы к `/map/api`, `/map/updates`, `/map/grids` проксируются на бэкенд (host `backend`, порт 3080).
|
||||
|
||||
### Сборка образа и prod-композ
|
||||
|
||||
```bash
|
||||
docker build -t hnh-map .
|
||||
docker compose -f docker-compose.prod.yml up -d
|
||||
```
|
||||
|
||||
В prod фронт собран в образ и отдаётся бэкендом из каталога `frontend/`; порт 8080.
|
||||
# Разработка
|
||||
|
||||
## Локальный запуск
|
||||
|
||||
### Бэкенд (Go)
|
||||
|
||||
Из корня репозитория:
|
||||
|
||||
```bash
|
||||
go build -o hnh-map ./cmd/hnh-map
|
||||
./hnh-map -grids=./grids -port=8080
|
||||
```
|
||||
|
||||
Или без сборки:
|
||||
|
||||
```bash
|
||||
go run ./cmd/hnh-map -grids=./grids -port=8080
|
||||
```
|
||||
|
||||
Сервер будет отдавать статику из каталога `frontend/` (нужно предварительно собрать фронт, см. ниже).
|
||||
|
||||
### Фронтенд (Nuxt)
|
||||
|
||||
```bash
|
||||
cd frontend-nuxt
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
В dev-режиме приложение доступно по корню (например `http://localhost:3000/`). Бэкенд должен быть доступен; при необходимости настройте прокси в `nuxt.config.ts` (например на `http://localhost:8080`).
|
||||
|
||||
### Docker Compose (разработка)
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.dev.yml up
|
||||
```
|
||||
|
||||
Dev-композ поднимает два сервиса:
|
||||
|
||||
- `backend` — Go API на порту `3080` (без сборки/раздачи фронтенд-статики в dev-режиме).
|
||||
- `frontend` — Nuxt dev-сервер на порту `3000` с live-reload; запросы к `/map/api`, `/map/updates`, `/map/grids` проксируются на бэкенд.
|
||||
|
||||
Используйте [http://localhost:3000/](http://localhost:3000/) как основной URL для разработки интерфейса.
|
||||
Порт `3080` предназначен для API и backend-эндпоинтов; корень `/` может возвращать `404` в dev-режиме — это ожидаемо.
|
||||
|
||||
### Сборка образа и prod-композ
|
||||
|
||||
```bash
|
||||
docker build -t hnh-map .
|
||||
docker compose -f docker-compose.prod.yml up -d
|
||||
```
|
||||
|
||||
В prod фронт собран в образ и отдаётся бэкендом из каталога `frontend/`; порт 8080.
|
||||
|
||||
Reference in New Issue
Block a user