Skip to content

php-fpm + caddy 示例配置 #61

Description

@BeiyanYunyi

Typecho 部分

compose.yaml(用于启动 typecho 的 php-fpm):

这个文件放在 /containers/Typecho 下:

services:
  typecho:
    image: joyqi/typecho:nightly-php8.2-fpm-alpine
    container_name: typecho-server
    restart: always
    environment:
      - TYPECHO_SITE_URL=https://example.com
      - TIMEZONE=Asia/Shanghai
      - TYPECHO_DB_ADAPTER=Pdo_SQLite
      - TYPECHO_DB_FILE=/db/data.db
    ports:
      - 127.0.0.1:5603:9000
    volumes:
      - ./data:/app
      - ./db:/db

Caddy 部分

compose.yaml(用于启动 Caddy,注意这里直接让 Caddy 用了宿主机的网络):

services:
  caddy:
    container_name: caddy
    image: caddy:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./certs:/etc/caddy/certs
      - caddy_data:/data
      - caddy_config:/config
      - /containers/Typecho/data:/www/Typecho #注意这个地方指向 Typecho 的 data 目录
    network_mode: host

volumes:
  caddy_data:
  caddy_config:

Caddyfile:

https://example.com {
	tls /etc/caddy/certs/fullchain.pem /etc/caddy/certs/privkey.pem
	root * /www/Typecho
	php_fastcgi :5603 {
		root /app # 这一段很重要
	}
	file_server
	encode zstd gzip
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions