This repository has been archived by the owner on Nov 30, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #389 from AarynSmith/master
Create container configuration for Hugo
- Loading branch information
Showing
4 changed files
with
126 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
FROM golang:1.13-alpine | ||
|
||
# VARIANT can be either 'hugo' for the standard version or 'hugo_extended' for the extended version. | ||
ARG VARIANT=hugo_extended | ||
# VERSION can be either 'latest' or a specific version number | ||
ARG VERSION=latest | ||
|
||
RUN apk add --update --no-cache ca-certificates openssl git curl && \ | ||
case ${VERSION} in \ | ||
latest) \ | ||
export VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') ;;\ | ||
esac && \ | ||
echo ${VERSION} && \ | ||
wget -O ${VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${VARIANT}_${VERSION}_Linux-64bit.tar.gz && \ | ||
tar xf ${VERSION}.tar.gz && \ | ||
mv hugo* /usr/bin/hugo && \ | ||
go get github.com/yaegashi/muslstack && \ | ||
muslstack -s 0x800000 /usr/bin/hugo | ||
|
||
FROM mcr.microsoft.com/vscode/devcontainers/base:alpine | ||
COPY --from=0 /usr/bin/hugo /usr/bin | ||
EXPOSE 1313 | ||
WORKDIR /src | ||
CMD ["/usr/bin/hugo server"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
{ | ||
"name": "Hugo", | ||
"build": { | ||
"dockerfile": "Dockerfile", | ||
"args": { | ||
// Update VARIANT to pick hugo variant. | ||
// Example variants: hugo, hugo_extended | ||
// Rebuild the container if it already exists to update. | ||
"VARIANT": "hugo", | ||
// Update VERSION to pick a specific hugo version. | ||
// Example versions: latest, 0.73.0, 0,71.1 | ||
// Rebuild the container if it already exists to update. | ||
"VERSION": "latest", | ||
} | ||
}, | ||
// Set *default* container specific settings.json values on container create. | ||
"settings": { | ||
"terminal.integrated.shell.linux": "/bin/zsh" | ||
}, | ||
// Add the IDs of extensions you want installed when the container is created. | ||
"extensions": [ | ||
"bungcip.better-toml", | ||
"davidanson.vscode-markdownlint" | ||
], | ||
// Use 'forwardPorts' to make a list of ports inside the container available locally. | ||
"forwardPorts": [ | ||
1313 | ||
], | ||
// Use 'postCreateCommand' to run commands after the container is created. | ||
// "postCreateCommand": "uname -a", | ||
// Uncomment to use Docker from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker. | ||
// "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ], | ||
// Uncomment when using a ptrace-based debugger like C++, Go, and Rust | ||
// "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], | ||
// Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root. | ||
"remoteUser": "vscode" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
{ | ||
// See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
// for the documentation about the tasks.json format | ||
"version": "2.0.0", | ||
"tasks": [ | ||
{ | ||
"label": "Serve Drafts", | ||
"type": "shell", | ||
"command": "hugo server -D", | ||
"group": { | ||
"kind": "test", | ||
"isDefault": true | ||
}, | ||
"isBackground": true, | ||
}, | ||
{ | ||
"label": "Build", | ||
"type": "shell", | ||
"command": "hugo", | ||
"group": { | ||
"kind": "build", | ||
"isDefault": true | ||
}, | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Hugo | ||
|
||
## Summary | ||
|
||
*Develop static sites with Hugo, includes everything you need to get up and running.* | ||
|
||
| Metadata | Value | | ||
| --------------------------- | -------------------------------------------- | | ||
| *Contributors* | [Aaryn Smith](https://gitlab.com/aarynsmith) | | ||
| *Definition type* | Dockerfile | | ||
| *Works in Codespaces* | No | | ||
| *Container host OS support* | Linux, macOS, Windows | | ||
| *Languages, platforms* | Hugo | | ||
|
||
## Using this definition with an existing folder | ||
|
||
Just follow these steps: | ||
|
||
1. If this is your first time using a development container, please follow the [getting started steps](https://aka.ms/vscode-remote/containers/getting-started) to set up your machine. | ||
|
||
2. To use VS Code's copy of this definition: | ||
1. Start VS Code and open your project folder. | ||
2. Press <kbd>F1</kbd> select and **Remote-Containers: Add Development Container Configuration Files...** from the command palette. | ||
3. Select the Hugo definition. | ||
|
||
3. To use latest-and-greatest copy of this definition from the repository: | ||
1. Clone this repository. | ||
2. Copy the contents of this folder in the cloned repository to the root of your project folder. | ||
3. Start VS Code and open your project folder. | ||
|
||
4. After following step 2 or 3, the contents of the `.devcontainer` folder in your project can be adapted to meet your needs. | ||
|
||
5. Finally, press <kbd>F1</kbd> and run **Remote-Containers: Reopen Folder in Container** to start using the definition. | ||
|
||
## License | ||
|
||
Copyright (c) Microsoft Corporation. All rights reserved. | ||
|
||
Licensed under the MIT License. See [LICENSE](https://github.com/Microsoft/vscode-dev-containers/blob/master/LICENSE). |