Como Implantar Aplicações

Um projeto Salvo, após compilação, torna-se um arquivo executável. Para implantação, basta fazer upload deste executável juntamente com seus recursos estáticos dependentes para o servidor.

Para projetos baseados em Rust, também existe uma plataforma de implantação muito simples: shuttle.rs. O Shuttle oferece suporte para projetos como o Salvo. Para detalhes, consulte a documentação oficial.

Implantação com Docker

Você também pode usar Docker para implantar aplicações Salvo. Abaixo está um exemplo básico de Dockerfile, que pode ser ajustado de acordo com os requisitos do seu projeto:

# Estágio de construção
FROM rust:slim AS build
WORKDIR /app

# Copiar primeiro os arquivos de dependência para construir as dependências (aproveitando camadas de cache)
COPY Cargo.toml Cargo.lock ./
RUN mkdir src && \
    echo 'fn main() { println!("Placeholder"); }' > src/main.rs && \
    cargo build --release

# Copiar o código-fonte real e construir a aplicação
COPY src ./src/
RUN touch src/main.rs && \
    cargo build --release

# Usar uma imagem base leve para o estágio de execução
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/*

# Criar um usuário não-root para executar a aplicação
RUN useradd -ms /bin/bash appuser
USER appuser
WORKDIR /app

# Copiar o arquivo binário do estágio de construção
COPY --from=build /app/target/release/your_app_name ./app

# Definir o comando de inicialização do contêiner
CMD ["./app"]

Instruções de Uso

  1. Salve o Dockerfile acima no diretório raiz do seu projeto.
  2. Ajuste your_app_name para o nome real do arquivo binário de acordo com seu projeto.
  3. Se sua aplicação requer arquivos estáticos (como templates, CSS, JS, etc.), você pode adicionar comandos COPY correspondentes.
  4. Se sua aplicação requer configuração de variáveis de ambiente, você pode usar a instrução ENV.
  5. Construa a imagem Docker:
    docker build -t seu-nome-de-app .
  6. Execute o contêiner:
    docker run -p 8698:8698 seu-nome-de-app

Ajuste o número da porta e outras configurações conforme as necessidades reais da sua aplicação.