From 6b9b4a686610aa19cf675c5abf76f7ef00e83c02 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter Date: Thu, 11 May 2023 00:02:38 +0000 Subject: [PATCH] Merge pull request 'docs: Add Apache2 documentation' (#10078) from warrows/calckey:main into main Reviewed-on: https://codeberg.org/calckey/calckey/pulls/10078 --- README.md | 17 ++++++++++++++--- calckey.apache.conf | 13 +++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 calckey.apache.conf diff --git a/README.md b/README.md index ded16ba28..8466ce834 100644 --- a/README.md +++ b/README.md @@ -168,13 +168,24 @@ In Calckey's directory, fill out the `sonic` section of `.config/default.yml` wi For migrating from Misskey v13, Misskey v12, and Foundkey, read [this document](https://codeberg.org/calckey/calckey/src/branch/develop/docs/migrate.md). -## 🍀 NGINX +## Web proxy + +Choose between NGINX or Apache (we recommend NGINX) + +### 🍀 NGINX - Run `sudo cp ./calckey.nginx.conf /etc/nginx/sites-available/ && cd /etc/nginx/sites-available/` - Edit `calckey.nginx.conf` to reflect your instance properly -- Run `sudo cp ./calckey.nginx.conf ../sites-enabled/` +- Run `sudo ln -s ./calckey.nginx.conf ../sites-enabled/calckey.nginx.conf` - Run `sudo nginx -t` to validate that the config is valid, then restart the NGINX service. +### Apache 2 + +- Run `sudo cp ./calckey.apache.conf /etc/apache2/sites-available/ && cd /etc/apache2/sites-available/` +- Edit `calckey.apache.conf` to reflect your instance properly +- Run `sudo a2ensite calckey.apache` to enable the site +- Run `sudo service apache2 restart` to reload apache2 configuration + ## 🚀 Build and launch! @@ -194,7 +205,7 @@ pm2 start "NODE_ENV=production pnpm run start" --name Calckey - When editing the config file, please don't fill out the settings at the bottom. They're designed *only* for managed hosting, not self hosting. Those settings are much better off being set in Calckey's control panel. - Port 3000 (used in the default config) might be already used on your server for something else. To find an open port for Calckey, run `for p in {3000..4000}; do ss -tlnH | tr -s ' ' | cut -d" " -sf4 | grep -q "${p}$" || echo "${p}"; done | head -n 1`. Replace 3000 with the minimum port and 4000 with the maximum port if you need it. -- I'd recommend you use a S3 Bucket/CDN for Object Storage, especially if you use Docker. +- I'd recommend you use a S3 Bucket/CDN for Object Storage, especially if you use Docker. - I'd ***strongly*** recommend against using CloudFlare, but if you do, make sure to turn code minification off. - For push notifications, run `npx web-push generate-vapid-keys`, then put the public and private keys into Control Panel > General > ServiceWorker. - For translations, make a [DeepL](https://deepl.com) account and generate an API key, then put it into Control Panel > General > DeepL Translation. diff --git a/calckey.apache.conf b/calckey.apache.conf new file mode 100644 index 000000000..b0c69d51d --- /dev/null +++ b/calckey.apache.conf @@ -0,0 +1,13 @@ +# Replace example.tld with your domain + + + ServerName example.tld + # For WebSocket + ProxyPass "/streaming" "ws://127.0.0.1:3000/streaming/" + # Proxy to Node + ProxyPass "/" "http://127.0.0.1:3000/" + ProxyPassReverse "/" "http://127.0.0.1:3000/" + ProxyPreserveHost On + # For files proxy + AllowEncodedSlashes On + \ No newline at end of file