backupchecks/docs/manifest.md

70 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Backupchecks repository manifest
This document describes the main directories and important files in the Backupchecks repository.
## Top-level
- `containers/backupchecks/`
Docker build context for the application image. Everything under this directory is copied into the image.
- `docs/`
Documentation that is not baked into the image (design notes, migration policy, etc.).
- `deploy/`
Portainer stack files and deployment notes. These files are NOT copied into the image.
## containers/backupchecks
- `Dockerfile`
Builds the Backupchecks application image.
- Installs Python dependencies from `requirements.txt`.
- Copies the `src/` tree into `/app/src`.
- Starts the app using Gunicorn and the `create_app()` factory.
- `requirements.txt`
Python dependencies for the application.
- `src/backend/app/`
Backend application package.
- `__init__.py`
Application factory (`create_app()`), database initialization and migrations bootstrap.
- `config.py`
Reads configuration from environment variables (database connection, app env, timezone).
- `database.py`
SQLAlchemy database instance (`db`).
- `models.py`
ORM models, including:
- `User` login user with `username`, optional `email`, `password_hash`, `role`.
- `SystemSettings` persisted configuration for Graph, folders and import behaviour.
- `auth/`
Authentication and authorization:
- `__init__.py` login manager setup.
- `routes.py` login, logout, initial admin setup, password reset placeholder.
- `main/`
Main UI and navigation:
- `routes.py` dashboard, Inbox, Customers, Jobs, Daily Jobs, Overrides, Reports, Settings, Logging.
- `migrations.py`
In-image SQL migrations. See `docs/migrations.md` for details.
- `src/templates/`
Jinja2 templates used by the Flask application.
- `layout/base.html`
Base layout, navbar, flash messages.
- `auth/*.html`
Authentication templates (login, initial admin setup, password reset request).
- `main/*.html`
Page templates for dashboard, Inbox, Customers, Jobs, Daily Jobs, Overrides, Reports, Settings, Logging.
- `src/static/`
Static assets (CSS, JS, images). Currently minimal, can grow as the UI is developed.