Сборка · s5w

Быстрый старт

От пустой машины до первого загруженного файла — за пять шагов. Нужен только Docker.

Попробовать

Без тома — всё исчезнет вместе с контейнером. Подходит, чтобы посмотреть.

bash
docker run -d --name s5w -p 9090:9090 -p 9091:9091 \
  -e ADMIN_LOGIN=admin -e ADMIN_PASSWORD=change-me \
  flytachi/s5w:latest

Рекомендуемый запуск

  1. Запустите контейнер с томом
    bash
    docker run -d --name s5w -p 9090:9090 -p 9091:9091 \
      -e ADMIN_LOGIN=admin -e ADMIN_PASSWORD=change-me \
      -v s5w_data:/var/lib/s5w \
      --stop-timeout 45 \
      --restart unless-stopped \
      flytachi/s5w:latest

    Том s5w_data хранит базу, файлы и ключ сессий. --stop-timeout 45 даёт базе остановиться штатно, а не восстанавливаться после SIGKILL.

  2. Войдите в панель

    Откройте http://<хост>:9091/ и войдите как admin / change-me.

  3. Создайте бакет и выпустите токен

    В панели нажмите Новый бакет, откройте его и во вкладке Токены нажмите Выпустить с уровнем «полный доступ» (FULL). Токен показывается один раз — сохраните его.

  4. Проверьте токен
    bash
    curl -H "Authorization: Bearer <токен>" http://<хост>:9090/v1/check

    В ответе — бакет, уровень доступа токена и свободное место.

  5. Загрузите файл
    bash
    curl -H "Authorization: Bearer <токен>" \
      -F file=@photo.jpg \
      http://<хост>:9090/v1/files

    В ответе — privateUrl (скачивание по токену) и publicUrl, если файл публичный.

docker compose down -v

Флаг -v удаляет тома, а с ними — базу и все файлы. Для обычной остановки он не нужен.

Другой порт снаружи

Порты внутри контейнера фиксированы: 9090 — API и раздача, 9091 — панель. Чтобы снаружи был другой порт, меняйте только публикацию:

bash
-p 8080:9090

Что дальше