@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 24 days ago
alembic Implement initial gnexus-creds MVP scaffold 24 days ago
docs Add project specification and implementation plan 24 days ago
frontend Add admin diagnostics UI 24 days ago
gnexus_creds Add Docker packaging and admin user UI 24 days ago
scripts Implement initial gnexus-creds MVP scaffold 24 days ago
tests Add auth session and webhook tests 24 days ago
.dockerignore Add Docker packaging and admin user UI 24 days ago
.env.example Add Docker packaging and admin user UI 24 days ago
.gitignore Fix OAuth callback expiry handling 24 days ago
Dockerfile Add Docker packaging and admin user UI 24 days ago
README.md Add Docker packaging and admin user UI 24 days ago
alembic.ini Implement initial gnexus-creds MVP scaffold 24 days ago
docker-compose.yml Add Docker packaging and admin user UI 24 days ago
pyproject.toml Implement initial gnexus-creds MVP scaffold 24 days ago
uv.lock Implement initial gnexus-creds MVP scaffold 24 days ago
README.md

gnexus-creds

Personal secret storage service with REST API, MCP HTTP/SSE adapter, and Vue UI.

Backend

Install dependencies:

uv sync --extra dev

Run migrations:

uv run alembic upgrade head

Start API:

uv run uvicorn gnexus_creds.main:app --reload

For local PostgreSQL development:

GNEXUS_CREDS_DATABASE_URL=postgresql+psycopg://gnexus_creds:gnexus_creds@127.0.0.1:5432/gnexus_creds

Health endpoints:

GET /health
GET /ready

Frontend

The frontend lives in frontend/ and uses Vue 3 plus gnexus-ui-kit as a git dependency.

cd frontend
npm install
npm run dev

Note: gnexus-ui-kit must publish or prepare its dist/ artifacts for git dependency consumers. If dist/ is missing from the installed package, the UI build cannot resolve gnexus-ui-kit/vue or the kit CSS.

Tests

uv run pytest
uv run ruff check .

Demo Data

After applying migrations against a configured PostgreSQL database:

uv run python scripts/seed_demo.py

Docker

Prepare a production env file from .env.example, then build the image:

docker build -t gnexus-creds .

Apply migrations:

docker run --rm --env-file .env gnexus-creds alembic upgrade head

Start the app:

docker run --env-file .env -p 8000:8000 gnexus-creds

Local compose stack with PostgreSQL:

docker compose up -d postgres
docker compose run --rm app alembic upgrade head
docker compose up -d app

The image includes the built Vue UI and serves it from FastAPI. The container does not run migrations automatically; run alembic upgrade head explicitly during deploy.