From 63a902644c484e4912dd932239ba4a23dac62eb9 Mon Sep 17 00:00:00 2001 From: tavo Date: Sun, 10 Nov 2024 20:53:14 -0600 Subject: [PATCH] dev env --- dev/Dockerfile | 25 +++++++++++++++++++++++++ dev/build.sh | 5 +++++ dev/deploy.sh | 3 +++ dev/purge.sh | 7 +++++++ 4 files changed, 40 insertions(+) create mode 100644 dev/Dockerfile create mode 100755 dev/build.sh create mode 100755 dev/deploy.sh create mode 100755 dev/purge.sh diff --git a/dev/Dockerfile b/dev/Dockerfile new file mode 100644 index 0000000..f00427e --- /dev/null +++ b/dev/Dockerfile @@ -0,0 +1,25 @@ +FROM debian:latest + +RUN apt-get update && \ + apt-get install -y sudo exa curl ffmpeg imagemagick groff openssh-server build-essential git neovim python3 python-is-python3 python3-pip golang clang clang-format nodejs npm php-fpm r-recommended && \ + mkdir /var/run/sshd + +RUN useradd -ms /bin/bash dev +RUN echo "dev ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +ARG SSH_KEY + +RUN mkdir -p /home/dev/.ssh && \ + echo "$SSH_KEY" >> /home/dev/.ssh/authorized_keys && \ + chown -R dev:dev /home/dev/.ssh && \ + chmod 600 /home/dev/.ssh/authorized_keys + +RUN git clone https://git.tavo.one/tavo/dotfiles /home/dev/.config && \ + echo ". ~/.config/shell/env-min" >> /home/dev/.bash_profile && \ + echo ". ~/.config/shell/env-min" >> /home/dev/.bashrc && \ + echo ". ~/.config/shell/bashrc" >> /home/dev/.bash_profile && \ + echo ". ~/.config/shell/bashrc" >> /home/dev/.bashrc && \ + chown -R dev:dev /home/dev + +EXPOSE 22 +CMD ["/usr/sbin/sshd", "-D"] diff --git a/dev/build.sh b/dev/build.sh new file mode 100755 index 0000000..d003a1e --- /dev/null +++ b/dev/build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +podman rm -f dev +podman build --build-arg SSH_KEY="$(cat ~/.ssh/id_ed25519.pub)" -t debian-dev-env . +podman run -d --name dev -p 2222:22 debian-dev-env diff --git a/dev/deploy.sh b/dev/deploy.sh new file mode 100755 index 0000000..50213a1 --- /dev/null +++ b/dev/deploy.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +podman run -d --restart=always --name dev -p 2222:22 debian-dev-env diff --git a/dev/purge.sh b/dev/purge.sh new file mode 100755 index 0000000..f32da98 --- /dev/null +++ b/dev/purge.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +podman rm -f $(podman ps -a -q) +podman rmi -f $(podman images -a -q) +podman volume rm $(podman volume ls -q) +podman network prune -f +podman system prune -a -f