lnbits/Dockerfile

46 lines
1.0 KiB
Docker
Raw Normal View History

2021-02-18 21:20:55 +00:00
# Build image
FROM python:3.7-slim as builder
2020-04-21 12:12:29 +00:00
2021-02-18 21:20:55 +00:00
# Setup virtualenv
ENV VIRTUAL_ENV=/opt/venv
2021-02-19 14:50:34 +00:00
RUN python -m venv $VIRTUAL_ENV
2021-02-18 21:20:55 +00:00
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
# Install build deps
RUN apt-get update
RUN apt-get install -y --no-install-recommends build-essential pkg-config libpq-dev
2021-11-12 07:02:13 +00:00
RUN python -m pip install --upgrade pip
2022-02-22 07:41:19 +00:00
RUN pip install wheel
2021-02-18 21:20:55 +00:00
# Install runtime deps
COPY requirements.txt /tmp/requirements.txt
RUN pip install -r /tmp/requirements.txt
# Install c-lightning specific deps
RUN pip install pylightning
# Install LND specific deps
2021-11-12 07:02:13 +00:00
RUN pip install lndgrpc
2021-02-18 21:20:55 +00:00
# Production image
FROM python:3.7-slim as lnbits
2021-02-19 14:49:05 +00:00
# Run as non-root
USER 1000:1000
2021-02-18 21:20:55 +00:00
# Copy over virtualenv
ENV VIRTUAL_ENV="/opt/venv"
2021-02-19 14:49:05 +00:00
COPY --from=builder --chown=1000:1000 $VIRTUAL_ENV $VIRTUAL_ENV
2021-02-18 21:20:55 +00:00
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
# Copy in app source
2020-04-21 12:12:29 +00:00
WORKDIR /app
2021-02-19 14:49:05 +00:00
COPY --chown=1000:1000 lnbits /app/lnbits
2020-04-21 12:12:29 +00:00
ENV LNBITS_PORT="5000"
ENV LNBITS_HOST="0.0.0.0"
2020-04-21 12:12:29 +00:00
EXPOSE 5000
2021-02-18 21:20:55 +00:00
CMD ["sh", "-c", "uvicorn lnbits.__main__:app --port $LNBITS_PORT --host $LNBITS_HOST"]