src-d / blog

source{d} blog
https://blog.sourced.tech/
GNU General Public License v3.0
27 stars 41 forks source link

Dev environment in docker #254

Closed aslafy-z closed 5 years ago

aslafy-z commented 5 years ago

Summary

Needs #255 #252 Related #173

Update the dockerfile to use it as a dev env

Final runtime image size is 88 MB compressed It's available to test on the docker hub: zadki3l/src-d-blog

Try it now with:

docker run --rm -it zadki3l/src-d-blog

Other Information

This dockerfile leverage multiple stages builds:

I recommend to append -u "$(id -u):$(id -g)" to the docker run command to keep permissions clean.

Usage

# Build the dev image
docker build -t src-d/blog:dev --target dev .
# Build the runtime final image
docker build -t src-d/blog .

# Run dev image (default to `watch:test` script)
docker run --rm -it -u "$(id -u):$(id -g)" -v $PWD/src:/src-d/blog/src -v $PWD/content:/src-d/blog/content -v $PWD/data:/src-d/blog/data -v $PWD/static:/src-d/blog/static -v $PWD/themes:/src-d/blog/themes src-d/blog:dev
# Run dev image (`build` to external folder)
mkdir -p public
docker run --rm -it -u "$(id -u):$(id -g)" -v $PWD/src:/src-d/blog/src -v $PWD/content:/src-d/blog/content -v $PWD/data:/src-d/blog/data -v $PWD/static:/src-d/blog/static -v $PWD/themes:/src-d/blog/themes -v $PWD/public:/src-d/blog/public 
 src-d/blog:dev nexmo:dev make build

# Handy dev alias (run from repo folder)
alias src-d-blog-dev="mkdir -p $PWD/public; docker run --rm -it -u '$(id -u):$(id -g)' -v $PWD/src:/src-d/blog/src -v $PWD/content:/src-d/blog/content -v $PWD/data:/src-d/blog/data -v $PWD/static:/src-d/blog/static -v $PWD/themes:/src-d/blog/themes -v $PWD/public:/src-d/blog/public 
 src-d/blog:dev nexmo:dev make"
# and then:
src-d-blog-dev build
src-d-blog-dev serve
src-d-blog-dev any-make-target

# Run prod image (port 8080)
docker run -it -p 8080:80 src-d/blog
vmarkovtsev commented 5 years ago

Hi @aslafy-z, we are waiting for our blog technical maintainer, @dpordomingo, to return from the paternity leave. Once he gets back to work he will certainly review this! Stay tuned and thanks for your contribution.

dpordomingo commented 5 years ago

Many thanks, @aslafy-z for helping us to improve the development process on blog. We're currently working in a migration to ghost, so we aren't adding new features to current one. I'll keep this issue opened just in case we keep using the current blog, so we'll consider your nice suggestion.

vcoisne commented 5 years ago

Migrated to Ghost. Thanks anyways @aslafy-z