Add hilarious auto db password generation and docker build check.

This commit is contained in:
Darryl Nixon 2023-05-23 13:27:25 -07:00
parent 610bfa9134
commit 29d31fffc7
6 changed files with 37 additions and 9 deletions

13
.env
View file

@ -1,10 +1,3 @@
# DATABASE_* variables are used both to initially configure the
# ghostforge postgresql database and to later access the data from
# ghostforge execution.
DATABASE_USER=ghost
DATABASE_PASSWORD=
DATABASE_NAME=ghostforge
# GHOSTFORGE_*_WEB_PORT variables are used to determine what # GHOSTFORGE_*_WEB_PORT variables are used to determine what
# port the web interface is served on within the container (INTERNAL) # port the web interface is served on within the container (INTERNAL)
# and what port this will map to on the host (HOST). # and what port this will map to on the host (HOST).
@ -17,3 +10,9 @@ GHOSTFORGE_INTERNAL_WEB_PORT=1337
# GHOSTFORGE_ENV is used to determine debug verbosity # GHOSTFORGE_ENV is used to determine debug verbosity
# Valid values are [prod, dev] # Valid values are [prod, dev]
GHOSTFORGE_ENV=prod GHOSTFORGE_ENV=prod
# DATABASE_* variables are used both to initially configure the
# ghostforge postgresql database and to later access the data from
# ghostforge execution.
DATABASE_USER=ghost
DATABASE_NAME=ghostforge

View file

@ -1,5 +1,8 @@
FROM python:3.11-alpine FROM python:3.11-alpine
ENV DATABASE_PASSWORD ""
RUN if [ -z "${DATABASE_PASSWORD}" ]; then echo "ghostforge build error: Set DATABASE_PASSWORD in .env."; exit 1; fi
WORKDIR /ghostforge WORKDIR /ghostforge
COPY . . COPY . .
RUN rm .env RUN rm .env

View file

@ -3,7 +3,7 @@
# ghostforge # ghostforge
ghostforge manages **false identity information** for privacy prudent users. 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.<br/> tl;dr it's a fancy DB frontend with sensible design, tailored features, and a nice UX.<br/>
@ -23,6 +23,7 @@ You'll need `docker-compose` installed or you can convert the contents of `docke
```bash ```bash
git clone https://github.com/darrylnixon/ghostforge.git && \ git clone https://github.com/darrylnixon/ghostforge.git && \
cd ghostforge && \ cd ghostforge && \
PW=$(head -c 500 /dev/urandom | LC_ALL=C tr -dc '[:print:]' | fold -w 24 | head -n 1 | sed "s/\\\\/\\\\\\\\/g; s/'/\\\\\'/g") | sed -i .bak "s/^DATABASE_PASSWORD=.*/DATABASE_PASSWORD=$PW" .env;
docker-compose up --detach --build; docker-compose up --detach --build;
docker exec --interactive --tty ghostforge ghostforge_adduser; docker exec --interactive --tty ghostforge ghostforge_adduser;
``` ```

View file

@ -0,0 +1,9 @@
"""
Initialization constants for ghostforge.
Constants:
_PROJECT (str): Name for the project
__version__ (str): The current version of the binhop package
"""
_PROJECT = "ghostforge"
__version__ = "0.0.1"

View file

@ -0,0 +1 @@
.

15
setup.py Normal file
View file

@ -0,0 +1,15 @@
from distutils.core import setup
from setuptools import find_packages
from ghostforge import _PROJECT, __version__
setup(
name=_PROJECT,
version=__version__,
packages=find_packages(),
license="MIT",
author="ghostforge",
description="False identity management web app",
long_description="A false identity information manager for privacy prudent persons",
keywords=["ghostforge", "persona", "red team", "tornado"],
install_requires=["tornado>=6.3.2", "queries>=2.1.1"],
)