================================================================================
  Установка файлообменника (текстовая справка)
================================================================================

Сервер на Go, база PostgreSQL, запуск через Docker Compose.
Порт приложения по умолчанию: 8090.

Веб-версия этой инструкции: http://localhost:8090/help.html


1. Что нужно
--------------------------------------------------------------------------------

  - Docker и Docker Compose (в Docker Desktop для Windows уже есть Compose).
  - Исходники проекта (каталог с docker-compose.yml, Dockerfile и скриптами
    установки).


2. Windows (PowerShell)
--------------------------------------------------------------------------------

В каталоге проекта выполните:

  .\install.ps1

Скрипт проверит наличие Docker, при отсутствии файла .env скопирует его из
.env.example, затем выполнит сборку и запуск контейнеров.


3. Linux и macOS
--------------------------------------------------------------------------------

Сделайте скрипт исполняемым и запустите:

  chmod +x install.sh
  ./install.sh


4. Установка вручную
--------------------------------------------------------------------------------

  1) Скопируйте .env.example в .env.
  2) Откройте .env и задайте надёжный POSTGRES_PASSWORD (для Docker это пароль
     пользователя PostgreSQL).
  3) В том же каталоге выполните:

  docker compose up -d --build

При первом запуске образ приложения соберётся, поднимется PostgreSQL и сервис
с файлообменником.


5. Файл .env
--------------------------------------------------------------------------------

  POSTGRES_PASSWORD — пароль БД (должен совпадать с тем, что подставляется в
                      строку подключения в Compose).
  MAX_UPLOAD_MB     — необязательно; лимит размера загрузки в мегабайтах
                      (по умолчанию 100).
  PUBLIC_BASE_URL   — если сервер за обратным прокси с другим хостом/HTTPS,
                      можно указать публичный базовый URL для корректных
                      ссылок в API.


6. После установки
--------------------------------------------------------------------------------

  - Откройте в браузере: http://localhost:8090/
  - Проверка работы и версии: http://localhost:8090/health
    (JSON: статус и поле version).


7. Остановка и данные
--------------------------------------------------------------------------------

Остановить контейнеры:

  docker compose down

Файлы загрузок и данные PostgreSQL хранятся в именованных томах Docker
(uploads и pgdata), поэтому после down они не удаляются.

Чтобы удалить и тома (осторожно, потеряете файлы и БД):

  docker compose down -v


8. Запуск без Docker (для разработки)
--------------------------------------------------------------------------------

Нужен установленный PostgreSQL и переменная окружения DATABASE_URL, например:

  set DATABASE_URL=postgres://user:pass@localhost:5432/fileshare?sslmode=disable
  go run ./cmd/fileshare

В Linux/macOS вместо set используйте:

  export DATABASE_URL=postgres://user:pass@localhost:5432/fileshare?sslmode=disable

================================================================================
