# ────────────────────────────────────────────────────────────────── # NMSR-aas — avatar/skin renderer at avatar.${BASE_DOMAIN}. # ────────────────────────────────────────────────────────────────── # docker compose -f docker-compose.yml -f docker-compose.caddy.yml \ # -f docker-compose.nmsr.yml up -d --build # # Built from source (no upstream image) — see docker/nmsr/Dockerfile. # Renders YOUR players' skins by pulling profiles from Drasl over the internal # mcnet network (config: nmsr/config.toml, rendered from .tmpl). # # Caddy reverse-proxies avatar.${BASE_DOMAIN} -> nmsr:8080 internally. The host # port is published on 127.0.0.1:9898 ONLY (local debugging / not reachable from # outside) — public access goes through nginx -> caddy. services: # Mount the avatar vhost snippet into caddy (the caddy override owns the base # config; this adds one more conf.d file like the distribution override does). caddy: volumes: - ./caddy/conf.d/40-avatar.caddy:/etc/caddy/conf.d/40-avatar.caddy:ro nmsr: build: context: ./docker/nmsr image: ulicraft/nmsr:local container_name: nmsr restart: unless-stopped ports: - "127.0.0.1:9898:8080" volumes: - ./nmsr/config.toml:/nmsr/config.toml:ro networks: - mcnet