Docker 部署 Typecho
1. 官网
https://typecho.org/
插件 & 主题
https://github.com/typecho-fans/plugins
https://typechx.com/
https://typecho.work/
2. 通过 compose 文件安装
github官网: https://github.com/typecho/Dockerfile
新建一个目录,存放 typecho 的相关数据文件
[root@localhost]# mkdir /root/typecho && cd /root/typecho
写入compose 文件
[root@localhost typecho]# cat <<EOF > compose.yaml
services:
typecho:
image: joyqi/typecho:nightly-php8.2-apache
restart: always
ports:
- 8080:80 #端口映射,把博客默认的80端口映射到8080端口
environment:
TYPECHO_DB_HOST: typecho_db #默认值是localhost,docker部署时可以用服务名充当主机名
TYPECHO_DB_USER: MYSQL_USER #数据库用户名
TYPECHO_DB_PASSWORD: MYSQL_PASSWORD #数据库密码
TYPECHO_DB_DATABASE: MYSQL_DATABASE #所用的database
volumes:
- ./typecho_data:/app/usr # /app/usr是typecho数据文件
depends_on:
- typecho_db
networks:
- typecho_network
typecho_db:
image: mysql:latest
restart: always
volumes:
- ./db_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] # 通过 mysqladmin 工具发送一个 ping 请求检查 MySQL 容器是否响应。
interval: 3s
retries: 5
start_period: 30s
environment:
MYSQL_DATABASE: typecho
MYSQL_USER: typecho #数据库用户名
MYSQL_PASSWORD: typecho #数据库密码
MYSQL_RANDOM_ROOT_PASSWORD: 'Root@1234' # 设置MySQL root密码
networks:
- typecho_network
networks:
typecho_network:
EOF
启动容器
[root@localhost]# docker compose up -d
3. 访问 Typecho
首次访问:http://ip:8080/
管理后台:http://ip:8080/admin
4. 下载及安装插件
[root@localhost typecho]# cd typecho_data/ && rm -rf plugins/*
[root@localhost typecho_data]# dnf install git -y && git clone https://github.com/typecho-fans/plugins.git
5. 下载及安装主题
[root@localhost typecho_data]# git clone https://github.com/typecho-fans/themes.git ./themesgit && mv themesgit/* themes/ && rm -rf themesgit