70 lines
2.2 KiB
Markdown
70 lines
2.2 KiB
Markdown
# 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.
|