Загрузить файлы в «/»
This commit is contained in:
@@ -0,0 +1,100 @@
|
|||||||
|
================================================================================
|
||||||
|
Установка файлообменника (текстовая справка)
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
Сервер на 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
|
||||||
|
|
||||||
|
================================================================================
|
||||||
Reference in New Issue
Block a user