2026-04-18 21:16:17 -05:00
|
|
|
# 1. A: Define a base image
|
|
|
|
|
# FROM scratch
|
|
|
|
|
# FROM busybox
|
|
|
|
|
# FROM alpine:3.22.1
|
|
|
|
|
# FROM alpine:latest
|
|
|
|
|
# FROM python:3.12
|
|
|
|
|
# FROM debian:bookworm-slim
|
|
|
|
|
FROM nginx
|
|
|
|
|
|
|
|
|
|
# 1. B: Set ENV Variables
|
|
|
|
|
ENV TERM=xterm-256color
|
|
|
|
|
|
2026-04-24 17:18:04 -05:00
|
|
|
# 2. Setup home user
|
2026-04-18 21:16:17 -05:00
|
|
|
RUN groupadd -g 1000 abaddon
|
|
|
|
|
RUN useradd -u 1000 -g 1000 -r -s /bin/false abaddon
|
2026-04-24 17:18:04 -05:00
|
|
|
COPY env/* /home/abaddon/
|
2026-04-18 21:16:17 -05:00
|
|
|
RUN mkdir -p /home/abaddon/Code
|
|
|
|
|
RUN mkdir -p /home/abaddon/Downloads
|
|
|
|
|
RUN mkdir -p /home/abaddon/LazyShare
|
|
|
|
|
RUN mkdir -p /home/abaddon/.local
|
|
|
|
|
RUN mkdir -p /home/abaddon/.config
|
|
|
|
|
RUN mkdir -p /home/abaddon/.cache
|
|
|
|
|
RUN mkdir -p /home/abaddon/.thumbnails
|
2026-04-24 17:18:04 -05:00
|
|
|
RUN chown abaddon:abaddon -R /home/abaddon
|
2026-04-18 21:16:17 -05:00
|
|
|
|
|
|
|
|
# 3. A: Install dependencies
|
|
|
|
|
RUN apt-get update
|
|
|
|
|
RUN apt-get install -y \
|
|
|
|
|
--no-install-recommends \
|
|
|
|
|
--no-install-suggests \
|
|
|
|
|
pkg-config \
|
|
|
|
|
ca-certificates \
|
|
|
|
|
libreadline-dev \
|
|
|
|
|
liblzma-dev \
|
|
|
|
|
libsqlite3-dev \
|
|
|
|
|
libncurses5-dev \
|
|
|
|
|
libncursesw5-dev \
|
|
|
|
|
libgirepository1.0-dev \
|
|
|
|
|
libssl-dev libcairo2-dev \
|
|
|
|
|
libgdk-pixbuf-xlib-2.0-0 \
|
|
|
|
|
python3-gi gir1.2-gtk-3.0 \
|
|
|
|
|
gir1.2-gdkpixbuf-2.0 \
|
|
|
|
|
bash-completion \
|
|
|
|
|
parallel \
|
|
|
|
|
bat \
|
|
|
|
|
7zip \
|
|
|
|
|
zip \
|
2026-04-24 17:18:04 -05:00
|
|
|
unzip \
|
2026-04-18 21:16:17 -05:00
|
|
|
tar \
|
|
|
|
|
curl \
|
|
|
|
|
wget \
|
|
|
|
|
fzf \
|
|
|
|
|
less \
|
|
|
|
|
tree \
|
|
|
|
|
ripgrep \
|
|
|
|
|
htop \
|
|
|
|
|
nano \
|
|
|
|
|
git \
|
|
|
|
|
ranger
|
|
|
|
|
|
|
|
|
|
# 4. Copy files over
|
|
|
|
|
|
|
|
|
|
# 5. Cleanup
|
|
|
|
|
RUN apt-get autoremove --purge
|
|
|
|
|
RUN apt-get autoclean
|
|
|
|
|
|
|
|
|
|
RUN rm -rf /tmp/*
|
|
|
|
|
|
|
|
|
|
# 6. Expose Port and define the command used to run the app
|
|
|
|
|
EXPOSE 80
|
|
|
|
|
EXPOSE 443
|
|
|
|
|
CMD ["bash"]
|