Установка файлообменника
Сервер на Go, база PostgreSQL, запуск через Docker Compose. Порт приложения по умолчанию: 8090.
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. Установка вручную
- Скопируйте
.env.exampleв.env. - Откройте
.envи задайте надёжныйPOSTGRES_PASSWORD(для Docker это пароль пользователя PostgreSQL). - В том же каталоге выполните:
docker compose up -d --build
При первом запуске образ приложения соберётся, поднимется PostgreSQL и сервис с файлообменником.
5. Файл .env
POSTGRES_PASSWORD— пароль БД (должен совпадать с тем, что подставляется в строку подключения в Compose).MAX_UPLOAD_MB— необязательно; лимит размера загрузки в мегабайтах (по умолчанию 100).PUBLIC_BASE_URL— если сервер за обратным прокси с другим хостом/HTTPS, можно указать публичный базовый URL для корректных ссылок в API.
6. Использование веб-интерфейса
Откройте личный кабинет (/dashboard.html): регистрация, вход, папки, загрузка с прогрессом и общие ссылки. Ответ API после загрузки — JSON с полями files и count.
Роли: пользователь (по умолчанию при регистрации), модератор и администратор. Страница админки показывает список пользователей модераторам и администраторам; назначать роли и группы может только администратор.
Группы (v0.40): у каждой группы задаются лимит места на диске (МБ), максимум папок, время ожидания и HTML-баннеры перед скачиванием по публичной ссылке, опционально начальное значение счётчика. 0 = без лимита. Новые пользователи попадают в группу default.
При первом поднятии базы создаётся учётная запись с логином admin, паролем admin и ролью администратора (служебный email: admin@fileshare.local). В продакшене сразу смените пароль.
7. После установки
- Откройте в браузере: http://localhost:8090/
- Проверка работы и версии: http://localhost:8090/health (JSON: статус и поле
version).
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=....