/miresa-srv

Miresa is free software for building online communities and forums.

Primary LanguageGoThe UnlicenseUnlicense

Miresa

Miresa is minimal, free software for building online forums and communities.

License: Unlicense Go Report Card Open issues Linter status

NOTE: Miresa Server is still in the pre-alpha development stage, suitable for testing purposes only.

Demo

Insert images here

Installation

Prerequisites:

  • Postgres

If you want to customize the CSS, Miresa nees to be run from the root of the repository. For this, you should clone the repo:

git clone https://github.com/miresa-dev/miresa-srv

Then cd into the directory and build the project:

cd miresa-srv
go build .

If you're fine with the defaults, you can install with Go:

go install github.com/miresa-dev/miresa-srv@latest

Or get a binary form the releases page.

Usage

This section is for administrators. If you're a user, you may want to check out the official CLI or the fancier web client. The built-in web client is extremely minimal.

Database

You'll need to create a Postgres database:

CREATE DATABASE miresa;

The server will set up the tables on its own.

You'll also need to set the database URL. You can do this by editing $XDG_CONFIG_HOME/miresa-srv.toml.

Please note Windows is unsupported.

In your config file, specify the database URL:

database_url = "postgres://user:passwd@localhost:5432/miresa"

For the full config reference, see the docs.

Starting the server

You can now start the server by running miresa-srv:

./miresa-srv
# Or, if you installed with `go install`,
miresa-srv

See the selfhosting docs for more in-depth information.

Support

If you need support, you can open a GitHub discussion, ask on the Matrix server, or send us an email.

Roadmap

  • Support the full API
  • Make the web client
  • Users
    • Create
      • Validate session ID and captcha
    • Read
    • Update
    • Delete
  • Items
    • Create
    • Read
    • Update
    • Delete
  • Configuration
    • Allow JSON/YAML configuration
    • More config options
      • ID length
      • What info to show on /v
        • Goroutine count
        • OS
        • Arch
        • Current server time
        • Uptime
  • Rate-limiting
    • 30 requests per minute

Contributing

All sorts of contributions are always welcome! See the contribution docs for ways to help.

Acknowledgements

Contributors

Libraries

License

This project is licensed under the Unlicense. All code is public domain unless otherwise specified.