Skip to content

Comments

Add Docker user management scripts and some setup automation#21

Merged
codeGlaze merged 2 commits intodevelopfrom
feature/docker-verified-users
Feb 19, 2026
Merged

Add Docker user management scripts and some setup automation#21
codeGlaze merged 2 commits intodevelopfrom
feature/docker-verified-users

Conversation

@codeGlaze
Copy link
Owner

Summary

  • docker-user.sh — shell wrapper to create, verify, check, list, and batch-create pre-verified user accounts directly in Datomic, bypassing email verification entirely. Auto-detects the running container and waits for healthcheck before executing.
  • docker-setup.sh — interactive/non-interactive setup script that generates secure random passwords, a .env file, self-signed SSL certs, and required directories in one step.
  • docker/scripts/manage-user.clj — Clojure script that runs inside the orcpub container using the uberjar classpath (datomic.api + buddy.hashers). Supports create, batch, verify, check, and list commands.
  • Docker Compose updates — both docker-compose.yaml and docker-compose-build.yaml now use .env interpolation (no more editing passwords in YAML), native healthchecks, and condition: service_healthy dependencies.

Why

Self-hosted Docker deployments had no way to create usable accounts without a working SMTP server. Users had to either configure email or manually poke the database. This gives them a one-liner: ./docker-user.sh create admin admin@example.com MyPass123.

What changed

File What
docker-user.sh User management CLI (create/batch/verify/check/list/init)
docker-setup.sh Automated .env + SSL + directory setup
docker/scripts/manage-user.clj Clojure script for Datomic user operations
docker/scripts/users.example.txt Batch user file template
.env.example Reference environment configuration
docker-compose.yaml .env interpolation, healthchecks, service_healthy deps
docker-compose-build.yaml Same updates as above
docs/docker-user-management.md Full documentation with quick start, commands, troubleshooting
README.md Added Quick Setup section linking to docs
.github/workflows/docker-integration.yml CI: shellcheck, setup validation, full user CRUD, batch, init, HTTP login
.gitignore Added .claude-data/

Test plan

  • CI passes: shellcheck, setup --auto, --force re-run, password consistency
  • CI passes: container startup (datomic → orcpub → nginx health chain)
  • CI passes: create, check, list, duplicate rejection, verify idempotency
  • CI passes: batch creation with duplicate handling
  • CI passes: init from .env, init idempotency
  • CI passes: HTTP login with correct password, rejection with wrong password
  • Manual: ./docker-setup.sh --auto generates valid .env on clean checkout
  • Manual: ./docker-user.sh create works against running stack

Add scripts to create pre-verified user accounts in Datomic without
requiring SMTP/email verification, plus an automated setup script that
generates secure passwords, SSL certificates, and .env configuration.

- docker-setup.sh: interactive/auto setup (passwords, SSL, directories)
- docker-user.sh: create, verify, check, list, batch user operations
- docker/scripts/manage-user.clj: Clojure script running inside container
- Docker Compose: .env interpolation, native healthchecks, service_healthy deps
- CI workflow for Docker integration testing
- Documentation and README quick-start guide
Cover two previously untested paths:
- docker-user.sh init (creates admin from .env INIT_ADMIN_* vars)
- docker-setup.sh --auto --force (regenerates .env with consistent passwords)
@codeGlaze codeGlaze force-pushed the feature/docker-verified-users branch from 00f4309 to dcf8227 Compare February 18, 2026 23:27
@codeGlaze codeGlaze merged commit d7e19f9 into develop Feb 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant