porous forum
Go to file
2025-05-22 23:20:15 +03:00
apps argon2 experiment 2025-05-22 22:30:20 +03:00
data/static put db and static into data/ 2025-05-22 23:20:15 +03:00
lib argon2 experiment 2025-05-22 22:30:20 +03:00
sass add markup to topics list view 2025-05-22 01:46:08 +03:00
svg-icons add topic/thread list view 2025-05-21 17:34:24 +03:00
views fix infobox in user view 2025-05-22 22:30:14 +03:00
.gitignore put db and static into data/ 2025-05-22 23:20:15 +03:00
app.lua add quick and dirty user list for mods 2025-05-22 04:00:11 +03:00
config.lua put db and static into data/ 2025-05-22 23:20:15 +03:00
constants.lua add userboxes and use them instead of flash 2025-05-20 22:21:06 +03:00
create_default_accounts.lua argon2 experiment 2025-05-22 22:30:20 +03:00
LICENSE.md license under CNPLv7+ 2025-05-19 06:23:51 +03:00
migrations.lua add a sort order to topics for the future 2025-05-22 02:57:25 +03:00
mime.types initial commit 2025-05-07 20:01:04 +03:00
models.lua make default avatar use the avatars table 2025-05-22 02:44:24 +03:00
nginx.conf put db and static into data/ 2025-05-22 23:20:15 +03:00
porom-dev-1.rockspec argon2 experiment 2025-05-22 22:30:20 +03:00
README.md add proper instructions 2025-05-22 03:36:56 +03:00
schema.lua schema 2025-05-17 17:12:23 +03:00
secrets.lua.example add proper instructions 2025-05-22 03:36:56 +03:00
start.sh put db and static into data/ 2025-05-22 23:20:15 +03:00
util.lua add proper instructions 2025-05-22 03:36:56 +03:00

Porom

porous forum

License

Released under CNPLv7+. Please read the full terms for proper wording.

installing & first time setup

  1. first, install OpenResty. instructions for linux can be found here.
  2. then, install LuaJIT and Lua 5.1 (usually called lua5.1 in package managers)
  3. then, install LuaRocks (prefer your package manager instead of a local install recommended by the guide)
  4. add luarocks search dirs to path:
  # in .bashrc (or other shell equivalent)
  eval "$(luarocks --lua-version 5.1 path)"
  1. clone repo
  2. install the dependencies:
$ luarocks --local --lua-version 5.1 build --only-deps
  1. create a file named secrets.lua in the project directory.
    use the secrets.lua.example file as reference, and generate a cryptographically secure random key, for example, with:
$ openssl rand -hex 32
  1. run:
$ start.sh production

the script will perform some necessary first time setup (and create a hidden file in the folder to ensure it won't do so again). it will create an administrator account and print the credentials to the console; this will only happen once. make sure you save them somewhere. the administrator account is the only one that can promote other users to moderator.
(note the production argument. if called with no arguments, start.sh will run in a development environment, which uses a separate database.)

this app is made with the assumption that it is being reverse-proxied. as such, you may want to change the port to something other than the default 8080. you can do that in config.lua.

after the first time setup is complete, everything is ready to go. put the app behind your reverse proxy and serve it on the web. the app does not run in https by itself, but the reverse proxy can be set up to do that.

once you are able to navigate to the forum, you can log in as the administrator account. other people may also sign up, but they are not able to post until manually verified by an administrator or a moderator. the administrator can promote regular users to moderator.

icons

the icons in the icons/ folder are by Gabriele Malaspina