Как развернуть приложение
После компиляции проекта Salvo получается исполняемый файл. Для развертывания достаточно загрузить этот файл вместе с необходимыми статическими ресурсами на сервер.
Для проектов на Rust существует очень простая платформа развертывания: shuttle.rs. Shuttle поддерживает проекты типа Salvo, подробности можно найти в официальной документации.
Развертывание с Docker
Вы также можете использовать Docker для развертывания приложений Salvo. Ниже приведен базовый пример Dockerfile
, который можно адаптировать под требования вашего проекта:
# Этап сборки
FROM rust:slim AS build
WORKDIR /app
# Копируем файлы зависимостей для предварительной сборки (используем кэширование слоев)
COPY Cargo.toml Cargo.lock ./
RUN mkdir src && \
echo 'fn main() { println!("Placeholder"); }' > src/main.rs && \
cargo build --release
# Копируем исходный код и собираем приложение
COPY src ./src/
RUN touch src/main.rs && \
cargo build --release
# Этап запуска используем облегченный базовый образ
FROM debian:bookworm-slim
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Создаем непривилегированного пользователя для запуска приложения
RUN useradd -ms /bin/bash appuser
USER appuser
WORKDIR /app
# Копируем исполняемый файл из этапа сборки
COPY --from=build /app/target/release/your_app_name ./app
# Устанавливаем команду запуска контейнера
CMD ["./app"]
Инструкция по использованию
- Сохраните приведенный выше
Dockerfile
в корневой директории вашего проекта
- Замените
your_app_name
на фактическое имя вашего исполняемого файла
- Если ваше приложение требует статические файлы (например, шаблоны, CSS, JS), добавьте соответствующие команды
COPY
- Если приложению нужны переменные окружения, используйте инструкцию
ENV
- Соберите Docker-образ:
docker build -t your-app-name .
- Запустите контейнер:
docker run -p 5800:5800 your-app-name
Настройте номер порта и другие параметры в соответствии с требованиями вашего приложения.