mirror of
https://github.com/tbamud/tbamud.git
synced 2025-09-22 05:50:48 +02:00
Created Docker (markdown)
parent
9382f60f43
commit
96c784b3d8
1 changed files with 93 additions and 0 deletions
93
Docker.md
Normal file
93
Docker.md
Normal file
|
@ -0,0 +1,93 @@
|
|||
# Docker
|
||||
|
||||
## Summary
|
||||
These instructions will allow you run tbaMUD inside of a Docker container on your computer (any OS) with no manual configuration or additional software installation necessary.
|
||||
|
||||
- It will setup a Ubuntu 18.04 container running the game over port 4000.
|
||||
- Any changes to your game code will require you to rebuild & restart the container.
|
||||
- Could improvements be made? Sure.
|
||||
- Could this be a bit cleaner or more efficient? You betcha.
|
||||
- I just wanted to get this out there so that it'd be even easier for folks who would like to see the game running, to be able to.
|
||||
|
||||
## Requirements
|
||||
install Docker & docker-compose for whatever platform you wish to run as the game server.
|
||||
|
||||
## Setup
|
||||
- edit the files to your liking
|
||||
- add Dockerfile & docker-compose.yaml to the base directory of the project (folder with /src).
|
||||
|
||||
## Files
|
||||
|
||||
### Dockerfile
|
||||
```shell
|
||||
FROM ubuntu:18.04
|
||||
|
||||
# EXPOSE 4000
|
||||
|
||||
# Set timezone
|
||||
ENV TZ="America/New_York"
|
||||
RUN date
|
||||
|
||||
# Update and Install
|
||||
RUN apt update && apt upgrade -y
|
||||
RUN apt-get install -y automake make gcc g++ clang libtool autoconf zlib1g-dev libcurl4-openssl-dev wget build-essential vim telnet dos2unix
|
||||
|
||||
# apt cleanup
|
||||
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
# Setup App Area (COPY releative to Dcokerfile location...)
|
||||
RUN mkdir -p /app
|
||||
COPY . /app
|
||||
WORKDIR /app
|
||||
|
||||
# Remove Windows CRLF & compile
|
||||
RUN find /app -type f -print0 | xargs -0 dos2unix --
|
||||
RUN chmod +x /app/configure && ./configure
|
||||
RUN cd /app/src && make all
|
||||
|
||||
# Run tbamUD server
|
||||
ENTRYPOINT ["sh", "/app/autorun", "&"]
|
||||
|
||||
# Debug Container
|
||||
# ENTRYPOINT ["tail", "-f", "/dev/null"]
|
||||
|
||||
```
|
||||
|
||||
### docker-compose.yaml
|
||||
```yaml
|
||||
services:
|
||||
tbamud:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: tbamud_cn
|
||||
# env_file:
|
||||
# - ./EXAMPLE.env
|
||||
ports:
|
||||
- 4001:4000
|
||||
volumes:
|
||||
- ./shared:/mnt/shared
|
||||
environment:
|
||||
- Key=Value
|
||||
```
|
||||
|
||||
## Use
|
||||
|
||||
### Startup
|
||||
- on CLI, change to base directory
|
||||
- docker-compose up -d
|
||||
- this will build the server image that the container will run, with all the dependencies needed to compile & run tbaMUD
|
||||
- then it will start the gameserver container
|
||||
|
||||
### Shutdown
|
||||
- on CLI, change to base directory
|
||||
- docker-compose down
|
||||
- this will stop the game server container
|
||||
|
||||
## Troubleshooting
|
||||
- ERR: I honestly do not see how this any error could occur if you have Docker running on your machine, except maybe a port conflict.
|
||||
- Cause: is it plugged in?
|
||||
- Remediation: plug it in.
|
||||
|
||||
## References
|
||||
- [Docker 101](https://www.docker.com/101-tutorial/)
|
Loading…
Add table
Add a link
Reference in a new issue