porous forum
Go to file
Lera Elvoé 7f17d4c29e
finalize docker setup
now fully works via docker \o/
2025-05-23 13:14:51 +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
secrets NOT DONE YET - allow containerization 2025-05-23 04:46:10 +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
.dockerignore NOT DONE YET - allow containerization 2025-05-23 04:46:10 +03:00
.gitignore NOT DONE YET - allow containerization 2025-05-23 04:46:10 +03:00
app.lua add quick and dirty user list for mods 2025-05-22 04:00:11 +03:00
config.lua NOT DONE YET - allow containerization 2025-05-23 04:46:10 +03:00
constants.lua add userboxes and use them instead of flash 2025-05-20 22:21:06 +03:00
create_default_accounts.lua VERY quick fix: randomize seed when making admin account 2025-05-23 05:41:38 +03:00
docker-compose.yml NOT DONE YET - allow containerization 2025-05-23 04:46:10 +03:00
Dockerfile finalize docker setup 2025-05-23 13:14:51 +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
start.sh finalize docker setup 2025-05-23 13:14:51 +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