48 lines
1.8 KiB
Plaintext
48 lines
1.8 KiB
Plaintext
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)
|