aboutsummaryrefslogtreecommitdiffhomepage
path: root/Dockerfile
AgeCommit message (Collapse)Author
2024-10-30Build without the deploy feature by defaultBjørn Erik Pedersen
Build tags setup changed to: * !nodeploy => withdeploy * nodeploy => !withdeploy Also move the deploy feature out into its own release archives. See #12994 for the primary motivation for this change. But this also greatly reduces the number of dependencies in Hugo when you don't need this feature and cuts the binary size greatly. Fixes #12994
2024-10-21docker: Fix permission issues in DockerfileDavid Karlsson
Closes #12971 Closes #12970
2024-10-17docker: Fix Dart Sass ARM64 arch mismatch, /cache permissions David Karlsson
Also improve the final build step. Closes #12956 Closes #12957 Closes #12960
2024-10-13Upgrade to latest Go version + Some Docker image improvements (note)Bjørn Erik Pedersen
* Rename /site to /project * Add ldflags * Add go and node to the default image * Add Dart Sass to the default image * Build the extended version by default * Add "npm i" install support with custom entry script override * Adjust cache logic to speed up CGO rebuilds Closes #12920 See #12885
2024-10-13ci: Build multi-platform image with cross-compilationDavid Karlsson
The previous build workflow used emulation to build the Docker image, which results in a somewhat complicated push-by-digest and merge workflow to create a multi-platform image. This commit changes the Docker build to use cross-compilation instead, resulting in a faster and more straightforward build. Signed-off-by: David Karlsson <[email protected]>
2024-09-02Update DockerfileAymen Rachdi
2023-08-23dockerfile: Update Docker imagesmichalbiesek
- `golang:1.21-alpine` - `alpine:3.18`
2022-10-19Update Go and Alpine version in DockerfileSteffen Windoffer
2022-03-21Dockerfile: Make it build with Go 1.18Anthony Fok
2021-12-12Fix Dockerfilehitzhangjie
Mage uses git, so we should install git before run mage. Closes #9261
2021-02-28#8210 Upgrade golang version for DockerfileSystemkern
https://github.com/gohugoio/hugo/issues/8210 relates to: #8210
2020-10-23build: Allow optional "nodeploy" tag to exclude deploy command from binEric Hagman
Fixes #7826
2020-10-12docker: Update to Go 1.15 and Alpine 3.12Daniel Sutton
2020-02-14Add git to DockerfileJaymo Kang
Needed for GitInfo.
2019-12-30Update alpine base image in Dockerfile to 3.11Remco de Man
When building the extended version of Hugo using the Dockerfile and `--build-arg HUGO_BUILD_TAGS=extended`, the obtained Docker container is broken, because the source is build under alpine 3.11 and the compiled binary is copied to an image based on alpine 3.10. This problem was most likely introduced due to an update of the golang base image. This commit changes the base image from alpine:3.10 to alpine:3.11, fixing extended version builds.
2019-10-31Dockerfile: Switch to mage builds, various optimizationsJake Jarvis
- Use Alpine for both stages for consistency. - Switch to mage from go install as dictated in the latest docs. - Easy switch to building Hugo Extended by directly setting HUGO_BUILD_TAGS flag at image build time: `docker build --build-arg HUGO_BUILD_TAGS=extended .` - Update to Go 1.13 and Alpine 3.10. - The only possibly breaking change: Moved the `hugo` binary in the final stage from /hugo to /usr/bin/hugo so one can simply run `hugo` without having to search around for its location.
2019-05-23dockerfile: Switch base image for final buildBrian 'Redbeard' Harrington
Switching the base image for the final build to alpine as it still provides a minimal interface, but has a mechanism for easily including relevant CA certificates. This is currently pinned to a tagged version, though since none of the underlying mechanisms are used this should balance both remaining stable, supported for a period of time, and providing usable functionality. Resolves #5970 Affects #5056
2019-02-22Support Docker args TAGS, WORKDIR, CGO; speed up repetitive buildsAnthony Metzidis
2018-08-31Update Dockerfile to Go 1.11zyfdegh
Fixes #5145
2018-07-06Add Hugo Piper with SCSS support and much moreBjørn Erik Pedersen
Before this commit, you would have to use page bundles to do image processing etc. in Hugo. This commit adds * A new `/assets` top-level project or theme dir (configurable via `assetDir`) * A new template func, `resources.Get` which can be used to "get a resource" that can be further processed. This means that you can now do this in your templates (or shortcodes): ```bash {{ $sunset := (resources.Get "images/sunset.jpg").Fill "300x200" }} ``` This also adds a new `extended` build tag that enables powerful SCSS/SASS support with source maps. To compile this from source, you will also need a C compiler installed: ``` HUGO_BUILD_TAGS=extended mage install ``` Note that you can use output of the SCSS processing later in a non-SCSSS-enabled Hugo. The `SCSS` processor is a _Resource transformation step_ and it can be chained with the many others in a pipeline: ```bash {{ $css := resources.Get "styles.scss" | resources.ToCSS | resources.PostCSS | resources.Minify | resources.Fingerprint }} <link rel="stylesheet" href="{{ $styles.RelPermalink }}" integrity="{{ $styles.Data.Digest }}" media="screen"> ``` The transformation funcs above have aliases, so it can be shortened to: ```bash {{ $css := resources.Get "styles.scss" | toCSS | postCSS | minify | fingerprint }} <link rel="stylesheet" href="{{ $styles.RelPermalink }}" integrity="{{ $styles.Data.Digest }}" media="screen"> ``` A quick tip would be to avoid the fingerprinting part, and possibly also the not-superfast `postCSS` when you're doing development, as it allows Hugo to be smarter about the rebuilding. Documentation will follow, but have a look at the demo repo in https://github.com/bep/hugo-sass-test New functions to create `Resource` objects: * `resources.Get` (see above) * `resources.FromString`: Create a Resource from a string. New `Resource` transformation funcs: * `resources.ToCSS`: Compile `SCSS` or `SASS` into `CSS`. * `resources.PostCSS`: Process your CSS with PostCSS. Config file support (project or theme or passed as an option). * `resources.Minify`: Currently supports `css`, `js`, `json`, `html`, `svg`, `xml`. * `resources.Fingerprint`: Creates a fingerprinted version of the given Resource with Subresource Integrity.. * `resources.Concat`: Concatenates a list of Resource objects. Think of this as a poor man's bundler. * `resources.ExecuteAsTemplate`: Parses and executes the given Resource and data context (e.g. .Site) as a Go template. Fixes #4381 Fixes #4903 Fixes #4858
2018-06-14Update to Go 1.9.7 and Go 1.10.3Anthony Fok
for Travis CI, Docker and Snap
2018-06-14Update Dockerfile to a multi-stage buildRyan Skoblenick
- Hugo container is based on SCRATCH to further reduce the footprint and the vulnerability surface - Update Alpine image to 3.7 in the build container - Update Go Lang to 1.10 in the build container - Add .dockerignore file per the Docker best practices Closes #4154, #4155, #4157
2018-01-31Fix Docker buildRyan Skoblenick
The present Dockerfile in master does not build a Hugo container. The build container prematurely exits because `dep ensure` can not locate `Gopkg.toml` due to the source files not being copied/added to the container prior to running this command. The minimal change require to resolve the issue is merely move the ADD source before the RUN dep. Fixes #4076 Resolves #4077
2017-10-21Update Dockerfile and Snap build to reflect move to depBjørn Erik Pedersen
See #3988
2017-09-25Split go build in DockerfileThibault Jamet
To maximize the usage of cache, split the govendor get in steps: - govendor fetch to get the pinned versions of dependencies - go install to actually build the binary Doing so allows not to re-download the whole dependencies when changing lines in hugo repository The current Dockerfile generates an image of 16.6MB Signed-off-by: Thibault Jamet <[email protected]>
2017-09-25Update Dockerfile to benefit build cacheThibault Jamet
Docker has recently introduces buikld-stages (as of version 17.05) Build stages allows to benefit the docker build cache as well as reducing the size of the resulting image c.f. https://docs.docker.com/engine/userguide/eng-image/multistage-build/ This change allows to have faster builds when running `docker build` several times after changing some little code Signed-off-by: Thibault Jamet <[email protected]>
2017-07-26Dockerfile: Run go install with -ldflags '-s -w'Anthony Fok
This reduce the Docker image size from 27 MB to 20.5 MB.
2017-07-26Dockerfile: Reduce image size from 277MB to 27MBMaik Ellerbrock
"xtrem" awesome container size optimization by using alpine:3.6 as base image and by installing Go at build time. See #3730 and #3738
2017-07-23Dockerfile: Optimize Docker image sizeMaik Ellerbrock
Reduce Docker image size from 428 MB to 277 MB. See #3674
2017-06-28Dockerfile: Update Dockerfile and add Docker optimizationsMaik Ellerbrock
2017-06-13Update source path in Dockerfile due to the org transitiondigitalcraftsman
2017-05-14Dockerfile: Remove ENTRYPOINT Gilbert Gilb's
It's pointless to set `/bin/sh` as entrypoint. `/bin/sh` is already the default command, and on the top of that, setting `/bin/sh` as entrypoint ignores the command.
2017-02-23Update Docker file to Go 1.8Hauke Löffler
* new go-version, switch to alpine (reduce size by 500mb) * use govendor
2016-12-28Fix DockerfileGilbert Gilb's
2016-11-23Fix alignment of go gets in DockerfileEvan Purkhiser
2016-10-01Update Dockerfile to pull in missing test dependencyAndrew Speed
Add the missing github.com/fortytw2/leaktest dependency required for hugo_site_tests.
2016-06-08Fix urlesc import url in DockerfileCody W. Opel
2016-06-05Get Dockerfile up-to-dateBjørn Erik Pedersen
2016-04-20Update import path of fsnotifyAnthony Fok
Rename "gopkg.in/fsnotify.v1" to "github.com/fsnotify/fsnotify" per upstream recommendation. See https://github.com/fsnotify/fsnotify/issues/108 for rationale.
2016-03-10Update Dockerfile to use golang:1.6 base imageIvan Fraixedes
Hugo has been confirmed which runs on Golang 1.6, as travis uses 1.6 vesion. Dockerfile must be consistend with it so it has to use golang:1.6 as base image than golang:1.5
2016-01-04Use a Docker container to build hugoSven Dowideit
Signed-off-by: Sven Dowideit <[email protected]>