Fork me on GitHub

Setting up development environment

selfoss makes use of many libraries to make our job as developers easier. To install them, you will need appropriate package managers. The server side uses composer for PHP libraries and the client side uses npm for the JavaScript world.

Then you will be able to run npm run install-dependencies to install the libraries, and npm run dev to start a program that will rebuild client-side assets when needed.

To run the server side you will need at least PHP to be able to run the development server using php -S run.php. It would be also nice to have an array of database servers (MySQL and PostgreSQL) and web servers (Apache httpd and nginx) but the server built into PHP and SQLite will suffice for small changes.

Integration tests require Python ≥ 3.6 with requests and bcrypt Python libraries.

For changing the selfoss web page in docs/ directory, you will also want Zola.

You can install all of the above using your package manager of choice or by downloading the programs from the linked pages.

Alternately, on Linux and MacOS, you can run Nix package manager’s nix-shell command, and you will find yourself in a development environment with all the necessary dependencies on PATH. See Using Nix for more information.