aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Hoerr <kjhoerr@submelon.dev>2026-02-24 19:37:33 +0000
committerKevin Hoerr <kjhoerr@submelon.dev>2026-02-24 19:37:33 +0000
commit983458a1e0f798ac50b943a9637d8734e1d48995 (patch)
tree6029677283a3106176b85459932cb08f7847497a
parentc41d9036ed444c06f01bf80ed1fbcb06bbc1a42a (diff)
downloadequity-tracker-983458a1e0f798ac50b943a9637d8734e1d48995.tar.gz
equity-tracker-983458a1e0f798ac50b943a9637d8734e1d48995.tar.bz2
equity-tracker-983458a1e0f798ac50b943a9637d8734e1d48995.zip
Dockerfile.dev: Add Dockerfile image for devtools
Adds a Dockerfile for devtools and FHS environment. Based on Microsoft's rust v2 devcontainer image using Debian Trixie
-rw-r--r--Dockerfile.dev32
1 files changed, 32 insertions, 0 deletions
diff --git a/Dockerfile.dev b/Dockerfile.dev
new file mode 100644
index 0000000..9032790
--- /dev/null
+++ b/Dockerfile.dev
@@ -0,0 +1,32 @@
+FROM mcr.microsoft.com/devcontainers/rust:2-trixie
+
+## Tooling and configuration
+ARG PKGS_TOOLS="sqlite3 sqlite3-tools"
+RUN apt-get update \
+ && apt-get upgrade -y \
+ && apt-get install -y hx starship sudo ${PKGS_TOOLS}
+
+## Code area configuration
+ARG WORKING_DIR="/code"
+RUN mkdir -p ${WORKING_DIR}
+
+## Container user - will override 'vscode', 'users' defaults
+ARG USER=sparrow
+ARG USER_UID=1000
+ARG USER_GID=1000
+ARG USERS_GID=998
+RUN groupmod -n ${USER} "$(grep ${USER_GID} /etc/group | cut -d: -f1)" \
+ && groupmod --gid ${USERS_GID} users \
+ && usermod -l ${USER} -m -d /home/${USER} -Gusers "$(grep ${USER_UID} /etc/passwd | cut -d: -f1)" \
+ && chown -R ${USER_UID}:${USER_GID} /home/${USER} \
+ && echo "${USER} ALL=\(root\) NOPASSWD:ALL" > /etc/sudoers.d/${USER} \
+ && chmod 0440 /etc/sudoers.d/${USER}
+RUN echo 'eval "$(starship init zsh)"' >> /home/${USER}/.zshrc \
+ && chown ${USER}:${USER} ${WORKING_DIR}
+
+USER ${USER}
+
+RUN mkdir ~/.gnupg \
+ && chmod 0700 ~/.gnupg
+
+WORKDIR ${WORKING_DIR}