当前位置: 首页 > article >正文

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


http://www.kler.cn/a/505100.html

相关文章:

  • Stream流
  • Vue3组件设计模式:高可复用性组件开发实战
  • 基于python的网页表格数据下载--转excel
  • 数据存储与信息技术领域 - 磁带技术:企业用磁带与音乐磁带
  • 【深度学习】Pytorch:调度器与学习率衰减
  • UnityXR Interaction Toolkit 如何检测HandGestures
  • 期权懂|场内期权合约行权价格是如何设定制度的?
  • java进行pdf文件压缩
  • 03.选择排序
  • qml XmlListModel详解
  • SDK调用文心一言如何接入,文心一言API接入教程
  • 检验统计量与p值笔记
  • LabVIEW智能水肥一体灌溉控制系统
  • 查看APK的公钥,MD5信息
  • Pytest入门—allure生成报告
  • Leetcode热题100(双指针篇)
  • 网络网络层ICMP协议
  • Unity用官方第三人称Third Person模板,替换成自己的人物
  • ue5 1.平A,两段连击蒙太奇。鼠标点一下,就放2段动画。2,动画混合即融合,边跑边挥剑,3,动画通知,动画到某一帧,把控制权交给蓝图。就执行蓝图节点
  • 《AI语言模型的技术演进与未来发展趋势:从参数堆叠到智能检索》
  • Android SystemUI——StatusBar视图创建(六)
  • Redis持久化双雄
  • vue3学习日记7 - Home页面
  • 如何在Ubuntu上安装Cmake
  • leetcode hot 100 -划分字母区间
  • CDP中的Hive3之Apache Hive3特性