Skip to main content

Requirements

  • Python 3.10 or newer
  • Git
  • PostgreSQL for production; no database service is required for local development

Local setup

  1. Clone Core and enter the checkout.
  2. Create and activate a virtual environment, then install Core dependencies.
  3. Copy the environment template and replace deployment-specific values.
    Keep DATABASE_URL empty to use the default local db.sqlite3 database. For PostgreSQL, set a URL such as:
    Use a long, stable SECRET_KEY and DEBUG=false in production.
  4. Initialize the database and verify the project.
  5. Optionally register the first business domain. Set RUOOM_BUSINESS_1_URL in .env, then run:
    This command is idempotent; running it again updates the mapping for business 1.
  6. Start the development server.
Open 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-separated RUOOM_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 includes Dockerfile, 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.