想用Typecho却不想在宿主机安装LNMP/LAMP之类的环境可以试试这个项目
php:8.1.7-fpm-alpine , caddy:latest , mariadb:latest , phpmyadmin:latest .
默认已安装 pdo_mysql 和 pdo_sqlite 扩展,可使用MySQL或SQLite
├─app
│ └─php // PHP 镜像
│ Dockerfile
│ run.sh
│
├─config
│ │ Caddyfile // Caddy 配置文件
│ │
│ └─cert // 自定义证书
│ cert.pem
│ key.pem
│
├─data // Typecho 源码目录及 SQLite 数据库
│ │ typecho.db
│ │
│ └─typecho
├─logs // 日志目录
└─docker-compose.yml
从 这里 下载 Typecho 源码存放到 data/typecho (如果没有则新建一个)
修改 Caddyfile 首行的 domain.com 为自己的域名
- 默认使用预编译的
server-php,如想使用自己机器编译请自行修改docker-compose.yml第18行为
build:
context: app/php
- Typecho 数据库地址请填写
server-mariadb否则会连不上数据库 - MairaDB默认关闭外网访问,如想启用请删除
docker-compose.yml第29行的127.0.0.1:并修改第41行的server-mariadb为自己服务器的公网IP - phpMyAdmin默认公网访问端口为
8283如想更改请修改第39行的8283为想设置的端口 - 修改
docker-compose.yml第31行的PMA_PASSWD为自己想设置的 MariaDB 密码 - 如果想使用
Caddy获取的证书请删除Caddyfile里的tls /etc/caddy/cert/cert.pem /etc/caddy/cert/key.pem - 如果宿主机已安装
nginx,apache,caddy等环境,请自行修改Caddyfile,docker-compose.yml中的端口
请先按照 Docker 官方文档安装 Docker 以及 Docker-Compose:
https://docs.docker.com/engine/install/
https://docs.docker.com/compose/install/
git clone https://github.com/JohnsonRan/Typecho-Docker
cd Typecho-Docker
git clone https://github.com/typecho/typecho ./data/typecho
docker compose up -d