For now? I'm experimenting on an old concept.
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

JavaScript 95.0%
CSS 2.4%
Gleam 1.3%
Rust 1.2%
Just 0.1%
Dockerfile 0.1%
Nix 0.1%
Shell 0.1%
Other 0.1%
633 4 0

Clone this repository

https://tangled.org/strawmelonjuice.com/Lumina https://tangled.org/did:plc:jgtfsmv25thfs4zmydtbccnn/Lumina
git@knot.strawmelonjuice.com:strawmelonjuice.com/Lumina git@knot.strawmelonjuice.com:did:plc:jgtfsmv25thfs4zmydtbccnn/Lumina

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.MD
# Lumina(/peonies) server

> Notice:
> This repo is edited on [My forge](https://forge.strawmelonjuice.com/strawmelonjuice/Lumina) and mirrorred
> on [Codeberg](https://codeberg.org/strawmelonjuice/Lumina) and [GitHub](https://github.com/strawmelonjuice/lumina). But
> you can still send in a PR!
> See [CONTRIBUTING.md](CONTRIBUTING.md) for more information.

### Environment variables

Part of the configuration is loaded from the database, part of it in environment variables.
Environment variables can be set in the _environment_ before run, but Lumina prefers them to be loaded from
`$LUMINAFOLDER/.env`.

| NAME                       | DEFAULT                                                                                | FOR                                                                                                                        |
| -------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `DATABASE_URL`             | Development: `postgres://lumina:lumina_pw@localhost:5432/lumina_config`, production: - | The Postgres database url to connect to. Overrides all `LUMINA_POSTGRES_*` values.                                         |
| `LUMINA_POSTGRES_PORT`     | `5432`                                                                                 | The port to contact the database on.                                                                                       |
| `LUMINA_POSTGRES_HOST`     | `localhost`                                                                            | The address to contact the database on.                                                                                    |
| `LUMINA_POSTGRES_USERNAME` | `lumina`                                                                               | The username to log in to the database with.                                                                               |
| `LUMINA_POSTGRES_PASSWORD` | -                                                                                      | The password to log in to the database with. If not set, Lumina will try without.                                          |
| `LUMINA_POSTGRES_DATABASE` | `lumina_config`                                                                        | The database to use.                                                                                                       |
| `LUMINA_REDIS_URL`         | `redis://127.0.0.1/`                                                                   | Redis URL to connect to.                                                                                                   |
| `LUMINA_DB_SALT`           | `sal`                                                                                  | The salting to use for some data on the database.                                                                          |
| `LUMINA_SERVER_PORT`       | `8085`                                                                                 | Port for Lumina to accept HTTP requests on.                                                                                |
| `LUMINA_SERVER_ADDR`       | `127.0.0.1`                                                                            | Address for Lumina to accept HTTP requests on. (usually `127.0.0.1` or `0.0.0.0`)                                          |
| `LUMINA_SERVER_HTTPS`      | `false`                                                                                | Whether to use 'https' rather than 'http' in links, etc. (please do!)                                                      |
| `LUMINA_SYNC_IID`          | `localhost`                                                                            | A name Lumina uses when communicating with other instances, must be equal to where it's http is facing the public internet |
| `LUMINA_SYNC_INTERVAL`     | `30`                                                                                   | Specifies the interval between syncs. Minimum is 30.                                                                       |

## Development

### With Nix (preffered)

Use `flake.nix`, either using `direnv` (there's an `.envrc` file to do this!) or with `nix develop`.
This gets you all the dependencies, including Just.

```sh
just dev # Prepares your enviroment and builds/runs the server with file watching.
```

### Without Nix

Make sure you have [mise-en-place](https://mise.jdx.dev/) and [Just](https://just.systems/) preinstalled.

```sh
mise install # Installs mise deps
just dev # Prepares your enviroment and builds/runs the server with file watching.
```

When running Lumina server in development mode, it automatically creates two accounts for you and one of those has an attached
post on the global timeline.

| Username  | Email             | Password         |
| --------- | ----------------- | ---------------- |
| testuser1 | test@lumina123.co | MyTestPassw9292! |
| testuser2 | test@lumina234.co | MyTestPassw9292! |