mirror of
https://github.com/vimagick/dockerfiles.git
synced 2024-11-28 09:08:50 +02:00
update ghost
This commit is contained in:
parent
5771e5c1c7
commit
d07fcd4bbd
@ -12,25 +12,25 @@ ghost:
|
||||
- "127.0.0.1:2368:2368"
|
||||
volumes:
|
||||
- ./data:/var/lib/ghost/content
|
||||
- ./data/config.json:/var/lib/ghost/config.production.json
|
||||
restart: always
|
||||
environment:
|
||||
- url=https://blog.easypi.duckdns.org
|
||||
- database__client=sqlite3
|
||||
- database__connection__filename=/var/lib/ghost/content/data/ghost.db
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
## Up and Running
|
||||
|
||||
```bash
|
||||
$ mkdir data
|
||||
$ cd data
|
||||
$ wget https://github.com/vimagick/dockerfiles/raw/master/ghost/data/config.json
|
||||
$ sed -i 's@http://localhost:2368@https://blog.easypi.pro@' config.js
|
||||
$ docker-compose up -d
|
||||
$ curl https://blog.easypi.duckdns.org/ghost/
|
||||
```
|
||||
|
||||
## Setup SSL
|
||||
|
||||
> Read [this][2] to setup SSL.
|
||||
|
||||
```
|
||||
```nginx
|
||||
server {
|
||||
listen 80 default;
|
||||
server_name _;
|
||||
@ -41,11 +41,11 @@ server {
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name easypi.pro blog.easypi.pro;
|
||||
ssl_certificate ssl/easypi.pro.crt;
|
||||
ssl_certificate_key ssl/easypi.pro.key;
|
||||
server_name easypi.duckdns.org blog.easypi.duckdns.org;
|
||||
ssl_certificate ssl/easypi.duckdns.org/fullchain.pem;
|
||||
ssl_certificate_key ssl/easypi.duckdns.org/privkey.pem;
|
||||
location / {
|
||||
if ($host = 'easypi.pro') {
|
||||
if ($host = 'easypi.duckdns.org') {
|
||||
return 301 $scheme://blog.$host$request_uri;
|
||||
}
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
@ -71,4 +71,4 @@ files without editing them.
|
||||
|
||||
[1]: https://ghost.org/
|
||||
[2]: http://support.ghost.org/setup-ssl-self-hosted-ghost/
|
||||
[3]: https://blog.easypi.pro/ghost/settings/code-injection/
|
||||
[3]: https://blog.easypi.duckdns.org/ghost/settings/code-injection/
|
||||
|
@ -1,38 +0,0 @@
|
||||
#
|
||||
# Dockerfile for ghost-arm
|
||||
#
|
||||
|
||||
FROM easypi/alpine-arm
|
||||
MAINTAINER EasyPi Software Foundation
|
||||
|
||||
ENV GHOST_VERSION 2.15.0
|
||||
ENV GHOST_INSTALL /var/lib/ghost
|
||||
ENV GHOST_CONTENT /var/lib/ghost/content
|
||||
ENV GHOST_CLI_VERSION 1.9.9
|
||||
ENV NPM_CONFIG_LOGLEVEL warn
|
||||
ENV NODE_ENV production
|
||||
|
||||
RUN set -xe \
|
||||
&& addgroup -g 1000 node \
|
||||
&& adduser -u 1000 -G node -s /bin/sh -D node \
|
||||
&& apk add --no-cache bash build-base nodejs nodejs-npm python su-exec \
|
||||
&& npm install -g --unsafe-perm ghost-cli@$GHOST_CLI_VERSION knex-migrator@latest \
|
||||
&& mkdir -p $GHOST_INSTALL \
|
||||
&& chown node:node $GHOST_INSTALL \
|
||||
&& su-exec node ghost install $GHOST_VERSION --db sqlite3 --no-prompt --no-stack --no-setup --dir $GHOST_INSTALL \
|
||||
&& cd $GHOST_INSTALL \
|
||||
&& su-exec node ghost config --ip 0.0.0.0 --port 2368 --no-prompt --db sqlite3 --url http://localhost:2368 --dbpath $GHOST_CONTENT/data/ghost.db \
|
||||
&& su-exec node ghost config paths.contentPath $GHOST_CONTENT \
|
||||
&& mv $GHOST_CONTENT $GHOST_INSTALL/content.orig \
|
||||
&& mkdir -p $GHOST_CONTENT \
|
||||
&& chown node:node $GHOST_CONTENT \
|
||||
&& apk del build-base python
|
||||
|
||||
WORKDIR $GHOST_INSTALL
|
||||
VOLUME $GHOST_CONTENT
|
||||
|
||||
COPY docker-entrypoint.sh /usr/local/bin
|
||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||
|
||||
EXPOSE 2368
|
||||
CMD ["node", "current/index.js"]
|
@ -1,7 +1,11 @@
|
||||
ghost:
|
||||
image: easypi/ghost-arm
|
||||
image: arm32v7/ghost:alpine
|
||||
ports:
|
||||
- "127.0.0.1:2368:2368"
|
||||
volumes:
|
||||
- ./data:/var/lib/ghost/content
|
||||
restart: always
|
||||
environment:
|
||||
- url=https://blog.easypi.duckdns.org
|
||||
- database__client=sqlite3
|
||||
- database__connection__filename=/var/lib/ghost/content/data/ghost.db
|
||||
restart: unless-stopped
|
||||
|
@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# allow the container to be started with `--user`
|
||||
if [[ "$*" == node*current/index.js* ]] && [ "$(id -u)" = '0' ]; then
|
||||
chown -R node "$GHOST_CONTENT"
|
||||
exec su-exec node "$BASH_SOURCE" "$@"
|
||||
fi
|
||||
|
||||
if [[ "$*" == node*current/index.js* ]]; then
|
||||
baseDir="$GHOST_INSTALL/content.orig"
|
||||
for src in "$baseDir"/*/ "$baseDir"/themes/*; do
|
||||
src="${src%/}"
|
||||
target="$GHOST_CONTENT/${src#$baseDir/}"
|
||||
mkdir -p "$(dirname "$target")"
|
||||
if [ ! -e "$target" ]; then
|
||||
tar -cC "$(dirname "$src")" "$(basename "$src")" | tar -xC "$(dirname "$target")"
|
||||
fi
|
||||
done
|
||||
|
||||
knex-migrator-migrate --init --mgpath "$GHOST_INSTALL/current"
|
||||
fi
|
||||
|
||||
exec "$@"
|
@ -1,26 +0,0 @@
|
||||
{
|
||||
"url": "http://localhost:2368/",
|
||||
"server": {
|
||||
"port": 2368,
|
||||
"host": "0.0.0.0"
|
||||
},
|
||||
"database": {
|
||||
"client": "sqlite3",
|
||||
"connection": {
|
||||
"filename": "/var/lib/ghost/content/data/ghost.db"
|
||||
}
|
||||
},
|
||||
"mail": {
|
||||
"transport": "Direct"
|
||||
},
|
||||
"logging": {
|
||||
"transports": [
|
||||
"file",
|
||||
"stdout"
|
||||
]
|
||||
},
|
||||
"process": "systemd",
|
||||
"paths": {
|
||||
"contentPath": "/var/lib/ghost/content"
|
||||
}
|
||||
}
|
@ -4,5 +4,8 @@ ghost:
|
||||
- "127.0.0.1:2368:2368"
|
||||
volumes:
|
||||
- ./data:/var/lib/ghost/content
|
||||
- ./data/config.json:/var/lib/ghost/config.production.json
|
||||
restart: always
|
||||
environment:
|
||||
- url=https://blog.easypi.duckdns.org
|
||||
- database__client=sqlite3
|
||||
- database__connection__filename=/var/lib/ghost/content/data/ghost.db
|
||||
restart: unless-stopped
|
||||
|
Loading…
Reference in New Issue
Block a user