Opero Documentation

Public documentation for artists and teams using Opero.

This reader is part of the public Opero site and uses markdown files stored in the Opero docs directory, so guidance stays consistent across site and admin experiences.

8 guides available

Developer Guide

Technical context for implementation and extension.

<!-- Opero.art Source-Available Notice: Licensed under BSL 1.1. Free for individual artists; commercial hosting/redistribution for a fee is prohibited. See /LICENSE.md. -->

Developer Guide

Purpose

Define development conventions and extension strategy.

Scope

Foundation project structure, run commands, and extension points.

Local Setup

  1. Ensure PHP 8.x is installed with required extensions (pdo_mysql, json, mbstring, and gd or imagick; zip for backups).
  2. From the repository root, start a local PHP server: php -S localhost:8000.
  3. Open http://localhost:8000/opero/installer/ and complete setup.
  4. Sign in at http://localhost:8000/opero/admin/.

Key Paths

  • opero/includes: backend services, auth, generator, media processing, upgrade helpers
  • opero/installer: setup flow and install lock handling
  • opero/admin: admin shell sections, JS, CSS, and API actions
  • opero/modules: reserved directory for module registry expansion
  • opero/themes/default: default presentation assets
  • opero/templates/layouts/default: public page templates
  • opero/public: public web entry assets
  • opero/storage: runtime state and audit logs

Extension Rules

  • New features should be introduced as modules where applicable
  • Keep backend contracts stable and versioned
  • Avoid mixing public presentation with core platform logic

Demo Mode

  • Repository defaults must remain non-demo for GitHub distribution.
  • To enable demo mode on a server, upload a private opero/storage/system/demo-mode.json file that matches the example at opero/storage/system/demo-mode.example.json.
  • The real demo-mode.json file is gitignored and can safely contain demo-only credentials, database values, and hidden analytics configuration.
  • Removing that file returns the installer and admin login to normal fresh-setup behavior.