Merge branch 'feature/nixify-and-saltine'
This commit is contained in:
51
README
51
README
@ -1,8 +1,17 @@
|
||||
purr
|
||||
-----
|
||||
|
||||
STATUS: BROKEN
|
||||
DETAILS: Currently unable to decrypt/unencode secrets written to the database.
|
||||
This broke when converting to Nix because it was learned that the previous
|
||||
crypto-simple library was out of date and needed to be replaced. Use commit
|
||||
b4bbf6e5a796d6dfc44ac0a052ec4949d2394927 if you want to build a
|
||||
working project.
|
||||
|
||||
|
||||
https://purr.eversole.co
|
||||
a work-in-progress web application offering customizable password generation and time-limited sharing of secrets.
|
||||
a work-in-progress web application offering customizable password generation
|
||||
and time-limited sharing of secrets.
|
||||
|
||||
TECH STACK
|
||||
|
||||
@ -10,23 +19,35 @@ TECH STACK
|
||||
- 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:
|
||||
Use Nix with flakes enabled.
|
||||
|
||||
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`
|
||||
Build binary and run natively:
|
||||
nix build && ./result/bin/Purr-musl
|
||||
|
||||
Build and add Docker image to local registry:
|
||||
nix build .#purr-docker && docker load < result
|
||||
|
||||
DEVELOPMENT & SUPPORT
|
||||
|
||||
|
Reference in New Issue
Block a user