mirror of
https://github.com/vimagick/dockerfiles.git
synced 2024-12-14 11:23:02 +02:00
2.1 KiB
2.1 KiB
ghost
Ghost is a free and open source blogging platform written in JavaScript.
docker-compose.yml
version: "3.8"
services:
ghost:
image: ghost:alpine
container_name: ghost
ports:
- "2368:2368"
volumes:
- ./data:/var/lib/ghost/content
environment:
- url=https://blog.easypi.duckdns.org
- database__client=sqlite3
- database__connection__filename=/var/lib/ghost/content/data/ghost.db
restart: unless-stopped
backup:
image: offen/docker-volume-backup
container_name: backup
environment:
- BACKUP_FILENAME=backup-ghost-%Y-%m-%dT%H-%M-%S.tar.gz
- BACKUP_PRUNING_PREFIX=backup-ghost-
- BACKUP_RETENTION_DAYS=30
volumes:
- ./data:/backup/ghost:ro
- ./backups:/archive
- /var/run/docker.sock:/var/run/docker.sock:ro
depends_on:
- ghost
restart: unless-stopped
Up and Running
$ docker-compose up -d
$ curl https://blog.easypi.duckdns.org/ghost/
$ docker-compose exec backup backup
Setup SSL
Read this to setup SSL.
server {
listen 80 default;
server_name _;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
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.duckdns.org') {
return 301 $scheme://blog.$host$request_uri;
}
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:2368;
}
}
Ghost Setup
Ghost allows you to inject code into the top and bottom of your theme files without editing them.
<style>
pre code, pre tt {
white-space: pre !important;
}
</style>