feat: rename service to galo, add halo branding and release build

- rename Go module, binary, systemd unit, PG_DATABASE default, frontend package and docs from shared-album to galo
- add theme-aware halo emblem and favicon (new ui-branding capability)
- add make build-release (versioned, stripped, static binary) and run the binary from the repo root
This commit is contained in:
iu
2026-10-11 11:36:56 +03:00
parent 29c2594a9b
commit 50dff63ece
89 changed files with 696 additions and 254 deletions
+13 -13
View File
@@ -47,14 +47,14 @@ cp .env.example .env
## Сборка
```bash
make build # frontend -> backend/static -> go:embed -> bin/shared-album
make build # frontend -> backend/static -> go:embed -> bin/galo
```
Отдельные шаги:
```bash
make frontend # npm ci && npm run build, копирует статику в backend/static
make backend # CGO_ENABLED=0 go build -tags nodynamic -o bin/shared-album
make backend # CGO_ENABLED=0 go build -tags nodynamic -o bin/galo
```
> `-tags nodynamic` обязателен: он заставляет `gen2brain/webp` использовать
@@ -64,7 +64,7 @@ make backend # CGO_ENABLED=0 go build -tags nodynamic -o bin/shared-album
Проверка:
```bash
file bin/shared-album # => statically linked
file bin/galo # => statically linked
```
## Миграции
@@ -79,9 +79,9 @@ make migrate # go run ./cmd/migrate — применяет up-миграци
## Локальный запуск
```bash
make run # соберёт backend и запустит ./bin/shared-album
make run # соберёт backend и запустит ./bin/galo
# или напрямую:
./bin/shared-album
./bin/galo
```
Сервер слушает `HTTP_ADDR` (по умолчанию `:8080`). Health-check:
@@ -126,20 +126,20 @@ go run ./cmd/reconcile --delete # удалить сироты старше --m
2. Создайте пользователя и каталог:
```bash
sudo useradd --system --home /opt/shared-album album
sudo mkdir -p /opt/shared-album
sudo cp bin/shared-album /opt/shared-album/
sudo cp .env /opt/shared-album/.env
sudo chown -R album:album /opt/shared-album
sudo useradd --system --home /opt/galo album
sudo mkdir -p /opt/galo
sudo cp bin/galo /opt/galo/
sudo cp .env /opt/galo/.env
sudo chown -R album:album /opt/galo
```
3. Установите unit:
```bash
sudo cp deploy/shared-album.service /etc/systemd/system/
sudo cp deploy/galo.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now shared-album
sudo journalctl -u shared-album -f
sudo systemctl enable --now galo
sudo journalctl -u galo -f
```
## nginx (опционально)