Skip to content

Conversation

@runleveldev
Copy link
Collaborator

@runleveldev runleveldev commented Jan 5, 2026

https://os.mieweb.org

  • Cleans up old documentation
  • Adds Admin and Developer guides to docs
  • Start the docs site along side the manager
  • Update proxy to show landing page on unqualified request

runleveldev and others added 3 commits January 5, 2026 11:27
- Delete proxy-server.js (custom Express proxy not used by Docusaurus)
- Delete launchpad_README.md (separate documentation not part of site)
- Delete tailwind.config.js (TailwindCSS config not integrated into Docusaurus)

Co-authored-by: GitHub Copilot <noreply@github.com>
- Delete src/pages/projects/ directory
- Delete src/components/projectGrid/ component
- Remove Projects button from homepage header
- Remove Featured Projects section from homepage
- Remove Projects link from navigation bar

Co-authored-by: GitHub Copilot <noreply@github.com>
Add support for configuring Proxmox and container creation URLs via
environment variables, allowing self-hosted deployments to customize
URLs without editing checked-in files.

Changes:
- Add .env.example with URL configuration template
- Update .gitignore to exclude .env files
- Add customFields to docusaurus.config.ts for URL configuration
- Create useInstanceUrls hook for accessing URLs in React components
- Create InstanceUrl components (ProxmoxUrl, ContainerCreationUrl) for MDX
- Convert relevant .md files to .mdx to use React components
- Update navbar to use environment variable for container creation URL
- Update homepage to use useInstanceUrls hook
- Update documentation files to use parameterized URL components
- Add configuration documentation to README.md
- Fix broken .md links (should be without extension)

Environment variables:
- PROXMOX_URL: Proxmox Web GUI URL (default: https://localhost:8006)
- CONTAINER_CREATION_URL: Container creation UI URL (default: https://localhost)

Co-authored-by: GitHub Copilot <noreply@github.com>
runleveldev and others added 5 commits January 5, 2026 14:01
- Create three-tier documentation structure:
  - Users: container creation, launchpad, monitoring, vscode
  - Admins: placeholder for cluster management docs
  - Developers: cluster architecture and contributing

- Rewrite intro page with role-based navigation:
  - Move Key Features to top
  - Use FAQ-style questions to guide users
  - Remove outdated Getting Access section

- Update all internal links to new structure
- Copy/move images to appropriate directories
- Update docusaurus.config.ts with new nav structure
- Install dotenv for environment variable support

Co-authored-by: GitHub Copilot <noreply@github.com>
- Create installation.md with complete setup instructions:
  - Proxmox VE 13+ requirement
  - skopeo-based OCI image pull from ghcr.io
  - Container creation with static IP configuration
  - Port forwarding setup (443/tcp)
  - First account auto-approval as admin

- Create concepts.md placeholder for architecture docs
- Update admin index with getting started guide

Co-authored-by: GitHub Copilot <noreply@github.com>
Add comprehensive admin guides covering the cluster data model:

- Update concepts.md with organizational hierarchy overview
- Add users-and-groups.md: user registration, approval workflow,
  group management, LDAP authentication, and security
- Add sites.md: site creation, network configuration, DHCP ranges,
  DNS setup, and multi-site management
- Add external-domains.md: domain configuration, ACME certificate
  management, Cloudflare DNS-01 challenges, and troubleshooting
- Add nodes.md: node import/creation, API authentication methods,
  TLS configuration, and multi-node considerations
- Add containers.md: administrative overview with links to user
  documentation for container creation and management

Each guide includes detailed explanations, step-by-step procedures,
security considerations, and troubleshooting sections.

Co-authored-by: GitHub Copilot <noreply@github.com>
Major restructure of developer documentation:

- Rename how-our-cluster-works.md to system-architecture.md
- Add Mermaid diagram support (@docusaurus/theme-mermaid)
- Create comprehensive system architecture with Mermaid diagrams:
  - System component overview
  - Container creation data flow
  - User authentication flow
  - HTTP service exposure flow

- Focus on core software stack:
  - Proxmox VE 13+ with LXC management
  - DNSMasq for DHCP and DNS
  - NGINX for Layer 7 HTTP/TLS and Layer 4 TCP proxying
  - LDAP Gateway (NodeJS) for authentication
  - Backend database (SQLite/Postgres/MySQL via ORM)

- Replace React references with EJS server-side rendering
- Remove security considerations section
- Extract Development Workflow to separate document
- Extract Contributing guidelines to separate document
- Update all internal links to new structure

Co-authored-by: GitHub Copilot <noreply@github.com>
Add comprehensive reference page for core technologies:

- Express.js: Backend framework
- Sequelize: ORM for database abstraction
- EJS: Server-side templating
- Proxmox VE API: Container management
- LDAP Gateway: github.com/mieweb/LDAPServer
- SSSD: PAM/NSS integration documentation
- DNSMasq: DHCP and DNS services
- NGINX: Reverse proxy and TLS termination

Includes external documentation links, use cases, version
requirements table, and related resources.

Co-authored-by: GitHub Copilot <noreply@github.com>
runleveldev and others added 3 commits January 5, 2026 16:32
Create detailed database schema reference with:

- Mermaid ER diagram showing all entities and relationships
- Complete model documentation for all 14 tables:
  - Core models: Site, Node, Container, Services
  - Service types: HTTPService, TransportService, DnsService
  - User management: User, Group, UserGroup
  - Job tracking: Job, JobStatus
  - Configuration: ExternalDomain, SessionSecret

- Document Single Table Inheritance pattern for Services
- Explain LDAP schema compatibility (uidNumber, gidNumber, cn)
- Detail security features (argon2 password hashing)
- Include constraints, indexes, and validation rules
- Document Sequelize ORM usage and patterns

Update copilot-instructions.md to require database schema
doc updates when Sequelize models are modified.

Co-authored-by: GitHub Copilot <noreply@github.com>
Create systemd service and Makefile target for docs:

- Add opensource-docs.service systemd unit file
  - Runs npm run serve in /opt/opensource-server/mie-opensource-landing
  - Auto-restarts on failure
  - Starts after network is available

- Add install-docs target to Makefile
  - Installs npm dependencies (production)
  - Builds documentation
  - Installs and enables systemd service
  - Automatically starts the service

- Update main install target to include install-docs

Documentation server will now start automatically on boot
and be managed through systemctl.

Co-authored-by: GitHub Copilot <noreply@github.com>
- Keep wildcard *.domain.tld returning 404
- Add separate server block for bare domain.tld
- Proxy bare domain to localhost:2998 (documentation site)

Co-authored-by: GitHub Copilot <noreply@github.com>
@runleveldev runleveldev marked this pull request as ready for review January 7, 2026 14:21
- Remove deprecated SSH-based container creation workflow
- Add comprehensive API documentation using curl
- Include authentication, template selection, and service configuration
- Document all service types: HTTP, TCP/UDP, DNS (SRV)
- Provide complete working examples with error handling
- Reference existing ContainerCreationUrl component

Co-authored-by: GitHub Copilot <noreply@github.com>
- Delete advanced-containers/ directory (deploying-containers-overview, single-component, multi-component)
- Delete protocol-list.md
- Move files from basic-containers/ up to creating-containers/
- Remove now-empty basic-containers/ directory
- Update all references to moved files across documentation
- Fix references in src/pages/index.tsx and docusaurus.config.ts

These guides were based on deprecated SSH workflow and are no longer relevant with the API-based approach.

Co-authored-by: GitHub Copilot <noreply@github.com>
runleveldev and others added 2 commits January 8, 2026 09:18
- Build Dockerfile on push to main and docs branches
- Push to ghcr.io/mieweb/opensource-server
- Tag with branch name
- Tag as 'latest' when pushing to main
- Use GitHub Actions cache for build optimization
- Skip push on pull requests (build only)

Co-authored-by: GitHub Copilot <noreply@github.com>
Copy link
Contributor

@Bobzemob Bobzemob left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, Nice Documentation!

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.

3 participants