• 0.1.0 9c30ad0185

    0.1.0 Pre-release

    snit released this 2025-06-18 20:02:18 +02:00 | 58 commits to main since this release

    Version 0.1.0 - "Eris Greyrat"

    This is the initial release of GemBooru. It contains roughly the bare minimum to work as an imageboard:

    • Uploading media (currently has a hardcoded limit of size <10MiB and types image/png, image/jpeg, image/gif, or video/webm)
    • Listing media (on the search page; the query currently does nothing)
    • Viewing a post and its associated media
    • A templates file, which lets you use Scheme to dynamically generate custom pages (see etc/template.scm for a reasonable default)
    • Configuration via command-line flags
      • --server-name The name of the server, i.e. "localhost" or "isekai.rocks" (required)
      • --certificate The path to the generated certificate file, i.e. /etc/gembooru/cert/localhost.crt (required)
      • --private-key The path to the generated private key file, i.e. /etc/gembooru/cert/localhost.key (required)
      • --templates The path to the templates file (defaults to /usr/share/gembooru/template.scm)
      • --database The path in which to store database files, like uploaded media (defaults to /var/lib/gembooru/)
      • --token A token string that will be required in order to upload media (defaults to no token)

    Running

    I don't recommend actually hosting this, but if you'd like to try it out, you can use the following commands.

    To generate a certificate (only do this once):

    openssl req -x509 -keyout keys/localhost.key -out keys/localhost.crt -days 365 -nodes-subj '/CN=localhost'
    

    Then to run the server:

    guile -L mod gembooru.scm            \
        --server-name localhost          \
        --certificate keys/localhost.crt \
        --private-key keys/localhost.key \
        --templates etc/template.scm     \
        --database var/lib/gembooru
    
    Downloads