Установка файлообменника

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

1. Что нужно

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

6. Использование веб-интерфейса

На главной странице можно выбрать несколько файлов сразу или перетащить их в область загрузки. Ответ API после загрузки — JSON с полями files и count.

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

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

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

docker compose down

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

docker compose down -v

9. Запуск без 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=....