brum 1.2.1

Multi-Pane Web Environment (File Commander/Manager) - By Woofson
# Brum — Official Ultra-Minimal Container Image (Alpine Linux 3.20)
FROM alpine:3.20

LABEL org.opencontainers.image.title="Brum" \
      org.opencontainers.image.description="Multi-Pane Web Environment (File Commander/Manager) - By Woofson" \
      org.opencontainers.image.vendor="Woofsons Lab" \
      org.opencontainers.image.url="https://www.arf.ac" \
      org.opencontainers.image.source="https://github.com/woofson/brum" \
      org.opencontainers.image.licenses="MIT"

RUN apk add --no-cache \
    ca-certificates \
    curl \
    bash \
    coreutils \
    procps \
    libssl3 \
    libcrypto3 \
    libssh2 \
    sqlite-libs \
    zlib \
    bzip2 \
    tar \
    gzip \
    7zip \
    openssh-client \
    tzdata

WORKDIR /app

# Copy compiled musl release binary and master config.toml
COPY target/x86_64-unknown-linux-musl/release/brum /usr/local/bin/brum
COPY config.toml /etc/brum/config.toml

# Setup storage and runtime directories
RUN mkdir -p /data /mnt

EXPOSE 3140

ENV RUST_LOG=brum=info,tower_http=info

HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \
  CMD curl -f http://localhost:3140/api/system/status || exit 1

ENTRYPOINT ["/usr/local/bin/brum"]