CSC842 mirror of private Github repo
Find a file
2023-06-02 19:46:04 -07:00
ghostforge Improve data tables, start adding notes 2023-06-02 19:08:43 -07:00
migrations Add initial alembic migration before turning in 2023-06-02 19:40:26 -07:00
.dockerignore Preparing to setup fastapi-users 2023-05-26 11:25:42 -07:00
.env.sample Layout work. Learning how to Alembic. 2023-05-25 18:33:08 -07:00
.flake8 Basic JWT endpoints 2023-05-23 17:14:49 -07:00
.gitignore back to SQLmodel... 2023-05-26 22:54:02 -07:00
.pre-commit-config.yaml Add initial alembic migration before turning in 2023-06-02 19:40:26 -07:00
alembic.ini Add initial alembic migration before turning in 2023-06-02 19:40:26 -07:00
docker-compose.yml Add alembic migration support to Docker* 2023-06-02 19:46:04 -07:00
Dockerfile Add alembic migration support to Docker* 2023-06-02 19:46:04 -07:00
ghostforge.png Preparing to setup fastapi-users 2023-05-26 11:25:42 -07:00
LICENSE Migrate to pyproject, add black/flake8/bandit/etc. 2023-05-23 14:33:32 -07:00
pyproject.toml Improve data tables, start adding notes 2023-06-02 19:08:43 -07:00
README.md Add user views and some fixes. 2023-05-30 12:43:00 -07:00

ghostforge Logo

ghostforge

ghostforge manages false identity information for privacy prudent persons.

tl;dr it's a fancy DB frontend with sensible design, tailored features, and a nice UX.

DeploymentFrequently Asked QuestionsContributingLicense

Deployment

Installation instructions are only provided for docker-based deployment. For manual deployment, you'll need to set environment variables (see .env) for database access before running ghostforge yourself.

using docker

You'll need docker-compose installed or you can convert the contents of docker-compose.yml into docker run commands yourself. Install and run ghostforge with something like:

git clone https://github.com/darrylnixon/ghostforge.git && \
cd ghostforge && \
cp .env.sample .env && \
PW=$(/usr/bin/env python3 -c "import secrets; print(secrets.token_urlsafe(32))") /bin/bash -c 'sed -i "" "s/^POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$PW/" .env' && \
JWT=$(/usr/bin/env python3 -c "import secrets; print(secrets.token_urlsafe(32))") /bin/bash -c 'sed -i "" "s/^GHOSTFORGE_JWT_SECRET=.*/GHOSTFORGE_JWT_SECRET=$JWT/" .env';
docker-compose up --detach --build;
docker exec --interactive --tty ghostforge ghostforge_adduser <username> <email> --superuser;

Follow the prompts to create an administrator user. Assuming you didn't change the default port, browse to http://localhost:1337/ to begin using ghostforge with your new credentials.

FAQ

What problem does ghostforge solve?

TODO

What's your roadmap?

TBD

Why did you select MIT? You use GPLv3 in other projects.

While GPLv3 still gives you the right to use, modify, and share this code, I know ghostforge would be useful to researchers and enthusiasts that need to tailor it to niche, particular, or sensitive use cases. Recognizing this, MIT seemed the best fit.

Contributing

If you would like to contribute to this project, feel free to submit a pull request or open an issue on GitHub.

This tool was written as part of my coursework for CSC 842 - Security Tool Development at Dakota State University. Consequently, I may choose not to maintain this tool beyond the length of the course, but have selected a license that enables open contributions in any case.

License

This project is licensed under the MIT License. See the LICENSE file for details.