From de4da3c1fd491376e4b59585e28d339e26722989 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E5=91=A8=E9=83=A8=E8=90=BD?= Date: Tue, 19 Mar 2024 22:37:46 +0800 Subject: [PATCH 1/3] docs: add minimum dependencies --- dev/docs/local-installation.md | 2 ++ docs/install.md | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/dev/docs/local-installation.md b/dev/docs/local-installation.md index a13aa6437f..132d86bd56 100644 --- a/dev/docs/local-installation.md +++ b/dev/docs/local-installation.md @@ -42,6 +42,8 @@ cargo --version ### PostgreSQL and PGroonga +Firefish requires PostgreSQL v12 or later. While you can choose any versions between v12 and the latest version (v16.2 as of writing), we recommend that you install v12.x so as not to use new features inadvertently and introduce incompatibility issues. + PostgreSQL install instructions can be found at [this page](https://www.postgresql.org/download/). ```sh diff --git a/docs/install.md b/docs/install.md index 061000fa32..f030e87125 100644 --- a/docs/install.md +++ b/docs/install.md @@ -4,6 +4,8 @@ This document shows an example procedure for installing Firefish on Debian 12. N If you want to use the pre-built container image, please refer to [`install-container.md`](./install-container.md). +If you do not prepare your environment as document, be sure to meet the minimum dependencies given at the bottom of the page. + Make sure that you can use the `sudo` command before proceeding. ## 1. Install dependencies @@ -315,3 +317,31 @@ cd ~/firefish - Run `psql -d firefish` (or whatever the database name is) - Run `UPDATE "user" SET "isAdmin" = true WHERE id='999999';` (replace `999999` with the copied ID) - Restart your Firefish server + +## Dependencies + +**We only recommend that you use components that are still within the upstream support cycle for better performance and security, and it is recommended that new sites meet the recommended dependency version requirements.** + +- At least [NodeJS](https://nodejs.org/en/) v18.17.0 (v20/v21 recommended) +- At least [PostgreSQL](https://www.postgresql.org/) v12 (v16 recommended) with [PGroonga](https://pgroonga.github.io/) extension +- At least [Redis](https://redis.io/) v7 +- Web Proxy (one of the following) + - Caddy (recommended for new users) + - Nginx (recommended) + - Apache + +### Optional dependencies + +- [FFmpeg](https://ffmpeg.org/) for video transcoding +- Caching server (one of the following) + - [DragonflyDB](https://www.dragonflydb.io/) (recommended) + - [KeyDB](https://keydb.dev/) + - Another [Redis](https://redis.io/) server + +### Build dependencies + +- At least [Rust](https://www.rust-lang.org/) v1.74 +- C/C++ compiler & build tools + - `build-essential` on Debian/Ubuntu Linux + - `base-devel` on Arch Linux +- [Python 3](https://www.python.org/) From 56aac15a6b891772f9404c943c6005b3370d309b Mon Sep 17 00:00:00 2001 From: naskya Date: Mon, 22 Apr 2024 06:32:07 +0900 Subject: [PATCH 2/3] docs (minor): paraphrase a bit --- dev/docs/local-installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/docs/local-installation.md b/dev/docs/local-installation.md index 132d86bd56..38d8a4a07d 100644 --- a/dev/docs/local-installation.md +++ b/dev/docs/local-installation.md @@ -42,7 +42,7 @@ cargo --version ### PostgreSQL and PGroonga -Firefish requires PostgreSQL v12 or later. While you can choose any versions between v12 and the latest version (v16.2 as of writing), we recommend that you install v12.x so as not to use new features inadvertently and introduce incompatibility issues. +Firefish requires PostgreSQL v12 or later. We recommend that you install v12.x for the same reason as Node.js. PostgreSQL install instructions can be found at [this page](https://www.postgresql.org/download/). From d98c564ead4117ecdcd2c9379675835566ecb9de Mon Sep 17 00:00:00 2001 From: naskya Date: Mon, 22 Apr 2024 06:39:20 +0900 Subject: [PATCH 3/3] docs: move the dependencies section to the top --- docs/install.md | 55 +++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/docs/install.md b/docs/install.md index f030e87125..5f2d7859ae 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,6 +1,31 @@ # Install Firefish -This document shows an example procedure for installing Firefish on Debian 12. Note that there is much room for customizing the server setup; this document merely demonstrates a simple installation. +Firefish depends on the following software. + +## Runtime dependencies + +- At least [NodeJS](https://nodejs.org/en/) v18.17.0 (v20/v21 recommended) +- At least [PostgreSQL](https://www.postgresql.org/) v12 (v16 recommended) with [PGroonga](https://pgroonga.github.io/) extension +- At least [Redis](https://redis.io/) v7 +- Web Proxy (one of the following) + - Caddy (recommended) + - Nginx (recommended) + - Apache +- [FFmpeg](https://ffmpeg.org/) for video transcoding (**optional**) +- Caching server (**optional**, one of the following) + - [DragonflyDB](https://www.dragonflydb.io/) + - [KeyDB](https://keydb.dev/) + - Another [Redis](https://redis.io/) server + +## Build dependencies + +- At least [Rust](https://www.rust-lang.org/) v1.74 +- C/C++ compiler & build tools + - `build-essential` on Debian/Ubuntu Linux + - `base-devel` on Arch Linux +- [Python 3](https://www.python.org/) + +This document shows an example procedure for installing these dependencies and Firefish on Debian 12. Note that there is much room for customizing the server setup; this document merely demonstrates a simple installation. If you want to use the pre-built container image, please refer to [`install-container.md`](./install-container.md). @@ -317,31 +342,3 @@ cd ~/firefish - Run `psql -d firefish` (or whatever the database name is) - Run `UPDATE "user" SET "isAdmin" = true WHERE id='999999';` (replace `999999` with the copied ID) - Restart your Firefish server - -## Dependencies - -**We only recommend that you use components that are still within the upstream support cycle for better performance and security, and it is recommended that new sites meet the recommended dependency version requirements.** - -- At least [NodeJS](https://nodejs.org/en/) v18.17.0 (v20/v21 recommended) -- At least [PostgreSQL](https://www.postgresql.org/) v12 (v16 recommended) with [PGroonga](https://pgroonga.github.io/) extension -- At least [Redis](https://redis.io/) v7 -- Web Proxy (one of the following) - - Caddy (recommended for new users) - - Nginx (recommended) - - Apache - -### Optional dependencies - -- [FFmpeg](https://ffmpeg.org/) for video transcoding -- Caching server (one of the following) - - [DragonflyDB](https://www.dragonflydb.io/) (recommended) - - [KeyDB](https://keydb.dev/) - - Another [Redis](https://redis.io/) server - -### Build dependencies - -- At least [Rust](https://www.rust-lang.org/) v1.74 -- C/C++ compiler & build tools - - `build-essential` on Debian/Ubuntu Linux - - `base-devel` on Arch Linux -- [Python 3](https://www.python.org/)