📝
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
FROM debian:12
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
git \
|
||||
vim \
|
||||
wget \
|
||||
unzip \
|
||||
make \
|
||||
gcc \
|
||||
build-essential \
|
||||
openssh-server
|
||||
|
||||
RUN rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV GO_VERSION=1.21.3
|
||||
RUN curl -OL https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz
|
||||
RUN tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
|
||||
RUN rm go${GO_VERSION}.linux-amd64.tar.gz
|
||||
|
||||
ENV PATH=$PATH:/usr/local/go/bin
|
||||
ENV GOPATH=/go
|
||||
ENV PATH=$PATH:$GOPATH/bin
|
||||
|
||||
WORKDIR /workspace
|
||||
|
||||
RUN go install github.com/go-delve/delve/cmd/dlv@latest
|
||||
RUN go install golang.org/x/tools/gopls@latest
|
||||
RUN go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||||
RUN go install github.com/goreleaser/goreleaser/v2@latest
|
||||
|
||||
RUN mkdir /var/run/sshd
|
||||
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
|
||||
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
|
||||
|
||||
EXPOSE 22
|
||||
|
||||
COPY start.sh /start.sh
|
||||
RUN chmod +x /start.sh
|
||||
|
||||
ENTRYPOINT ["/start.sh"]
|
||||
CMD ["bash"]
|
||||
@@ -0,0 +1,12 @@
|
||||
services:
|
||||
dev-env:
|
||||
image: nite07/dev-env:latest
|
||||
volumes:
|
||||
- ./workspace:/workspace
|
||||
restart: unless-stopped
|
||||
tty: true
|
||||
stdin_open: true
|
||||
ports:
|
||||
- 2222:22
|
||||
environment:
|
||||
- SSH_PASSWORD=changeme
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$SSH_PASSWORD" ]; then
|
||||
echo "Error: SSH_PASSWORD is not set. Please provide a password."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "root:$SSH_PASSWORD" | chpasswd
|
||||
echo "SSH password for root is set to: $SSH_PASSWORD"
|
||||
|
||||
service ssh start
|
||||
|
||||
exec "$@"
|
||||
Reference in New Issue
Block a user