mirror of https://gitgud.io/fatchan/jschan.git
parent
8bcc743140
commit
3a4d7622f5
1 changed files with 75 additions and 2 deletions
@ -1,4 +1,77 @@ |
|||||||
# jschan |
# jschan |
||||||
This is a WIP and readme will be filled when its more complete and has scripts to make deploying easier. |
|
||||||
|
|
||||||
Contact me on Discord 69420#9999 if you are so inclined. |
Anonymous imageboard. A type of BBS or forum software. |
||||||
|
Still in development, so beware if attempting to run a public instance. |
||||||
|
Demo site running at https://fatpeople.lol |
||||||
|
|
||||||
|
## Goals |
||||||
|
- Oldschool imageboard look |
||||||
|
- Works on TOR with javascript disabled (maybe the name is a bit ironic) |
||||||
|
- Take advantage of modern html5/css features for some usability perks |
||||||
|
|
||||||
|
## Features |
||||||
|
- [x] Classic post styling e.g. greentext, spoilers, quotes |
||||||
|
- [x] Multiple files per post |
||||||
|
- [x] Optional user created boards ala infinity |
||||||
|
- [x] Captcha and basic antispam |
||||||
|
- [x] Multi-select posts for reports, bans, post deletions, etc |
||||||
|
- [x] Public board modlogs |
||||||
|
- [x] Homepage boards sorted by active users, pph, total posts descending |
||||||
|
- [x] Management page with reports, bans, banners, board settings and news |
||||||
|
- [x] Customise homepage, faq, rules or add custom pages |
||||||
|
|
||||||
|
## Todo |
||||||
|
- [ ] Post moving/thread merging |
||||||
|
- [ ] Flags. Geographic and custom uploaded |
||||||
|
- [ ] IP range bans |
||||||
|
- [ ] IP notes/records/ban history of some sort |
||||||
|
- [ ] JSON api |
||||||
|
- [ ] Configuration editor |
||||||
|
- [ ] Overboard/multiboard/meta boards |
||||||
|
- [ ] Boards search page |
||||||
|
- [ ] User created board custom pages |
||||||
|
- [ ] File URL uploads |
||||||
|
|
||||||
|
## Setup |
||||||
|
Please note: |
||||||
|
- These are not step-by-step or complete instructions. |
||||||
|
- For debian. |
||||||
|
|
||||||
|
##### Requirements |
||||||
|
- Linux (most likely could work elsewhere, but why?) |
||||||
|
- Node.js (to run the app) |
||||||
|
- Nginx (handle https, serve static content and html) |
||||||
|
- Certbot/letsencrypt (for https cert) |
||||||
|
- MongoDB (database, duh) |
||||||
|
- Imagemagick (thumbnailing images) |
||||||
|
- Ffmpeg (thumbnailing videos) |
||||||
|
- Bcrypt (account password hashes) |
||||||
|
|
||||||
|
Install some dependencies. You may need to add some sources. |
||||||
|
```bash |
||||||
|
$ sudo apt-get update |
||||||
|
$ sudo apt-get install bcrypt nginx ffmpeg imagemagick |
||||||
|
``` |
||||||
|
|
||||||
|
[Install](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/#install-mongodb-community-edition-on-debian) and [configure auth for mongodb](https://medium.com/mongoaudit/how-to-enable-authentication-on-mongodb-b9e8a924efac). This is to avoid out of date verisons in debian repos. |
||||||
|
|
||||||
|
Install nodejs. You can use [node version manager](https://github.com/nvm-sh/nvm) (nvm) to help with this. |
||||||
|
Once you have nvm, install the LTS version of nodejs (currently 10.x). |
||||||
|
```bash |
||||||
|
$ nvm install --lts |
||||||
|
``` |
||||||
|
|
||||||
|
Configure nginx. Delete the default nginx config, then modify [the example config](https://gist.github.com/fatchan/87ac56e5556d178ab2213afdf7619dec) and put it in the correct folder. Next, get https with a certificate generated from [letsencrypt](https://wiki.debian.org/LetsEncrypt). |
||||||
|
|
||||||
|
Now clone the repo, browse to the folder and set some things up. |
||||||
|
```bash |
||||||
|
# in repo directory |
||||||
|
$ nano configs/main.json #edit config with appropriate data |
||||||
|
$ npm i |
||||||
|
$ npm i -g gulp pm2 |
||||||
|
$ gulp |
||||||
|
$ npm run-script setup |
||||||
|
$ npm run-script start #this will start the backend |
||||||
|
$ pm2 list #list running apps |
||||||
|
$ pm2 logs #see logs |
||||||
|
``` |
||||||
|
Loading…
Reference in new issue