Compare commits
2 Commits
134bafdc61
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
46ce64a5e7
|
|||
|
95e2ddf103
|
34
Dockerfile
34
Dockerfile
@@ -7,7 +7,7 @@
|
|||||||
# Want to help us make this template better? Share your feedback here: https://forms.gle/ybq9Krt8jtBL3iCk7
|
# Want to help us make this template better? Share your feedback here: https://forms.gle/ybq9Krt8jtBL3iCk7
|
||||||
|
|
||||||
ARG PYTHON_VERSION=3.11.5
|
ARG PYTHON_VERSION=3.11.5
|
||||||
FROM python:${PYTHON_VERSION}-slim as base
|
FROM ubuntu:latest AS base
|
||||||
|
|
||||||
# Prevents Python from writing pyc files.
|
# Prevents Python from writing pyc files.
|
||||||
ENV PYTHONDONTWRITEBYTECODE=1
|
ENV PYTHONDONTWRITEBYTECODE=1
|
||||||
@@ -21,33 +21,21 @@ ENV TZ="America/Detroit"
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Create a non-privileged user that the app will run under.
|
# update package list
|
||||||
# See https://docs.docker.com/go/dockerfile-user-best-practices/
|
RUN apt-get update
|
||||||
ARG UID=10001
|
|
||||||
RUN adduser \
|
|
||||||
--disabled-password \
|
|
||||||
--gecos "" \
|
|
||||||
--home "/nonexistent" \
|
|
||||||
--shell "/sbin/nologin" \
|
|
||||||
--no-create-home \
|
|
||||||
--uid "${UID}" \
|
|
||||||
appuser
|
|
||||||
|
|
||||||
# Download dependencies as a separate step to take advantage of Docker's caching.
|
# install python, pipx
|
||||||
# Leverage a cache mount to /root/.cache/pip to speed up subsequent builds.
|
RUN apt-get install -y wget python3 pipx
|
||||||
# Leverage a bind mount to requirements.txt to avoid having to copy them into
|
|
||||||
# into this layer.
|
|
||||||
RUN --mount=type=cache,target=/root/.cache/pip \
|
|
||||||
--mount=type=bind,source=requirements.txt,target=requirements.txt \
|
|
||||||
python -m pip install -r requirements.txt
|
|
||||||
|
|
||||||
# Switch to the non-privileged user to run the application.
|
|
||||||
USER appuser
|
|
||||||
|
|
||||||
# Copy the source code into the container.
|
# Copy the source code into the container.
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
# install poetry via pipx
|
||||||
|
RUN pipx install poetry && pipx ensurepath
|
||||||
|
RUN ~/.local/bin/poetry install
|
||||||
|
|
||||||
|
|
||||||
# Expose the port that the application listens on.
|
# Expose the port that the application listens on.
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|
||||||
CMD ["python3", "src/bot_core.py", "database.ini", "discord.token", "1128111628471255050", "1441504341797371996"]
|
CMD ~/.local/bin/poetry run python src/bot_core.py database.ini discord.token 1128111628471255050 1441504341797371996
|
||||||
|
|||||||
1085
poetry.lock
generated
Normal file
1085
poetry.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,8 @@ requires-python = ">=3.11"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"discord-py (==2.4.0)",
|
"discord-py (==2.4.0)",
|
||||||
"pylint (>=4.0.4,<5.0.0)",
|
"pylint (>=4.0.4,<5.0.0)",
|
||||||
"pytest (>=9.0.2,<10.0.0)"
|
"pytest (>=9.0.2,<10.0.0)",
|
||||||
|
"psycopg2-binary"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user