purr

password generation and secret sharing
Log | Files | Refs | README | LICENSE

README.md (2545B)


purr

purr.eversole.co

a simple web application offering customizable password generation and time-limited sharing of secrets.

TECH STACK

GOALS

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 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 examples/.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/Purr

Containers

  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. Pick option 5, 6, or use your favorite process to manage containers and ENV
  5. 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}";
  };
};
  1. Docker Stack
    1. Copy the docker-stack.yml example and edit as needed.
      1. cp examples/docker-stack.yml ./; $EDITOR ./docker-stack.yml
    2. Set environment variables:
      • cp examples/.env.example ./.env; $EDITOR ./.env
      • Or set them in the docker-stack.yml environment declaration.
    3. Deploy: 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)