Files
baseldosdados/Dockerfile

41 lines
1.3 KiB
Docker

FROM debian:12-slim
RUN apt-get update -qq && \
apt-get install -y --no-install-recommends \
curl ca-certificates unzip bsdmainutils python3 \
less ncurses-bin build-essential pkg-config libssl-dev && \
curl -fsSL \
"https://github.com/caddyserver/caddy/releases/download/v2.9.1/caddy_2.9.1_linux_amd64.tar.gz" \
| tar -xz -C /usr/local/bin caddy && \
chmod +x /usr/local/bin/caddy && \
curl -fsSL \
"https://github.com/duckdb/duckdb/releases/download/v1.5.1/duckdb_cli-linux-amd64.zip" \
-o /tmp/duckdb.zip && \
unzip /tmp/duckdb.zip -d /usr/local/bin && \
chmod +x /usr/local/bin/duckdb && \
rm /tmp/duckdb.zip && \
duckdb :memory: "INSTALL httpfs;" && \
curl -fsSL "https://github.com/tsl0922/ttyd/releases/latest/download/ttyd.x86_64" \
-o /usr/local/bin/ttyd && \
chmod +x /usr/local/bin/ttyd
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
apt-get clean && rm -rf /var/lib/apt/lists/*
ENV PATH="/root/.cargo/bin:${PATH}" \
LANG=C.UTF-8 \
LC_ALL=C.UTF-8
WORKDIR /app
COPY basedosdados.duckdb Caddyfile start.sh auth.py ./
COPY ask/ ./ask/
RUN cd ask && ~/.cargo/bin/cargo build --release && \
mv target/release/ask /app/ask && \
rm -rf target
RUN chmod +x start.sh /app/ask
EXPOSE 8080
ENTRYPOINT ["./start.sh"]