diff --git a/LICENSE b/LICENSE index a1016f0..6a7b34a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,6 @@ -Copyright 2022 James Eversole (james@eversole.co) +ISC LICENSE + +Copyright James Eversole (james@eversole.co) Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. diff --git a/README b/README deleted file mode 100644 index 4c80d06..0000000 --- a/README +++ /dev/null @@ -1,51 +0,0 @@ -purr ------ - -https://purr.eversole.co -a work-in-progress web application offering customizable password generation -and time-limited sharing of secrets. - -TECH STACK - -- Haskell and Scotty backend -- HTMX frontend -- SQLite database - -GOALS - -- Generate sufficiently memorable but secure passwords for use with accounts -that don't offer better authentication methods. - -- Share text secrets with others without disclosing the secret in the -message itself. - -- Provide a minimal and clean interface for generating and sharing passwords. - -- Maintain a clean and organized codebase that can be extended to include more -utilities than originally anticipated. - -- Be really cute compared to the competition. - -WHY TRUST YOU? - -You shouldn't. This is free and open-source software which you can run on your -own hardware. - -DEPLOYMENT - -Only Nix build instructions targeting containers are provided below, -but this project can be built and run without containers or Nix using Cabal. - -- Clone this repository -- Build the container image (with flakes enabled): `nix build .#purr-container` -- Load the container image - - podman load -i result -- Use the provided docker stack example to deploy the container if desired - - docker stack deploy -c docker-stack.yml purr - -DEVELOPMENT & SUPPORT - -Per the permissive ISC license, you are free to do what you wish with this software. I hold -no liability for any defects and no guarantees are made to its usability. - -Copyright James Eversole (james@eversole.co) diff --git a/README.md b/README.md new file mode 100644 index 0000000..7408681 --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +# purr + +[purr.eversole.co](https://purr.eversole.co) + +a simple web application offering customizable password generation +and time-limited sharing of secrets. + +## TECH STACK + +- [Haskell](https://www.haskell.org) +- [Scotty](https://hackage.haskell.org/package/scotty) +- [HTMX](https://htmx.org) +- [SQLite](https://www.sqlite.org) + +## GOALS + +- Provide a minimal and clean interface for generating and sharing passwords. +- Generate sufficiently memorable but secure passwords for use with accounts +that don't offer better authentication methods. +- Share text secrets with others without disclosing the secret in the +message itself. +- Maintain a clean and organized codebase that can be extended to include more +utilities than originally anticipated. + +## WHY TRUST PURR.EVERSOLE.CO? + +You shouldn't. This is free and open-source software which you can run on your +own hardware! + +## DEPLOYMENT + +Only Nix build instructions targeting containers are provided below, +but this project can be built and run without containers or Nix by using Cabal. + +1) Clone this repository +2) Build the container image (with flakes enabled): `nix build .#purr-container` +3) Load the container image + - podman load -i result +4) NixOS configuration: +``` +virtualisation.oci-containers.containers.purr = { + image = "purr"; + ports = [ "${PURR_EXTERNAL_PORT}:3000" ]; + volumes = [ + "/PATH/TO/PURR/data:/app/data" + ]; + environment = { + PURRNOFILE = "true"; + ENVIRONMENT = "production"; + APPLICATIONHOST = "localhost"; + APPLICATIONPORT = "3000"; + DATADIR = "/app/"; + LINKLENGTH = "24"; + ADMINEMAIL = "${YOUR_EMAIL}"; + }; +}; +``` +5) Docker Stack + 1) Set environment variables in docker-stack.yml or mount a .env file. + 2) `docker stack deploy -c docker-stack.yml purr` + +## DEVELOPMENT & 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)