fe9b7c168b
All-in-one Dockerfile.openldap bundling the app + OpenLDAP + Redis in one container, plus an idempotent bare-metal install.sh, and a Jekyll docs site for GitHub Pages: - Dockerfile.openldap (node:20-alpine; openldap + pw-sha2/ppolicy/memberof/ refint; dumb-init PID 1; npm ci --omit=dev; tos.md copied to /). - docker-entrypoint.sh: generate slapd.conf (mdb + overlays + TLS + indexes + access), self-signed LDAPS cert, seed directory tree + required groups, bundled redis, export app_* config, exec node. - docker-compose.yml, .dockerignore, DEPLOYMENT.md, secrets.js.example. - install.sh: idempotent Debian/Ubuntu bare-metal installer (Node 20.x, OpenLDAP, Redis, systemd unit) with flags + --dry-run/--skip-ldap/--skip-app. - ops/ldif/: memberof/refint/tls/index/nodes/logging LDIFs. - nodejs/conf/base.js: generic defaults (dc=example,dc=com / localhost / SSO Manager) so per-deployment values move to secrets.js or app_* env. - nodejs/package.json: bump @simpleworkjs/conf to ^1.1.0 (app_* env overrides). - nodejs/routes/index.js: /health endpoint for healthchecks. - docs/: _config.yml + index/deployment/configuration/oauth/ldap pages (jekyll-theme-cayman) for GitHub Pages from /docs. Co-Authored-By: Claude <noreply@anthropic.com>
57 lines
1.3 KiB
JSON
Executable File
57 lines
1.3 KiB
JSON
Executable File
{
|
|
"name": "t42-sso-manager",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"author": [
|
|
{
|
|
"name": "William Mantly",
|
|
"email": "wmantly@gmail.com"
|
|
}
|
|
],
|
|
"scripts": {
|
|
"start": "node ./bin/www",
|
|
"dev": "npx nodemon --ignore public/ ./bin/www",
|
|
"test": "NODE_ENV=test jest --runInBand --forceExit --testTimeout=15000"
|
|
},
|
|
"jest": {
|
|
"testEnvironment": "node",
|
|
"testMatch": [
|
|
"**/tests/**/*.test.js"
|
|
],
|
|
"globalSetup": "./tests/globalSetup.js"
|
|
},
|
|
"dependencies": {
|
|
"@fortawesome/fontawesome-free": "^7.3.0",
|
|
"@popperjs/core": "^2.11.8",
|
|
"@simpleworkjs/conf": "^1.1.0",
|
|
"bcrypt": "^6.0.0",
|
|
"bootstrap": "^5.3.8",
|
|
"ejs": "^3.1.10",
|
|
"express": "^5.2.1",
|
|
"express-rate-limit": "^8.5.2",
|
|
"extend": "^3.0.2",
|
|
"jq-repeat": "^2.0.1",
|
|
"jquery": "^3.7.1",
|
|
"jsonwebtoken": "^9.0.3",
|
|
"ldapts": "^8.1.2",
|
|
"lru-cache": "^11.5.1",
|
|
"marked": "^9.1.6",
|
|
"model-redis": "^0.4.0",
|
|
"moment": "^2.30.1",
|
|
"mustache": "^4.2.0",
|
|
"nodemailer": "^9.0.0",
|
|
"p2psub": "^0.2.0",
|
|
"socket.io": "^4.8.3"
|
|
},
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/theta42/sso-manager-node.git"
|
|
},
|
|
"devDependencies": {
|
|
"jest": "^30.4.2",
|
|
"nodemon": "^3.1.11",
|
|
"supertest": "^7.2.2"
|
|
}
|
|
}
|