2 changed files with 74 additions and 0 deletions
@ -0,0 +1,49 @@ |
|||||
|
# Use AlmaLinux as the base image |
||||
|
FROM almalinux:latest |
||||
|
|
||||
|
# Update and install necessary packages |
||||
|
RUN dnf update -y && \ |
||||
|
dnf install -y \ |
||||
|
git \ |
||||
|
python3 \ |
||||
|
wget \ |
||||
|
tar \ |
||||
|
shadow-utils \ |
||||
|
sudo \ |
||||
|
&& dnf clean all |
||||
|
|
||||
|
# Set up arguments for Hugo installation |
||||
|
ARG HUGO_VERSION=latest |
||||
|
ARG HUGO_VARIANT=hugo_extended |
||||
|
|
||||
|
# Download and install Hugo |
||||
|
RUN if [ "$HUGO_VERSION" = "latest" ]; then \ |
||||
|
HUGO_VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}'); \ |
||||
|
fi && \ |
||||
|
echo "Installing Hugo version: ${HUGO_VERSION}" && \ |
||||
|
wget -O hugo.tar.gz https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/${HUGO_VARIANT}_${HUGO_VERSION}_Linux-64bit.tar.gz && \ |
||||
|
tar -xzf hugo.tar.gz && \ |
||||
|
mv hugo /usr/local/bin/hugo && \ |
||||
|
chmod +x /usr/local/bin/hugo && \ |
||||
|
rm hugo.tar.gz |
||||
|
|
||||
|
# Create a non-root user for development |
||||
|
ARG USERNAME=vscode |
||||
|
ARG USER_UID=1000 |
||||
|
ARG USER_GID=$USER_UID |
||||
|
|
||||
|
RUN groupadd --gid $USER_GID $USERNAME \ |
||||
|
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \ |
||||
|
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ |
||||
|
&& chmod 0440 /etc/sudoers.d/$USERNAME |
||||
|
|
||||
|
USER vscode |
||||
|
|
||||
|
# Expose port for Hugo server |
||||
|
EXPOSE 1313 |
||||
|
|
||||
|
# Set the working directory |
||||
|
WORKDIR /workspace |
||||
|
|
||||
|
# Set the default command to run Hugo server |
||||
|
CMD ["hugo", "server", "--bind=0.0.0.0"] |
@ -0,0 +1,25 @@ |
|||||
|
{ |
||||
|
"name": "AlmaLinux_WWW_Container", |
||||
|
"build": { |
||||
|
"dockerfile": "Dockerfile", |
||||
|
"args": { |
||||
|
"VARIANT": "hugo", |
||||
|
"VERSION": "latest" |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
"customizations": { |
||||
|
"vscode": { |
||||
|
"extensions": [ |
||||
|
"budparr.language-hugo-vscode", |
||||
|
"ms-python.python", |
||||
|
"esbenp.prettier-vscode", |
||||
|
"yzhang.markdown-all-in-one", |
||||
|
"tamasfe.even-better-toml" |
||||
|
] |
||||
|
}, |
||||
|
"terminal.integrated.shell.linux": "/bin/bash" |
||||
|
}, |
||||
|
"forwardPorts": [1313], |
||||
|
"remoteUser": "vscode" |
||||
|
} |
Loading…
Reference in new issue