sampu/README.md

63 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2024-02-18 18:38:51 -06:00
# the sampu Haskell blog engine
https://eversole.co
2024-02-18 18:38:51 -06:00
2024-02-18 20:05:18 -06:00
a _work-in-progress_ blog engine using simple flat-file Markdown content storage
2024-02-18 18:38:51 -06:00
2024-02-18 20:05:18 -06:00
sampu is a word in [Lojban](https://mw.lojban.org) with the English definition:
2024-02-18 18:38:51 -06:00
"x1 is __simple__/__unmixed__/__uncomplicated__ in property x2"
2024-02-18 20:05:18 -06:00
Therefore, `la sampu cu sampu lo ka samtci`!
2024-02-18 18:38:51 -06:00
## Stack
- [Haskell](https://www.haskell.org)
- [Twain](https://github.com/alexmingoia/twain)
2024-02-25 15:01:56 -06:00
- [Lucid](https://github.com/chrisdone/lucid)
- [Clay](https://github.com/sebastiaanvisser/clay)
2024-02-18 18:38:51 -06:00
## Goal
Provide a simple blog engine that is easily customizable via HTML fragments.
2024-02-18 18:38:51 -06:00
2024-02-25 15:01:56 -06:00
## Build and Deployment
Only Nix build instructions are provided below.
### No Containers
1) Clone this repository
2) Build the application (with flakes enabled): `nix build '.#'`
3) Set the environment variables
- File: `cp data/.env.example ./.env; $EDITOR ./.env`
- If you want to set them in a different way, you already know how.
4) Run the application: `./result/bin/sampu`
### Containers
1) Clone this repository
2) Build the container image (with flakes enabled): `nix build .#sampu-container`
3) Load the container image: `podman load -i result`
4) Run the container using your favorite orchestrator or...
5) Use a NixOS configuration:
```
virtualisation.oci-containers.containers.sampu = {
image = "sampu";
ports = [ "${SAMPUR_EXTERNAL_PORT}:3000" ];
volumes = [
"/PATH/TO/SAMPU/data:/app/data"
];
environment = {
SAMPU_PORT = "3000";
SAMPU_TITLE = "Your Blog Title Here!";
SAMPU_BASEURL = "http://example.public.tld";
};
};
```
2024-02-18 18:38:51 -06:00
## Development and Support
Per the permissive ISC license, you are free to do what you wish with this
software. No guarantees are made to its usability, security, or functionality.
Copyright James Eversole (james@eversole.co)