Skip to content

pdsinterop/php-solid-pubsub-server

Repository files navigation

Standalone PHP Solid PubSub Server

PDS Interop Project stage: Development License Latest Version standard-readme compliant Maintained

Standalone Solid PubSub Server written in PHP by PDS Interop

Table of Contents

Background

The Solid specifications defines what makes a "Solid Server". Parts of those specifications are still likely to change, but at the time of this writing, they define:

  • Authentication
  • Authorization (and access control)
  • Content representation
  • Identity
  • Profiles
  • Resource (reading and writing) API
  • Social Web App Protocols (Notifications, Friends Lists, Followers and Following)

Installation

To install the project, clone it from GitHub and install the PHP dependencies using Composer:

git clone git://github.com/pdsinterop/php-solid-pubsub-server.git \
    && cd php-solid-pubsub-server \
    && composer install --no-dev --prefer-dist

At this point, the application is ready to run.

Usage

The PHP Solid PubSub server can be run in several different ways.

Docker images

When running with your own Docker image, make sure to mount the project folder to wherever the image expects it to be, e.g. /app or /var/www.

For instance:

export PORT=8080 &&        \
docker run                 \
   --env "PORT=${PORT}"    \
   --expose "${PORT}"      \
   --network host          \
   --rm                    \
   --volume "$PWD:/app"    \
   -it                     \
   php:7.1                 \
   php --docroot /app/web/ --server "localhost:${PORT}" /app/web/index.php

Or on Mac:

export PORT=8080 &&        \
docker run                 \
   --env "PORT=${PORT}"    \
   --expose "${PORT}"      \
   -p "${PORT}:${PORT}"    \
   --rm                    \
   --volume "$PWD:/app"    \
   -it                     \
   php:7.1                 \
   php --docroot /app/web/ --server "localhost:${PORT}" /app/web/index.php

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

-->

Development

Project structure

This project is structured as follows:

  .
  ├── src           <- Source code
  ├── vendor        <- Third-party and vendor code
  ├── web           <- Web content
  ├── composer.json <- PHP package and dependency configuration
  └── README.md     <- You are now here

Contributing

Questions or feedback can be given by opening an issue on GitHub.

All PDS Interop projects are open source and community-friendly. Any contribution is welcome! For more details read the contribution guidelines.

All PDS Interop projects adhere to the Code Manifesto as its code-of-conduct. Contributors are expected to abide by its terms.

There is a list of all contributors on GitHub.

For a list of changes see the CHANGELOG or the GitHub releases page.

License

All code created by PDS Interop is licensed under the MIT License.