From d9c27021aa05ae23d784b2971402419979169b77 Mon Sep 17 00:00:00 2001
From: Toastie <toastie@toastiet0ast.com>
Date: Tue, 11 Feb 2025 12:27:12 +1300
Subject: [PATCH] Started cleanup of docker related files

---
 Dockerfile           | 28 ++++++++++------------------
 docker-entrypoint.sh |  8 --------
 2 files changed, 10 insertions(+), 26 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 171bcbd..eb546e8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -19,29 +19,21 @@ COPY . .
 WORKDIR /source/src/EllieBot
 
 # Build and publish the EllieBot project, then clean up unnecessary files
-RUN set -xe; \
-    dotnet --version; \
-    dotnet restore; \
-    dotnet publish -c Release -o /app --no-restore; \
+RUN dotnet restore
+RUN dotnet publish -c Release -o /app --self-contained -r linux-x64 --no-restore; \
     mv /app/data /app/data_init; \
-    rm -Rf libopus* libsodium* opus.* runtimes/win* runtimes/osx* runtimes/linux-arm* runtimes/linux-mips*; \
-    find /app -type f -exec chmod -x {} \; ;\
-    chmod +x /app/EllieBot 
+    chmod +x /app/EllieBot
 
 # Use the .NET 8.0 runtime as the base image for the final stage
-FROM mcr.microsoft.com/dotnet/runtime:8.0
+FROM debian:12.9-slim
 WORKDIR /app
 
 # Create a new user, install dependencies, and set up sudoers file
-RUN set -xe; \
-    useradd -m ellie; \
-    apt-get update; \
-    apt-get install -y --no-install-recommends libopus0 libsodium23 libsqlite3-0 curl ffmpeg python3 sudo; \
-    echo 'Defaults>ellie env_keep+="ASPNETCORE_* DOTNET_* EllieBot_* shard_id total_shards TZ"' > /etc/sudoers.d/ellie; \
+RUN apt update; \
+    apt install -y curl ffmpeg python3; \
     curl -Lo /usr/local/bin/yt-dlp https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp; \
     chmod a+rx /usr/local/bin/yt-dlp; \
-    apt-get autoremove -y; \
-    apt-get autoclean -y
+    apt autoremove -y;
 
 # Copy the built application and the entrypoint script from the build stage
 COPY --from=build /app ./
@@ -50,11 +42,11 @@ COPY docker-entrypoint.sh /usr/local/sbin
 # Set environment variables
 ENV shard_id=0
 ENV total_shards=1
-ENV EllieBot__creds=/app/data/creds.yml
 
 # Define the data directory as a volume
-VOLUME [" /app/data "]
+VOLUME [ "/app/data" ]
 
 # Set the entrypoint and default command
 ENTRYPOINT [ "/usr/local/sbin/docker-entrypoint.sh" ]
-CMD dotnet EllieBot.dll "$shard_id" "$total_shards"
+CMD yt-dlp -U &2>/dev/null
+CMD dotnet EllieBot.dll "$shard_id" "$total_shards"
\ No newline at end of file
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
index 3f3fbd3..698b04f 100644
--- a/docker-entrypoint.sh
+++ b/docker-entrypoint.sh
@@ -13,14 +13,6 @@ do
     fi
 done
 
-# creds.yml migration
-if [ -f /app/creds.yml ]; then
-    echo "Default location for creds.yml is now /app/data/creds.yml."
-    echo "Please move your creds.yml and update your docker-compose.yml accordingly."
-
-    export Ellie_creds=/app/creds.yml
-fi
-
 # ensure ellie can write on /app/data
 chown -R ellie:ellie "$data"