first cycle lab release
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
# Set TRUE only after accepting https://www.minecraft.net/en-us/eula
|
||||
MC_EULA=FALSE
|
||||
MC_MEMORY=2G
|
||||
MC_PORT=25565
|
||||
MC_UID=1000
|
||||
MC_GID=1000
|
||||
# IPv4 interface for game port: 127.0.0.1 locally, 0.0.0.0 for remote LAN access
|
||||
MC_BIND_ADDRESS=127.0.0.1
|
||||
@@ -0,0 +1,30 @@
|
||||
# Local server
|
||||
|
||||
Этот каталог — source server configuration и прежний Phase 0 Compose.
|
||||
Lifecycle полного релиза использует `scripts/server.sh` и Compose из самого
|
||||
релиза; настройка описана в [docs/runtime.md](../docs/runtime.md).
|
||||
|
||||
`compose.yaml` — проверенный runtime NeoForge через локальный `.mrpack`.
|
||||
Image закреплён в `toolchain.lock.env`, который загружает wrapper
|
||||
`scripts/spike-server.sh`. Данные находятся в `runtime/`, артефакты
|
||||
монтируются read-only из `dist/`. Порт публикуется только на IPv4 loopback.
|
||||
Онлайн-проверка аккаунтов отключена согласно требованиям проекта.
|
||||
|
||||
`server.properties` создаётся image из Compose environment. Отдельный
|
||||
source-файл не используется: иначе параметры получили бы двух владельцев.
|
||||
Секреты и локальные настройки — в игнорируемом `.env`; публичные defaults —
|
||||
в `.env.example`. Самостоятельное принятие EULA обязательно на новом host.
|
||||
|
||||
Для overrides скопировать `compose.override.yaml.example` в
|
||||
`compose.override.yaml`, добавить нужные настройки в `server/config/` и
|
||||
передать слой явно:
|
||||
|
||||
```bash
|
||||
scripts/spike-server.sh -f server/compose.override.yaml config --quiet
|
||||
scripts/spike-server.sh -f server/compose.override.yaml up -d --wait --wait-timeout 600
|
||||
```
|
||||
|
||||
Override заменяет соответствующие runtime-конфиги при запуске. Текущий
|
||||
`server/config/spike-marker.txt` — тестовый пример; основной Compose его
|
||||
не применяет. `compose.spike-override.yaml` сохранён для воспроизведения
|
||||
Phase 0. Автоматические backup/deploy/rollback появятся в следующих фазах.
|
||||
@@ -0,0 +1,11 @@
|
||||
# Copy to compose.override.yaml and pass explicitly with -f.
|
||||
# This optional layer gives server/config precedence over pack config.
|
||||
services:
|
||||
minecraft:
|
||||
environment:
|
||||
SYNC_SKIP_NEWER_IN_DESTINATION: "false"
|
||||
volumes:
|
||||
- type: bind
|
||||
source: ${MC_ROOT:?Set project root}/server/config
|
||||
target: /config
|
||||
read_only: true
|
||||
@@ -0,0 +1,10 @@
|
||||
# Optional Phase 0 probe, not a production config policy.
|
||||
services:
|
||||
minecraft:
|
||||
environment:
|
||||
SYNC_SKIP_NEWER_IN_DESTINATION: "false"
|
||||
volumes:
|
||||
- type: bind
|
||||
source: ${MC_ROOT}/server/config
|
||||
target: /config
|
||||
read_only: true
|
||||
@@ -0,0 +1,36 @@
|
||||
services:
|
||||
minecraft:
|
||||
image: ${MC_IMAGE:?Run scripts/spike-server.sh}
|
||||
restart: "no"
|
||||
stop_grace_period: 2m
|
||||
ports:
|
||||
- "${MC_BIND_ADDRESS:-127.0.0.1}:${MC_PORT:-25565}:25565"
|
||||
environment:
|
||||
EULA: ${MC_EULA:-FALSE}
|
||||
TYPE: MODRINTH
|
||||
MODRINTH_MODPACK: /modpacks/${MC_PACK:?Select a built mrpack}
|
||||
# Disable implicit image-maintained mod filters: test source side metadata.
|
||||
MODRINTH_DEFAULT_EXCLUDE_INCLUDES: ""
|
||||
MEMORY: ${MC_MEMORY:-2G}
|
||||
UID: ${MC_UID:-1000}
|
||||
GID: ${MC_GID:-1000}
|
||||
ENABLE_RCON: "false"
|
||||
ONLINE_MODE: "false"
|
||||
ENFORCE_SECURE_PROFILE: "false"
|
||||
MOTD: minecraft-lab Phase 0
|
||||
VIEW_DISTANCE: "6"
|
||||
SIMULATION_DISTANCE: "4"
|
||||
volumes:
|
||||
- type: bind
|
||||
source: ${MC_ROOT:?Set project root}/runtime
|
||||
target: /data
|
||||
- type: bind
|
||||
source: ${MC_ROOT:?Set project root}/dist
|
||||
target: /modpacks
|
||||
read_only: true
|
||||
healthcheck:
|
||||
test: ["CMD", "mc-health"]
|
||||
start_period: 2m
|
||||
interval: 10s
|
||||
timeout: 10s
|
||||
retries: 30
|
||||
@@ -0,0 +1 @@
|
||||
server-override-v1
|
||||
Reference in New Issue
Block a user