phpMyFAQ

(β˜… 619)

phpMyFAQ - Open Source FAQ web application for PHP 8.3+ and MySQL, PostgreSQL and other databases

  • .browserslistrc
  • .dockerignore
  • .editorconfig
  • .gitignore
  • .oxfmtrc.json
  • .oxlintrc.json
  • .readthedocs.yaml
  • .stylelintrc.json
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
  • commitlint.config.cjs
  • composer.json
  • composer.lock
  • CONTRIBUTING.md
  • docker-compose.prod.yml
  • docker-compose.yml
  • Dockerfile
  • LICENSE
  • mago-analyze-baseline.toml
  • mago-lint-baseline.toml
  • mago.toml
  • mkdocs.yml
  • nginx.conf
  • package.json
  • phpunit.xml
  • playwright.config.ts
  • pnpm-lock.yaml
  • README.md
  • rector.php
  • SECURITY.md
  • STATIC_ANALYSIS_DEBT_REDUCTION.md
  • tsconfig.json
  • vite.config.ts

# Installation Guide

1. Get the code
git clone https://github.com/thorsten/phpMyFAQ

Downloads the entire project code from GitHub to your computer.

cd phpMyFAQ

Moves into the project folder you just downloaded.

2. Docker

Easy Recommended
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
$ docker compose --profile nginx --profile mariadb --profile opensearch --profile redis up

Runs the command against the services defined in the compose file.

$ docker build -t phpmyfaq-test . && docker run --rm -it docker.io/library/phpmyfaq-test:latest

Builds a runnable image based on the Dockerfile.

$ docker run --rm --privileged --pid=host alpine nsenter -t 1 -m -u -n -i sysctl -w vm.max_map_count=262144

Runs the built image as an actual container.

$ pnpm e2e:docker # dedicated MariaDB container (production-like)

Type this command into your terminal and run it.

βœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

Pulled directly from this repo's README.

3. Node.js

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Node.js Node.js must be installed to use npm. The LTS version is recommended.
$ curl -fsSL https://get.pnpm.io/install.sh | sh -

Downloads and runs the official install script in one line β€” this handles the full setup automatically.

$ pnpm install

Downloads and installs the libraries listed in package.json.

$ pnpm build

Type this command into your terminal and run it.

$ pnpm test

Type this command into your terminal and run it.

$ pnpm e2e:install # downloads the Chromium browser

Type this command into your terminal and run it.

βœ… After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.

Pulled directly from this repo's README.

4. PHP (Composer)

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • PHP A PHP runtime is required.
  • Composer The package manager used to install PHP libraries.
$ php composer.phar install

Type this command into your terminal and run it.

$ composer test

Type this command into your terminal and run it.

βœ… Run it with a built-in server like php -S localhost:8000, then open http://localhost:8000 in your browser.

Pulled directly from this repo's README.

// repository documentation