- Move scripts to scripts/ directory (roda.sh, prepara_db.py, etc.) - Move shell config to shell/ directory (Caddyfile, auth.py, haloy.yml) - Move basedosdados.duckdb to data/ directory - Update Dockerfile and start.sh with new file paths - Update README.md with correct script paths - Remove Python ask.py (replaced by Rust binary in ask/ask) - Add Rust source files (schema_filter.rs, sql_generator.rs, table_selector.rs) - Remove sentence-transformer dependencies from ask - Move docs and context artifacts to their directories
38 lines
1.3 KiB
Docker
38 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 data/basedosdados.duckdb shell/Caddyfile shell/auth.py start.sh ./
|
|
COPY ask/ask /app/ask
|
|
RUN chmod +x start.sh /app/ask
|
|
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["./start.sh"]
|