================================================================================ Установка файлообменника (текстовая справка) ================================================================================ Сервер на 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 ================================================================================