Docker UnyPort
Cette page regroupe les manifests Docker correspondant au projet UnyPort uniquement.
Source retenue :
/var/docker/docker_unyport/docker-compose.yml
Aucun Dockerfile dédié n'a été trouvé pour UnyPort. Le runtime utilise l'image amont golang:alpine.
Résumé public
| Élément |
Valeur publique |
| Service |
unyport |
| Image |
golang:alpine |
| Conteneur |
unyport |
| Répertoire de travail |
/app/unyport/backend |
| Port exposé |
8800:8800 |
| Assets frontend |
/app/unyport/frontend/public |
| Mode de redémarrage |
unless-stopped |
Volumes
| Type |
Source |
Destination |
Rôle |
| Code applicatif |
./unyport |
/app/unyport |
sources backend/frontend |
| Cache Go modules |
go-cache |
/root/go/pkg/mod |
accélération des dépendances |
| Cache Go build |
go-build-cache |
/root/.cache/go-build |
accélération des recompilations |
Variables publiques
| Variable |
Valeur |
Usage |
UNYPORT_ASSETS |
/app/unyport/frontend/public |
sert les assets frontend depuis le disque en mode dev |
Comportement
| Phase |
Action |
| Démarrage |
go mod tidy, build backend, lancement du binaire |
| Développement |
assets frontend servis depuis le volume bindé |
| Production |
assets embarqués si UNYPORT_ASSETS est retirée |
| Compression |
binaire compressé avec upx --lzma |
docker_unyport/docker-compose.yml
# docker-compose.yml — TRINITY / unyport
#
# DEV : docker compose up -d
# → compile au démarrage (cache Go actif = rapide dès le 2e lancement)
# → frontend live via volume bind mount + UNYPORT_ASSETS (refresh navigateur)
# → .go modifié → docker compose restart unyport
#
# PROD : commenter UNYPORT_ASSETS → assets embed + strip + UPX LZMA
services:
unyport:
image: golang:alpine
container_name: unyport
working_dir: /app/unyport/backend
environment:
# DEV : assets servis depuis le disque (live, refresh navigateur)
# PROD : commenter cette ligne → assets embed + compression maximale
UNYPORT_ASSETS: /app/unyport/frontend/public
command:
- sh
- -c
- |
go mod tidy &&
echo ">>> PROD build : embedding assets..." &&
rm -rf ./tmp/unyport &&
cp -r ../frontend/public ./server/assets &&
CGO_ENABLED=0 go build -tags prod -trimpath -ldflags "-s -w" \
-o ./tmp/unyport ./cmd/unyport &&
rm -rf ./server/assets &&
apk add --no-cache upx &&
upx --lzma ./tmp/unyport &&
echo ">>> PROD done." && ls -lh ./tmp/unyport &&
echo ">>> DEV build : assets served from disk..." &&
CGO_ENABLED=0 go build -o ./tmp/main ./cmd/unyport &&
echo ">>> DEV done." && ls -lh ./tmp/main &&
./tmp/main
restart: unless-stopped
volumes:
- ./unyport:/app/unyport
- go-cache:/root/go/pkg/mod
- go-build-cache:/root/.cache/go-build
ports:
- "8800:8800"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
go-cache:
go-build-cache: