Merge pull request 'containerize' (#20) from calm-steam/GameServerSupervisor:containerize into master

Reviewed-on: GibCasa/GameServerSupervisor#20
This commit is contained in:
calm-steam 2025-03-05 16:16:04 +01:00
commit d6eb2a1b25
2 changed files with 67 additions and 4 deletions

14
Dockerfile Normal file
View File

@ -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

View File

@ -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