We're not using CodeIgniter4 due to it's poor design choices.

This commit is contained in:
Xaymar
2026-02-02 20:59:38 +01:00
parent 657aeb7190
commit b02c58b5e2
+14 -26
View File
@@ -1,34 +1,22 @@
# Peninsula - Backend
The backend provides all necessary API endpoints to guarantee that the frontend does not require any server-side dynamic content generation. This should ensure that hosting the frontend is much cheaper than hosting the backend, likely requiring far less servers to handle. This backend is based on the lightweight CodeIgniter framework to simplify how much work is required for the implementation.
The Pensinsula Backend provides the necessary APIs for the frontend, bridge and clients to work correctly.
## Requirements
We require some PHP modules for proper operation:
- json (enabled by default - don't turn it off)
- [intl](http://www.php.net/manual/en/intl.requirements.php)
- [mbstring](http://www.php.net/manual/en/mbstring.installation.php)
And depending on your Database of choice, one of:
- [mysqlnd](http://www.php.net/manual/en/mysqlnd.install.php) (MySQL, MariaDB)
- [pgsql](https://www.php.net/manual/en/pgsql.installation.php) (PostgreSQL)
- PHP 8.1 or newer
- For ideal performance enable opcache, JIT and other common PHP performance improvements.
- Additional Modules
- json (enabled by default - don't turn it off)
- [intl](http://www.php.net/manual/en/intl.requirements.php)
- [mbstring](http://www.php.net/manual/en/mbstring.installation.php)
- One of:
- [mysqlnd](http://www.php.net/manual/en/mysqlnd.install.php) (MySQL, MariaDB)
- [pgsql](https://www.php.net/manual/en/pgsql.installation.php) (PostgreSQL)
## Installation
### Released Build
1. Download the backend package from [the provided release packages](https://github.com/xaymar/peninsula/releases/).
2. Extract it on your server.
3. Perform the [Configuration](#Configuration) step.
4. Set the web root to be the `public/` directory.
5. Set up rewrites or try_files to rewrite any non-existing request to `/index.php`.
6. Enjoy.
### Local Build
1. Make a fresh clone of this repository, or run `git clean -fqX`.
2. Run `composer install --no-dev`.
3. Copy the contents of this directory to the machine that is supposed to host the backend.
4. Set up your webserver to have a virtual host with a root directory pointing at `public/`.
5. Ensure that all requests that don't match an exact file are forwarded to `index.php`.
6. Enjoy.
1. Copy the content of this directory to your web server.
2. Point the webroot into the `public/` directory.
3. Ensure that all requests either resolve to an existing file or are internally redirected to `index.php`.
4. Done.
### Example Server Configurations
These examples are provided without warranty or guarantee of functionality. They're references to look at and configure your own server with.