Files
docker-stacks/stacks/ghost/docker-compose.yml
knight 32e7536fd8
Some checks failed
Deploy Stacks / deploy-prod (push) Failing after 6s
Deploy Stacks / deploy-dev (push) Has been cancelled
Add stack-type labels and public service stacks
Add com.ghost.tel/stack-type labels to all stacks:
- prod (17): Production services from core
- dev-only (11): Experimental/device-specific services
- public (8): Public-facing services (uplink.tel, sequela.tel)

New public stacks from docker-public:
- nitter-public: Nitter instance for uplink.tel
- freshrss-public: FreshRSS for uplink.tel
- rsshub-public: RSSHub for uplink.tel
- searx-public: SearXNG for uplink.tel
- wikijs-public: Wiki.js for sequela.tel
- matomo-public: Matomo analytics for sequela.tel

Also fixes:
- Remove obsolete 'version' key from compose files
- Fix snowflake to remove duplicate watchtower service
- Standardize compose file formatting

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 10:02:37 -05:00

39 lines
974 B
YAML

services:
ghost:
image: ghost:4-alpine
container_name: ghost
restart: unless-stopped
expose:
- 2368
networks:
- web
- default
environment:
database__client: mysql
database__connection__host: db
database__connection__user: root
database__connection__password: ${GHOST_DB_PASSWORD}
database__connection__database: ghost
url: https://ghost.${DOMAIN}
volumes:
- ./content:/var/lib/ghost/content
labels:
- "com.ghost.tel/stack-type=prod"
- "traefik.enable=true"
- "traefik.http.routers.ghost.entrypoints=https"
- "traefik.http.routers.ghost.rule=Host(`ghost.${DOMAIN}`)"
- "traefik.http.routers.ghost.tls.certresolver=http"
db:
image: mysql:5.7
container_name: ghost-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${GHOST_DB_PASSWORD}
volumes:
- ./mysql:/var/lib/mysql
networks:
web:
external: true