Commit 76028b78 authored by nanahira's avatar nanahira

Merge branch 'mc'

parents d1f8bfc8 acfdc44a
......@@ -3,7 +3,7 @@ FROM node:12-stretch
# apt
RUN apt update && \
env DEBIAN_FRONTEND=noninteractive apt install -y curl wget vim sudo git build-essential libssl1.0-dev libsqlite3-dev sqlite3 mono-complete p7zip-full redis-server
env DEBIAN_FRONTEND=noninteractive apt install -y wget git build-essential libssl1.0-dev libsqlite3-dev mono-complete p7zip-full redis-server
RUN npm install -g pm2
......@@ -16,14 +16,14 @@ RUN wget 'https://github.com/libevent/libevent/releases/download/release-2.0.22-
make && \
make install && \
cd .. && \
bash -c 'ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5;ln -s /usr/local/lib/libevent_pthreads-2.0.so.5 /usr/lib/libevent_pthreads-2.0.so.5;ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5;ln -s /usr/local/lib/libevent_pthreads-2.0.so.5 /usr/lib64/libevent_pthreads-2.0.so.5;exit 0'
bash -c 'ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5;ln -s /usr/local/lib/libevent_pthreads-2.0.so.5 /usr/lib/libevent_pthreads-2.0.so.5;ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5;ln -s /usr/local/lib/libevent_pthreads-2.0.so.5 /usr/lib64/libevent_pthreads-2.0.so.5;exit 0' && \
rm -rf /libevent-2.0.22-stable.tar.gz /libevent-2.0.22-stable
# srvpro
COPY . /ygopro-server
WORKDIR /ygopro-server
RUN npm ci && \
mkdir config decks replays logs && \
cp data/default_config.json config/config.json
mkdir config decks replays logs /redis
# ygopro
RUN git clone --branch=server --recursive https://github.com/purerosefallen/ygopro /ygopro-server/ygopro
......@@ -46,11 +46,9 @@ RUN xbuild /property:Configuration=Release /property:TargetFrameworkVersion="v4.
ln -s /ygopro-server/ygopro/cards.cdb .
# infos
WORKDIR /
RUN mkdir /redis
WORKDIR /ygopro-server
EXPOSE 7911
EXPOSE 7922
VOLUME /ygopro-server/config
VOLUME /ygopro-server/ygopro/expansions
VOLUME [ /ygopro-server/config, /ygopro-server/decks, /ygopro-server/replays, /redis ]
CMD [ "pm2-docker", "start", "/ygopro-server/data/pm2-docker.json" ]
# Dockerfile for SRVPro
FROM node:12-stretch
# apt
RUN apt update && \
env DEBIAN_FRONTEND=noninteractive apt install -y wget git build-essential libssl1.0-dev libsqlite3-dev p7zip-full
# libevent
WORKDIR /
RUN wget 'https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz' -O libevent-2.0.22-stable.tar.gz --no-check-certificate && \
tar xf libevent-2.0.22-stable.tar.gz && \
cd libevent-2.0.22-stable/ && \
./configure && \
make && \
make install && \
cd .. && \
bash -c 'ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5;ln -s /usr/local/lib/libevent_pthreads-2.0.so.5 /usr/lib/libevent_pthreads-2.0.so.5;ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5;ln -s /usr/local/lib/libevent_pthreads-2.0.so.5 /usr/lib64/libevent_pthreads-2.0.so.5;exit 0' && \
rm -rf /libevent-2.0.22-stable.tar.gz /libevent-2.0.22-stable
# srvpro
COPY . /ygopro-server
WORKDIR /ygopro-server
RUN npm ci && \
mkdir config decks replays logs
# ygopro
RUN git clone --branch=server --recursive https://github.com/moecube/ygopro /ygopro-server/ygopro
WORKDIR /ygopro-server/ygopro
RUN git submodule foreach git checkout master && \
wget -O - https://github.com/premake/premake-core/releases/download/v5.0.0-alpha12/premake-5.0.0-alpha12-linux.tar.gz | tar zfx - && \
./premake5 gmake && \
cd build && \
make config=release && \
cd .. && \
ln -s ./bin/release/ygopro . && \
strip ygopro && \
mkdir replay expansions
# infos
WORKDIR /ygopro-server
EXPOSE 7911
EXPOSE 7922
VOLUME [ /ygopro-server/config, /ygopro-server/decks, /ygopro-server/replays ]
CMD [ "node", "ygopro-server.js" ]
......@@ -36,10 +36,22 @@
* `node ygopro-server.js`即可运行
* 简易的控制台在 http://srvpro.ygo233.com/dashboard.html 或 http://srvpro-cn.ygo233.com/dashboard.html
* 使用本项目的Docker镜像: https://hub.docker.com/r/mycard/ygopro-server/
* `7911`: YGOPro端口
* `7922`: 管理后台端口
* `/ygopro-server/config`: SRVPro配置文件数据卷
* `/ygopro-server/ygopro/expansions`: YGOPro额外卡片数据卷
* 镜像标签
* `mycard/ygopro-server:latest`: 完整镜像
* `mycard/ygopro-server:lite`: 基本镜像,云录像和人机对战功能需要配合`redis``nanahira/windbot`这两个镜像使用。
* 端口
* `7911`: YGOPro端口
* `7922`: 管理后台端口
* 数据卷
* `/ygopro-server/config`: SRVPro配置文件数据卷
* `/ygopro-server/ygopro/expansions`: YGOPro额外卡片数据卷
* `/ygopro-server/decks`: 竞赛模式卡组数据卷
* `/ygopro-server/replays`: 竞赛模式卡组数据卷
* 若使用竞赛模式启动服务器,建议把启动命令修改为`pm2-docker start /ygopro-server/data/pm2-docker-tournament.js`
### 高级功能
* 待补充说明
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment