Installation

Requirements

  • Python 3.6 or later — MiniMost uses only standard-library modules plus Flask. No C extensions are required.

  • Flask — the only runtime dependency. It is installed automatically when you install MiniMost with pip.

  • SQLite — bundled with Python; no separate installation needed.

Optional (for production):

  • Gunicorn — recommended WSGI server for multi-user deployments.

  • Nginx (or similar) — reverse proxy for TLS termination and static file serving.

From a Wheel (Air-gapped Environments)

If the server has no internet access, download the Flask wheel and its dependencies on a connected machine:

pip download flask -d ./wheels

Transfer the wheels/ directory to the server, then install:

pip install --no-index --find-links=./wheels flask
pip install --no-index minimost-0.1.0-py3-none-any.whl

Running for the First Time

After installation, start the server:

minimost

Or without installing:

python3 -m minimost

The server starts at http://127.0.0.1:5000.

On the first request, MiniMost automatically creates:

  • secret.key — a 64-character hex secret used for session signing.

  • auth.db — the authentication database.

  • presence.db — the shared real-time state database.

  • users/ — directory for per-user message databases.

  • uploads/ — directory for image attachments.

Open http://127.0.0.1:5000 in a browser, click Sign up, and create the first account.

Verifying the Installation

After starting the server you should see Flask’s startup banner:

* Running on http://127.0.0.1:5000

Navigate to that URL. You should be redirected to the login page. If you see a Python traceback instead, check:

  1. Python version: python3 --version (must be 3.6+).

  2. Flask is installed: python3 -c "import flask; print(flask.__version__)"

  3. The current directory has write permissions (needed for database creation).

Development Dependencies

To run the code formatter:

pip install -e ".[dev]"
black src/

The dev extra installs Black, which is also enforced as a pre-commit hook:

pip install pre-commit
pre-commit install

Sphinx Documentation Dependencies

To build this documentation locally:

pip install sphinx sphinx-rtd-theme
cd docs
make html

The generated HTML will be in docs/_build/html/.

Upgrading

Pull the latest changes and reinstall:

git pull
pip install -e .

Because MiniMost uses CREATE TABLE IF NOT EXISTS for all schema definitions, database migrations are handled automatically — no migration scripts are needed for minor updates.