James Eversole
ee8686bc83
Bugfix on UI elements when no secret is found. Add copy secret button on successful retrieval. Include deployment information and updated example files.
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. - Be really cute compared to the competition. - 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. WHY TRUST YOU? You shouldn't. This is free and open-source software which you can run on your own hardware. DEPLOYMENT purr is intended to run in a docker container. This repo's Stack project is configured to use a musl-based docker container for builds. Assuming your working directory is inside of this repository: 1. Copy "examples/config.dhall" to ./config.dhall - configure this file appropriately. - Use `openssl rand -hex 10` to generate an encryption key for "dbKey" 2. Copy "examples/Dockerfile" to ./Dockerfile 3. If using default database file location, run: `mkdir ./data; touch ./data/Purr.sqlite` 4. Run `chmod +x build-docker` 5. Run `./build-docker $IMAGE_NAME` to complete the initial Stack build and create the container 6. Orchestrate the container as desired - docker run -d -v "$(pwd -P)/data/Purr.sqlite:/app/data/Purr.sqlite" \ -v "$(pwd -P)/config.dhall:/app/config.dhall" \ -p 5195:3000 purr |- An example docker-stack.yml is provided: `docker stack deploy -c docker-stack.yml purr` DEVELOPMENT & SUPPORT Please send me an email for support or to provide patches. Copyright 2022 James Eversole (james@eversole.co)
Description
a simple web application offering customizable password generation and time-limited sharing of secrets.
Languages
Haskell
88.8%
Nix
7.3%
JavaScript
3.9%