mirror of
https://gitlab.bmcstudios.org/public_projects/swg-server-docker.git
synced 2026-01-16 17:04:26 -05:00
Fixes to docker container
This commit is contained in:
10
.idea/.gitignore
generated
vendored
Normal file
10
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Environment-dependent path to Maven home directory
|
||||
/mavenHomeManager.xml
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
6
.idea/misc.xml
generated
Normal file
6
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/swg-docker.iml" filepath="$PROJECT_DIR$/swg-docker.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
54
Dockerfile
Normal file
54
Dockerfile
Normal file
@@ -0,0 +1,54 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
RUN dpkg --add-architecture i386 && \
|
||||
apt-get update
|
||||
|
||||
RUN apt-get install -y \
|
||||
alien \
|
||||
ant \
|
||||
bison \
|
||||
cmake \
|
||||
flex \
|
||||
g++-multilib \
|
||||
gcc-multilib \
|
||||
git \
|
||||
libaio1:i386 \
|
||||
libboost-dev \
|
||||
libboost-program-options-dev \
|
||||
libcurl4-gnutls-dev:i386 \
|
||||
libncurses5-dev:i386 \
|
||||
libsqlite3-dev \
|
||||
libxml2-dev:i386 \
|
||||
openjdk-11-jdk:i386 \
|
||||
psmisc \
|
||||
supervisor \
|
||||
wget
|
||||
|
||||
RUN apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN mkdir -p /var/log/supervisor
|
||||
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||
|
||||
RUN wget https://github.com/SWG-Source/releases/releases/download/instantclients/oracle-instantclient18.3-basiclite-18.3.0.0.0-1.i386.rpm
|
||||
RUN wget https://github.com/SWG-Source/releases/releases/download/instantclients/oracle-instantclient18.3-devel-18.3.0.0.0-1.i386.rpm
|
||||
RUN wget https://github.com/SWG-Source/releases/releases/download/instantclients/oracle-instantclient18.3-sqlplus-18.3.0.0.0-1.i386.rpm
|
||||
|
||||
RUN alien -i --target=amd64 oracle-instantclient18.3-basiclite-18.3.0.0.0-1.i386.rpm
|
||||
RUN alien -i --target=amd64 oracle-instantclient18.3-devel-18.3.0.0.0-1.i386.rpm
|
||||
RUN alien -i --target=amd64 oracle-instantclient18.3-sqlplus-18.3.0.0.0-1.i386.rpm
|
||||
|
||||
RUN rm -f oracle-instantclient18.3-*-18.3.0.0.0-1.i386.rpm
|
||||
|
||||
ENV ORACLE_HOME=/usr/lib/oracle/18.3/client
|
||||
ENV LD_LIBRARY_PATH=/usr/lib/oracle/18.3/client/lib:/usr/include/oracle/18.3/client
|
||||
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-i386
|
||||
|
||||
RUN git clone https://github.com/SWG-Source/swg-main.git /swg-main
|
||||
WORKDIR /swg-main
|
||||
RUN ant git_update_submods
|
||||
|
||||
RUN echo "db_service = FREEPDB1" > local.properties && \
|
||||
echo "dbip = oracle" >> local.properties
|
||||
|
||||
CMD ["/usr/bin/supervisord", "-n"]
|
||||
8
README.md
Normal file
8
README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# swg-docker
|
||||
|
||||
Instructions:
|
||||
- Clone this repository
|
||||
- `docker compose up -d`
|
||||
- `docker exec -it swg bash` to log into a shell in the swg container
|
||||
- `ant swg` to compile the game and the assets
|
||||
- `ant start` to run the server
|
||||
49
docker-compose.yaml
Normal file
49
docker-compose.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
services:
|
||||
|
||||
oracle:
|
||||
container_name: oracle
|
||||
hostname: oracle
|
||||
image: gvenzl/oracle-free:latest
|
||||
ports:
|
||||
- "1521:1521"
|
||||
environment:
|
||||
ORACLE_PASSWORD: swg
|
||||
APP_USER: swg
|
||||
APP_USER_PASSWORD: swg
|
||||
healthcheck:
|
||||
test: ["CMD", "healthcheck.sh"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 5s
|
||||
start_interval: 5s
|
||||
volumes:
|
||||
- oradata:/opt/oracle/oradata
|
||||
|
||||
swg:
|
||||
container_name: swg
|
||||
hostname: swg
|
||||
depends_on:
|
||||
oracle:
|
||||
condition: service_healthy
|
||||
build:
|
||||
context: .
|
||||
ports:
|
||||
- "44451-44453:44451-44453/tcp"
|
||||
- "44462-44464:44462-44464/tcp"
|
||||
- "44451-44453:44451-44453/udp"
|
||||
- "44462-44464:44462-44464/udp"
|
||||
environment:
|
||||
DB_HOST: oracle
|
||||
DB_PORT: 1521
|
||||
DB_USER: swg
|
||||
ORACLE_PASSWORD: swg
|
||||
DB_PASSWORD: swg
|
||||
tty: true
|
||||
stdin_open: true
|
||||
volumes:
|
||||
- swg-main:/swg-main
|
||||
|
||||
volumes:
|
||||
oradata:
|
||||
swg-main:
|
||||
18
supervisord.conf
Normal file
18
supervisord.conf
Normal file
@@ -0,0 +1,18 @@
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
|
||||
[program:chat]
|
||||
command=/swg-main/chat/stationchat
|
||||
directory=/swg-main/chat
|
||||
autostart=false
|
||||
autorestart=false
|
||||
stderr_logfile=/var/log/supervisor/stationchat.err.log
|
||||
stdout_logfile=/var/log/supervisor/stationchat.out.log
|
||||
|
||||
[program:swg]
|
||||
command=/swg-main/startServer.sh
|
||||
directory=/swg-main
|
||||
autostart=false
|
||||
autorestart=false
|
||||
stderr_logfile=/var/log/supervisor/swg.err.log
|
||||
stdout_logfile=/var/log/supervisor/swg.out.log
|
||||
8
swg-docker.iml
Normal file
8
swg-docker.iml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="GENERAL_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
Reference in New Issue
Block a user