Skip to content

Feature/lenny app#178

Merged
mekarpeles merged 6 commits into
ArchiveLabs:mainfrom
ronibhakta1:feature/lenny-app
Apr 7, 2026
Merged

Feature/lenny app#178
mekarpeles merged 6 commits into
ArchiveLabs:mainfrom
ronibhakta1:feature/lenny-app

Conversation

@ronibhakta1
Copy link
Copy Markdown
Collaborator

This pull request introduces a secure, containerized admin dashboard to the Lenny project, updates the deployment and configuration scripts to support it, and adds new API features for filtering catalog items by encryption status. It also improves internal security and developer experience by enhancing environment variable management and Docker orchestration. Below are the most important changes grouped by theme:

Admin Dashboard Integration

  • Adds an admin dashboard served at /admin, isolated from the public API, with its own Docker container (lenny_admin) and proxy configuration in Nginx. The admin UI is built from the lenny-app repository and communicates internally with the API. [1]], [2]], [3]], [4]], [5]], [6]])
  • Documents admin dashboard setup, including environment variables for credentials and secrets, in the README.md. [1]], [2]])

Security & Configuration

  • Adds environment variables for admin credentials and secrets, generates secure defaults if not provided, and syncs them in .env files using improved shell scripts. [1]], [2]], [3]], [4]], [5]], [6]], [7]])
  • Implements admin authentication utilities in lenny/core/auth.py for username/password login and token validation, using constant-time comparisons and time-limited tokens. [1]], [2]])

API & Feature Enhancements

  • Adds support for filtering catalog items by encryption status via an encrypted query parameter in the API, and exposes this in the admin UI. [1]], [2]], [3]])
  • Allows POST requests in CORS middleware to support admin UI operations. ([lenny/app.pyL23-R23])
  • Permits uploads from the Docker internal network, enabling the admin UI to upload files server-side. ([lenny/core/api.pyR317-R323])

Deployment & Docker Improvements

  • Adds restart policies to Docker services for better reliability and introduces lazy DNS resolution in Nginx for smoother container startup. [1]], [2]])
  • Blocks external access to the admin API endpoints via Nginx, ensuring admin functions are only accessible internally. ([docker/nginx/conf.d/lenny.confR40-R45])

Other Notable Changes

  • Bumps the project version to 0.2.0 to reflect these significant updates. ([VERSIONL1-R1])
  • Fixes minor typos and improves error handling in API routes. [1]], [2]], [3]], [4]])

These changes collectively make Lenny more secure, maintainable, and feature-rich, especially for administrators managing the system.

@ronibhakta1 ronibhakta1 requested a review from mekarpeles April 6, 2026 23:48
@mekarpeles mekarpeles merged commit e9aa8c5 into ArchiveLabs:main Apr 7, 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.

2 participants