Files
Lineage-2/docker-compose.yml
T

64 lines
2.1 KiB
YAML

# Lineage 2 Essence — клиент protocol 520, PostgreSQL 17
# БД: login + game в одной БД. JAR Login/Game — в ./server (см. config/).
services:
postgres:
image: postgres:17-alpine
container_name: l2_postgres
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-l2user}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD in .env}
POSTGRES_DB: ${POSTGRES_DB:-l2essence}
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "${POSTGRES_PORT:-5432}:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
- ./docker/initdb:/docker-entrypoint-initdb.d:ro
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-l2user} -d ${POSTGRES_DB:-l2essence}"]
interval: 5s
timeout: 5s
retries: 10
# Подключите сборку Samurai Crow / Mobius Essence (520):
# положите login/game в ./server/login и ./server/game, раскомментируйте сервисы.
login:
profiles: ["l2"]
image: ${L2_LOGIN_IMAGE:-eclipse-temurin:21-jre}
container_name: l2_login
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
working_dir: /opt/l2/login
volumes:
- ./server/login:/opt/l2/login
- ./config/login:/opt/l2/login/config:ro
ports:
- "${L2_LOGIN_PORT:-2106}:2106"
- "${L2_LOGIN_GS_PORT:-9014}:9014"
command: ["bash", "-lc", "test -f ./LoginServer.jar && java -jar LoginServer.jar || echo 'Нет LoginServer.jar в server/login'; sleep infinity"]
game:
profiles: ["l2"]
image: ${L2_GAME_IMAGE:-eclipse-temurin:21-jre}
container_name: l2_game
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
login:
condition: service_started
working_dir: /opt/l2/game
volumes:
- ./server/game:/opt/l2/game
- ./config/game:/opt/l2/game/config:ro
ports:
- "${L2_GAME_PORT:-7777}:7777"
command: ["bash", "-lc", "test -f ./GameServer.jar && java -jar GameServer.jar || echo 'Нет GameServer.jar в server/game'; sleep infinity"]
volumes:
postgres_data: