Total Pageviews

Friday 26 August 2016

使用docker,部署hakyll网站


我的个人网站,以论说文为主,使用 Hakyll 搭建。
依赖:
  • Digital Ocean
  • Docker
  • nginx
  • jQuery
  • MathJax
网站发布在 https://expoundite.net/

部署方法

部署一台 Linux 服务器。
安装 Docker 和 Git。
Clone 这个 repo 到本地,假设是 ~/src/hakyll-site
docker pull celadevra/blog
docker pull nginx
将 nginx.conf 的内容保存到本地,假设为 ~/src/docker-nginx/config
安装 Let's Encrypt 的客户端。生成所需域名的 SSL 证书。将证书从 /etc/letsencrypt/live/{$域名} 拷贝到 ~/src/docker-nginx/ 目录下。
第一次生成网站:
docker run -v ~/src/hakyll-site:/src celadevra/blog '/src/site build'
启动 watch 进程:
docker run -d -v ~/src/hakyll-site:/src celadevra/blog '/src/site watch' 
将 Dockerfile 下载到 ~/src/docker-nginx/Dockerfile
在 nginx 镜像的基础上构建一个新的 docker 镜像:
cd ~/src/docker-nginx
docker build -t hakyll-nginx .
启动 nginx:
docker run -d -p 80:80 -p 443:443 -v ~/src/hakyll-site/_site:/data/www hakyll-nginx
TODO: 使用 docker compose 自动化上述过程.
from https://github.com/celadevra/hakyll-site