From 9c7e9af8aca9bb913bd1ca4f2a988a48b3960a87 Mon Sep 17 00:00:00 2001 From: Adrian <48226916+adrianparilli@users.noreply.github.com> Date: Sun, 15 Nov 2020 02:22:26 -0400 Subject: [PATCH] First commit --- Dockerfile | 22 ++++++++++++++++++++++ README.md | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..380f976 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +# Name: opensim-engine + +FROM mono:latest + +MAINTAINER Adrian Parilli +LABEL version="20.08.21" description="Minimal engine to run OpenSim based simulators and access the CLI." + +RUN \ +apt-get update && \ +apt-get install -y screen unzip && \ +apt-get clean && \ +rm -rf /var/lib/apt/lists/* /tmp/* + +# (First) default ports to allow other users to connect your simulator. +EXPOSE 9000/tcp +EXPOSE 9000/udp + +# Default Folder +WORKDIR /opensim/bin/ + +# Command +CMD ["screen mono OpenSim.exe"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..d5bac0d --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# OpenSim Engine -- README + +## Overwiew: +OpenSim Engine is intended to run OpenSim based simulators in ways it can be accessed and managed easily, and looks to be part of a more elaborated code in order to deploy and configure Sims or Grids automatically, in the Docker way. Commits are welcome! + +## Features: +Runs standalone sims/grids, and allows to connect your sims to an existing grid +It can be connected to a database server if needed. + +## Content: +- The latest version of Mono +- Unzip, to unpackage many available simulators that come in ZIP format +- GNU Screen, in order to run OpenSim.exe on it, being able to attach / detach the console without close the program. + +## Basic Requirements: +- Docker Engine. See [**_Get Docker_**](https://docs.docker.com/get-docker/) for further instructions. +- Your OpenSim based simulator on a folder (a new or existing install) + +## Advanced Requirements: + +### Database Server +Connecting the simulator to a databse does not differ much from standard setup specified at [**_OpenSim Database Settings_**](http://opensimulator.org/wiki/Database_Settings), excepting by the fact Opensim Engine and DB Server will always reside on different hosts, and will communicate via network. You need to setup both OpenSim config files (a.k.a. DB client) and your DB Server considering this fact. + +In many scenarios, you will want (or at least results practical) to run this DB Server inside a container as well. IF this is the case, additional Docker setup to ensure a virtual network where both containers can communicate is essential. + +Finally, as an up and running DB Server is a pre-requisite for OpenSim to start, it is ideal to create a Stack with Docker Compose or Kubernetes, where the DB takes precedence starting. + +Opensim Engine has been tested and runs nice with [**_Official MySQL Docker Images _**](https://hub.docker.com/_/mysql) + +*As of OpenSim 0.9.1.1 and based software (e.g. OSGrid), 'latest' MySQL images won't work (Client will have authentication issues), so it is recommended to use 5.7.xx images instead, until OpenSim code is updated for MySQL version 8.* + +Other DB Servers has not been tested, but might work.