This repository has been archived on 2023-07-28. You can view files and clone it, but cannot push or open issues or pull requests.
prosody_web_admin_rest/README.md

2.4 KiB

README

This project is not actively maintained anymore..

A simple webinterface for users. This app uses admin_rest module of prosody. So prosody.im and this module are hard dependencies. The interface allows users

  • to have two step verification (as an alternative to the integrated register_web module),
  • to delete of their accounts and
  • to change their password.

This app uses

  • Slim Version 3
  • Slim Auth
  • Eloquent ORM
  • PHPMigration
  • GUMP Validation
  • Twig
  • Curl
  • PHPMailer
  • Symfony Translation
  • Sqlite

as dependencies.

The main git repository is hosted at https://git.myservermanager.com/varakh/prosody_web_admin_rest. Other repositories are mirrors and pull requests, issues, and planning are managed there.

Contributions are very welcome!

Requirements

  • admin_rest module of prosody
  • composer
  • sqlite pdo, mb_string

Install

  • Install composer
  • Change directory to project home
  • Copy config/env.example to config/env and adjust to your needs
  • Copy config/legal.example.md to config/legal.md and adjust to your needs
  • composer install
  • php bin/phpmig migrate

Deployment

  • Set up a cron job using php projectRootDir/bin/UsersAwaitingVerificationCleanUpCronJob.php to clean up users who signed up but did not verify their account periodically.
  • Point your document root to public/.
  • Example nginx conf:
root   .../public;
index index.php;    

rewrite_log on;

location / {
  try_files $uri $uri/ @ee;
}

location @ee {
  rewrite ^(.*) /index.php?$1 last;
}

# php fpm
location ~ \.php$ {
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
  include        fastcgi_params;
}  

You should be able to set a very strict Content-Security-Policy.

Upgrade

  • Change directory to project home
  • git pull
  • composer update
  • php bin/phpmig migrate
  • look into Changelog for major changes

Developers

  • start server with php -S localhost:8080 -t public public/index.php
  • point browser to localhost:8080 to have a preview

Translations

This app uses Symfony Translator. It's bootstraped in Util\BootstrapHelper and locales are placed under data/locale/ . Adjust to your needs or help translating.