Pengin-Pi-3 Info

Status: Alpha. The core is running and the edges are still moving. APIs may change between alpha builds. See Roadmap for what's landing next.

What it is

Pengin-Pi-3 is a self-hosted CMS and ERP development kit built on Python and Django. It is the starting point for projects that need to be a real application rather than a brochure site — users, roles, content, and internal tooling handled from day one.

Most starter kits give you a login form and leave the rest to you. Pengin-Pi-3 ships an advanced user and RBAC team management system in the core, a slug and page editor, a wiki creator, and AWS middleware for SES, S3, SQS, and Cost Explorer.

The subsystems, helper functions, security mechanisms, and middleware are extensive enough that this wiki exists to document them. Pages are being written as the alpha stabilizes — see Architecture for the current map.

Core features

Identity and access

  • RBAC team management built into the core, not bolted on
  • Account validation with single-use, rotating tokens
  • Password reset with a bounded expiration window and token consumption
  • PBKDF2-SHA256 hashing enforced across signup, admin, and reset paths

Content

  • Slug editor — every slug-addressable page is editable in place
  • Wiki creator — new wikis and pages without a migration or a restart
  • CMS media handling for files, video, images, and documents
  • Edit history and author attribution on content and configuration objects

Platform

  • Dynamic SEO: database-driven robots.txt and hybrid sitemap generation
  • Page view analytics with real client IP resolution behind reverse proxies
  • reCAPTCHA v3 and IP-aware rate limiting available as view mixins
  • Reusable class-based view mixins for the patterns you repeat

Tech stack

Pengin-Pi-3 ships as a docker-compose deployment package containing:

  • Application — Python 3 / Django, served by uWSGI
  • Web — Nginx with a hardened default configuration
  • Database — PostgreSQL for relational data
  • Document store — FerretDB for runtime content structures
  • Cache and queue buffer — Redis
  • Frontend — Bootstrap 5 templates and components
  • Security — Fail2ban support via the deployment scripts

See Install for requirements and Deployment for production notes.

AWS integration

Middleware is included for the AWS services the platform expects to talk to:

  • SES — transactional mail over the Boto3 SDK, with MIME attachment support. Replaces the SMTP backend entirely, so there is no STARTTLS negotiation and no derived SMTP passwords.
  • S3 — object storage for CMS media and uploads
  • SQS — queueing for deferred and background work
  • Cost Explorer — spend visibility surfaced inside the platform

AWS is optional for local development. See Configuration for the credentials and region settings each service expects.

Apps

Pengin-Pi-3 ships with the option to enable the following apps:

  • Applications and Jobs — job postings, applicant intake, resume upload, and status tracking
  • Analytics — page view logging, visitor resolution, and security probe visibility
  • Blogs — article authoring and publishing
  • Companies — organization records and the relationships around them
  • Events and Calendar — scheduling that lives alongside your content
  • Forums — threaded discussion, scoped by role
  • Tickets — intake, assignment, and tracking on the same user and role model

Each app respects the core RBAC layer. Enabling or disabling an app is a configuration decision, not a fork.

Built to work with LLMs

Pengin-Pi-3 is written to be read. The codebase is consistent, the abstractions are explicit, and the SDK exposes management tooling rather than hiding it behind conventions you have to reverse-engineer.

A clean, well-structured codebase is what lets an LLM scaffold a new feature correctly on the first pass instead of producing something that compiles and quietly breaks your permission model. See SDK and Style Guide.

Next

Pages Here

No sub-pages yet.

Page Info

Wiki: Docs

Last edited on Sep 20, 2026 by Stuart Anderson

Maintainers

Editor Last Activity
Stuart Anderson creator Sep 20, 2026