diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..48320be --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM python:3.10-alpine + +ARG supervisor_dir="/usr/src/GameServerSupervisor" + +RUN mkdir -p $supervisor_dir + +WORKDIR $supervisor_dir + +COPY . $supervisor_dir + +RUN pip install --upgrade pip +RUN pip install --no-cache-dir -r requirements.txt + +EXPOSE 80 diff --git a/README.md b/README.md index 1b69c10..abaa049 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,23 @@ # GibCasa GameServerSupervisor ## Table of Contents -- [Prerequisites](#prerequisites) -- [Installation](#installation) +- [Installation using venv](#installation-using-venv) + - [Prerequisites](#prerequisites) + - [Installation](#installation) +- [Installation using Podman](#installation-using-podman) + - [Prerequisites](#prerequisites-1) + - [Installation](#installation-1) - [Usage](#usage) - [Contributing](#contributing) - [License](#license) -## Prerequisites +## Installation using venv + +### Prerequisites Python 3.10 or above -## Installation +### Installation 1. Clone the repository: ```bash @@ -45,6 +51,49 @@ Python 3.10 or above ```bash ./manage.py runserver ``` +## Installation using Podman + +### Prerequisites + +Podman + +### Installation + +1. Clone the repository: +```bash + git clone https://git.com.de/GibCasa/GameServerSupervisor +``` +2. Build the image: +```bash + podman build . -t supervisor-image +``` +3. Run a container in an interactive shell: +```bash + podman run -it --network=host localhost/supervisor-image sh +``` +4. Run tests: +```bash + ./manage.py test +``` +5. Run migrations: +```bash + ./manage.py migrate +``` +6. Create admin user: +```bash + ./manage.py createsuperuser +``` +7. Run server: +```bash + ./manage.py runserver +``` +------------- + +To live sync host directory with container folder, in Step 3: +```bash +podman run --network=host -itv /host/src/path:/usr/src/GameServerSupervisor supervisor-image sh +``` +`/host/src/path` is the absolute path to the repository in the host machine. ## Usage