От исходного кода до запуска

Привычный способ начать работу.

Эта инструкция устанавливает файловый менеджер Sprutio из актуальной копии исходного кода. Понадобятся Linux-сервер, Docker Engine, плагин Compose и права администратора.

01 / Подготовьте сервер.

Выберите операционную систему и её версию, чтобы установить Docker Engine и плагин Compose. Получите актуальный исходный код Sprutio у сопровождающего проекта и откройте его корневую директорию. Docker Desktop не предоставляет доступ к системным пользователям macOS или Windows.

Выберите операционную систему

Выберите операционную систему, затем её версию, чтобы увидеть команды установки.

Ubuntu

amd64 / arm64

Выберите версию

Ubuntu 26.10 · Stonking

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'ubuntu' ] && [ "$sprutio_os_version" = '26.10' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(dpkg --print-architecture)" in
  amd64|arm64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<DOCKER_REPOSITORY
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: stonking
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
DOCKER_REPOSITORY
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

Ubuntu 26.04 LTS · Resolute

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'ubuntu' ] && [ "$sprutio_os_version" = '26.04' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(dpkg --print-architecture)" in
  amd64|arm64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<DOCKER_REPOSITORY
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: resolute
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
DOCKER_REPOSITORY
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

Ubuntu 24.04 LTS · Noble

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'ubuntu' ] && [ "$sprutio_os_version" = '24.04' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(dpkg --print-architecture)" in
  amd64|arm64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<DOCKER_REPOSITORY
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: noble
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
DOCKER_REPOSITORY
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

Ubuntu 22.04 LTS · Jammy

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'ubuntu' ] && [ "$sprutio_os_version" = '22.04' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(dpkg --print-architecture)" in
  amd64|arm64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<DOCKER_REPOSITORY
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: jammy
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
DOCKER_REPOSITORY
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

CentOS

amd64 / arm64

Выберите версию

CentOS Stream 10

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'centos' ] && [ "${sprutio_os_version%%.*}" = '10' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(uname -m)" in
  x86_64|aarch64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

dnf install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

CentOS Stream 9

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'centos' ] && [ "${sprutio_os_version%%.*}" = '9' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(uname -m)" in
  x86_64|aarch64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

dnf install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

Debian

amd64 / arm64

Выберите версию

Debian 13 · Trixie

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'debian' ] && [ "$sprutio_os_version" = '13' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(dpkg --print-architecture)" in
  amd64|arm64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<DOCKER_REPOSITORY
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: trixie
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
DOCKER_REPOSITORY
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

Debian 12 · Bookworm

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'debian' ] && [ "$sprutio_os_version" = '12' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(dpkg --print-architecture)" in
  amd64|arm64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<DOCKER_REPOSITORY
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: bookworm
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
DOCKER_REPOSITORY
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

Raspberry Pi OS

arm64

Используйте 64-битную Raspberry Pi OS. Эти команды используют официальный репозиторий Docker для Debian arm64; инструкции для 32-битной редакции здесь не приведены.

Выберите версию

Raspberry Pi OS Trixie · arm64

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'debian' ] && [ "$sprutio_os_version" = '13' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(dpkg --print-architecture)" in
  arm64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<DOCKER_REPOSITORY
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: trixie
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
DOCKER_REPOSITORY
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

Raspberry Pi OS Bookworm · arm64

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'debian' ] && [ "$sprutio_os_version" = '12' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(dpkg --print-architecture)" in
  arm64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<DOCKER_REPOSITORY
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: bookworm
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
DOCKER_REPOSITORY
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

Fedora

amd64 / arm64

Выберите версию

Fedora 44

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'fedora' ] && [ "$sprutio_os_version" = '44' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(uname -m)" in
  x86_64|aarch64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

dnf install dnf5-plugins
dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

Fedora 43

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'fedora' ] && [ "$sprutio_os_version" = '43' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(uname -m)" in
  x86_64|aarch64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

dnf install dnf5-plugins
dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

RHEL

amd64 / arm64

Используйте зарегистрированную систему RHEL с доступом к стандартным репозиториям пакетов.

Выберите версию

RHEL 10

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'rhel' ] && [ "${sprutio_os_version%%.*}" = '10' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(uname -m)" in
  x86_64|aarch64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

dnf install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

RHEL 9

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'rhel' ] && [ "${sprutio_os_version%%.*}" = '9' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(uname -m)" in
  x86_64|aarch64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

dnf install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

RHEL 8

Выполните эти команды от имени root на сервере без установленного контейнерного движка. Они установят Docker Engine, Buildx и плагин Docker Compose, запустят Docker и проверят установленные версии.

(
set -eu
[ "$(id -u)" = 0 ] || { printf '%s\n' 'Run these commands as root.' >&2; exit 1; }
. /etc/os-release
sprutio_os_version=${VERSION_ID:-}
[ "${ID:-}" = 'rhel' ] && [ "${sprutio_os_version%%.*}" = '8' ] || {
  printf '%s\n' 'OS/version does not match the selected instructions.' >&2
  exit 1
}
case "$(uname -m)" in
  x86_64|aarch64) ;;
  *) printf '%s\n' 'Unsupported architecture for these instructions.' >&2; exit 1 ;;
esac

dnf install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl enable --now docker
docker version
docker compose version
)

Если Docker, containerd или Podman уже установлен, перед продолжением следуйте официальным инструкциям по переходу.

Официальные инструкции Docker

02 / Соберите и запустите.

Выполните команды от root из директории Sprutio, где находится compose.yaml. Приложение будет собрано из исходников и запущено сервисом app.

docker compose build
docker compose up -d

03 / Проверьте приложение.

Посмотрите состояние сервиса и последние записи журнала. Адрес по умолчанию — http://SERVER_IP:8080. До ввода пароля ограничьте доступ доверенной сетью или организуйте защищённое подключение.

docker compose ps
docker compose logs --tail=100 app

04 / Войдите под пользователем Linux.

Используйте имя и пароль учётной записи Linux-хоста. У пользователя должны быть пароль и разрешённая оболочка; заблокированные учётные записи и пустые пароли не допускаются. Вход под root даёт права root. Файлы хоста подключаются в /host, операции выполняются с правами вошедшего пользователя.

Организуйте защищённый удалённый доступ.

По умолчанию приложение работает по обычному HTTP. Паролям и сессиям нужен защищённый сетевой канал. Используйте доверенную сеть или SSH-туннель; для публичного доступа настройте и проверьте HTTPS перед приложением. HTTPS этого сайта не настраивает HTTPS вашего файлового менеджера.

Сохраняйте настройки между запусками.

Том app_data содержит настройки и сохранённые подключения пользователей. Резервируйте его вместе с конфигурацией; файлам хоста нужна отдельная резервная копия. Команды ниже останавливают и запускают сервис. Для обновления получите проверенную ревизию исходников, соберите и запустите снова. Удаляйте том данных только при намеренном сбросе.

docker compose stop
docker compose start