Requirements
- Python 3.10 or newer
- Git
- PostgreSQL for production; no database service is required for local development
Local setup
-
Clone Core and enter the checkout.
-
Create and activate a virtual environment, then install Core dependencies.
-
Copy the environment template and replace deployment-specific values.
Keep
DATABASE_URLempty to use the default localdb.sqlite3database. For PostgreSQL, set a URL such as:Use a long, stableSECRET_KEYandDEBUG=falsein production. -
Initialize the database and verify the project.
-
Optionally register the first business domain. Set
RUOOM_BUSINESS_1_URLin.env, then run:This command is idempotent; running it again updates the mapping for business 1. -
Start the development server.
http://127.0.0.1:8000/. A fresh database directs you through creation of the initial account.
Add plugins
Install released plugin wheels into this same virtual environment, set the comma-separatedRUOOM_PLUGINS value, then run migrations and check. Do not copy modern plugin repositories into Core. See Install plugins for exact commands and the Booking exception.
Deployment notes
Core includesDockerfile, start.sh, and railway.json. The Railway startup path runs migrations, registers the configured business domain, collects static files, and starts Gunicorn. For durable production data or multiple application instances, use PostgreSQL. S3-compatible storage can be enabled with STORAGE=S3 and the AWS_* variables documented in .env.example.