mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-26 19:01:39 -04:00
Map viewer has simple search. Map search databases can be downloaded from CDN, or built locally. Map searches can be built offline, but will not have enriched things like state names downloaded from Wikidata.
41 lines
1.6 KiB
Docker
41 lines
1.6 KiB
Docker
FROM python:3.11-bookworm
|
|
ENV DOCKER=true
|
|
WORKDIR /opt/wrolpi
|
|
|
|
# Update dependencies for the services install.
|
|
RUN apt-get update && apt-get install -y ffmpeg catdoc sysstat aria2 iputils-ping unrar-free unzip \
|
|
build-essential libsqlite3-dev zlib1g-dev git
|
|
|
|
# Install tippecanoe (for map search index building via tippecanoe-decode).
|
|
RUN git clone --depth 1 --branch 2.79.0 https://github.com/felt/tippecanoe.git /tmp/tippecanoe \
|
|
&& cd /tmp/tippecanoe && make -j$(nproc) && make install \
|
|
&& rm -rf /tmp/tippecanoe \
|
|
&& tippecanoe-decode --help 2>&1 | head -1
|
|
RUN ffmpeg -version
|
|
|
|
# Install Deno runtime for yt-dlp
|
|
RUN ARCH=$(uname -m) && \
|
|
if [ "$ARCH" = "aarch64" ]; then DENO_ARCH="aarch64-unknown-linux-gnu"; \
|
|
elif [ "$ARCH" = "x86_64" ]; then DENO_ARCH="x86_64-unknown-linux-gnu"; \
|
|
else echo "Unsupported architecture: $ARCH" && exit 1; fi && \
|
|
curl -fsSL "https://github.com/denoland/deno/releases/download/v2.2.4/deno-${DENO_ARCH}.zip" -o /tmp/deno.zip \
|
|
&& unzip /tmp/deno.zip -d /usr/local/bin/ \
|
|
&& chmod +x /usr/local/bin/deno \
|
|
&& rm /tmp/deno.zip \
|
|
&& deno --version
|
|
|
|
# yt-dlp needs cache directory
|
|
RUN mkdir /.cache && chown -R 1000:1000 /.cache
|
|
|
|
# Install dependencies.
|
|
COPY requirements.txt /opt/wrolpi/requirements.txt
|
|
RUN pip3 install -r /opt/wrolpi/requirements.txt
|
|
|
|
# Install WROLPi.
|
|
COPY main.py /opt/wrolpi/
|
|
COPY wrolpi /opt/wrolpi/wrolpi
|
|
COPY modules /opt/wrolpi/modules
|
|
|
|
ENTRYPOINT [ "python3", "/opt/wrolpi/main.py"]
|
|
# Log level controlled by LOG_LEVEL env var or wrolpi.yaml config (default: info)
|
|
CMD ["api", "--host", "0.0.0.0"]
|