A textboard written in Perl https://posttext.pl
Go to file
2024-08-15 21:02:10 -04:00
lib Validation for login and post remark 2024-08-15 21:02:10 -04:00
migrations Some cleanup 2023-10-27 17:56:53 -04:00
public Allow Marginalia search 2024-08-06 14:08:05 -04:00
script Don't think this is needed anymore... 2023-07-06 13:12:08 -04:00
t CSRF validation for CAPTCHA and some more tests 2024-08-15 20:54:07 -04:00
templates Last few CSRF fields 2024-08-15 20:30:47 -04:00
.gitignore Hybrid time 2022-09-15 19:14:40 -04:00
.perlcriticrc Dial up severity for PerlCritic, also comment out in cpanfile as it's not necessary right now for a container build 2023-05-06 03:02:11 -04:00
AUTHORS Put some files in place for later; implement a basic Mojolicious::Lite app 2022-07-22 18:37:31 -04:00
cpanfile Implement API key for SlapbirdAPM 2024-08-09 21:13:02 -04:00
Dockerfile These are officially gone 2024-06-25 13:30:58 -04:00
example_post_text.conf Do max_pages for threads 2023-10-28 11:34:44 -04:00
LICENSE New license 2023-08-14 19:40:38 -05:00
README.md Redirect for old /thread/post path 2024-08-14 16:30:55 -04:00

Post::Text

A textboard written in Perl

Installing locally

Install dependencies:

cpanm --installdeps .

Running locally

Create a config file:

cp example_post_text.conf post_text.conf

This file right now just contains a Perl hash reference. Someday it should be YAML or XML or something better suited.

Run it in development mode:

morbo -w public/ -w lib/ -w templates/ -w script/ script/post_text

Now try requesting http://localhost:3000

Testing

First, create a valid first thread and first remark to the first thread. The tests rely on the existence of thread #1 and remark #1 being the first remark to that first thread. Then you can run the tests locally:

prove -l

Building/running container

Build

podman build -t post_text .

Tag

podman tag post_text \
    git.seriousbusiness.international/swaggboi_priv/post_text

Push

podman push git.seriousbusiness.international/swaggboi_priv/post_text

Pull

podman pull git.seriousbusiness.international/swaggboi_priv/post_text

Run

podman run -dt --rm --name post_text -p 3002:3000 post_text

Generate unit file

podman generate systemd --files --new --name post_text

TODOs

  • Implement CSRF
  • Tripcodes/PGP signing somehow perhaps...

AGPL-3.0+ANTIFA compliance

  • Antifa
  • Trans Rights
  • Black Lives Matter