commit cca9e0d76ad539e0cb6109cbaece95ceed861c3e Author: Gabriella Agathon Date: Thu Feb 19 20:06:59 2026 -0700 Initial files diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..f03acc4 --- /dev/null +++ b/dockerfile @@ -0,0 +1,60 @@ +# syntax=docker/dockerfile:1 + +# Comments are provided throughout this file to help you get started. +# If you need more help, visit the Dockerfile reference guide at +# https://docs.docker.com/go/dockerfile-reference/ + +# Want to help us make this template better? Share your feedback here: https://forms.gle/ybq9Krt8jtBL3iCk7 + +ARG PYTHON_VERSION=3.11.5 +FROM ubuntu:latest AS base + +# Prevents Python from writing pyc files. +ENV PYTHONDONTWRITEBYTECODE=1 + +# Keeps Python from buffering stdout and stderr to avoid situations where +# the application crashes without emitting any logs due to buffering. +ENV PYTHONUNBUFFERED=1 + +# Set timezone in the container +ENV TZ="America/Detroit" + +WORKDIR /app + +# Create a non-privileged user that the app will run under. +# See https://docs.docker.com/go/dockerfile-user-best-practices/ +ARG UID=10001 +RUN adduser \ + --disabled-password \ + --gecos "" \ + --home "/nonexistent" \ + --shell "/sbin/nologin" \ + --no-create-home \ + --uid "${UID}" \ + appuser + +# TODO install python, pipx + +# TODO install conda + +# TODO install poetry via pipx + +# Download dependencies as a separate step to take advantage of Docker's caching. +# Leverage a cache mount to /root/.cache/pip to speed up subsequent builds. +# 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 . . + +# Expose the port that the application listens on. +EXPOSE 8000 + +# TODO update this command statement +CMD ["python3", "src/bot_core.py", "database.ini", "discord.token", "1128111628471255050", "1441504341797371996"] diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..b220fde --- /dev/null +++ b/readme.md @@ -0,0 +1,4 @@ +# contrastellar-bot-runtime +This is the basic docker image for me to use for my discord bots. + +Enjoy?