- HTML 44.8%
- Python 26.3%
- SCSS 8.9%
- Less 7.9%
- Stylus 6.7%
- Other 5.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| entrypoints | ||
| phasesix | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.docker | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .stylelintrc | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE.txt | ||
| modals-plan.md | ||
| README.md | ||
Phase Six Pen'n'Paper Roleplay Platform
This repository contains the source code which runs the RPG Sites Phase Six and Realms of Tirakan. This is a Django project.
The code is licensed under the GNU GPLv3 as stated in the LICENSE.txt file. However, the text content of both phasesix.org and tirakans-reiche.de (game elements, rules etc.) is licensed under the CC-BY-NC-SA 4.0.
This source code comes with a minimal example set of demo data, which can be inserted into a database to get started.
Getting Started - Docker Compose
To run the project in a docker compose environment, all you need is an installed Docker engine or Docker Desktop, and the docker-compose package.
$ docker-compose up
$ docker-compose exec web .venv/bin/python manage.py migrate
$ docker-compose exec web .venv/bin/python manage.py loaddata demo_data.json
$ docker-compose exec web .venv/bin/python manage.py createsuperuser
You can access the admin interface at http://localhost:8000/admin after that.
Getting Started - Native setup
Alternatively, you can install the needed setup locally on your machine without docker.
You need a Linux (WSL2 works too), macOS (untested) or Windows (untested) machine to run this project. There are some prerequisites used by this django project.
Redis
Phase Six relies on a local redis server. The installation depends on your system. For linux, use your package manager (i.e. apt install redis-server). On macOS, use Homebrew to brew install redis.
Python and uv
The supported python versions are 3.10-3.13. A system-wide installed python interpreter is fine, but you want to create a virtualenv. PhaseSix uses uv for requirements. This can be done with:
$ cd phasesix
$ uv sync
$ . .venv/bin/activate
Environment, Database, Superuser
This project uses a .env file to set basic settings (like mail server and database). There is an example .env.example, which can be copied to the name .env in the project folder. Adjust the settings for your needs. The default settings should run fine for a local setup with sqlite3 database.
The database file db.sqlite3 will be created in the project folder. If you use a postgres database, you have to create the database and an owner before running migrations.
To create the database tables, run the django migrations:
(venv) $ python manage.py migrate
This will not create a superuser for the site, so you need to use the django management command to do this:
(venv) $ python manage.py createsuperuser
Demo data
After this, a simple setup without any data should be ready to run. Although phase six needs some prerequisites present in the database. A simple set of demo data containing some extensions, weapons, armour and skills can be inserted from a json file.
(venv) $ python manage.py loaddata demo_data.json
Running the local server
To run the local development server, just run the following management command:
(venv) $ python manage.py runserver
A single threaded server will be available at http://localhost:8000. Note that this server is not suitable for production deployment. There are many ways to deploy a django project.