1.安装docker-compose

作用:用来负责对Docker容器集群的快速编排

Docker Compose是一个用来定义和运行复杂应用的Docker工具。
一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。

GitHub下载最新版的docker-compose文件 

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

daocloud快速下载docker-compose文件 

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose

添加可执行权限

sudo chmod +x /usr/local/bin/docker-compose

测试安装结果

docker-compose --version

2.部署Flarum项目

新建文件夹flarum

flarum文件夹用来放项目的文件配置,随便在哪建。
进入flarum新建docker-compose.yml配置文件。

cd /www/wwwroot/flarum
touch docker-compose.yml

项目结构

#目录
/www/wwwroot/flarum
#结构
flarum
      -flarum
      -docker-compose.yml

编辑docker-compose.yml

version: "3"

services:
  flarum:
    image: mondedie/flarum:stable
    container_name: flarum
    env_file:
      - /www/wwwroot/flarum/flarum/flarum.env   # 创建一个flarum.env,注意下一步建立的文件目录
    volumes:   # 数据映射到本地,数据不会因为Docker停止而丢失
      - /www/wwwroot/flarum/flarum/assets:/flarum/app/public/assets
      - /www/wwwroot/flarum/flarum/extensions:/flarum/app/extensions
      - /www/wwwroot/flarum/flarum/storage/logs:/flarum/app/storage/logs
      - /www/wwwroot/flarum/flarum/nginx:/etc/nginx/flarum
    ports:
      - 8083:8888   # 左边的8080可以自己调整端口号,右边的8888不要改
    restart: unless-stopped
    depends_on:
      - mariadb

  mariadb:
    image: mariadb:10.5
    container_name: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_DATABASE=flarum
      - MYSQL_USER=flarum
      - MYSQL_PASSWORD=123456
    volumes:
      - /www/wwwroot/flarum/docker/mysql/db:/var/lib/mysql  # 数据映射到本地,数据不会因为Docker停止而丢失
    ports:
      - 33060:3306
    restart: unless-stopped

新建flarum.env文件

flarum/flarum文件夹用来放项目的文件环境配置
进入flarum/flarum新建flarum.env配置文件。

cd /www/wwwroot/flarum/flarum
touch flarum.env

项目结构

再次强调我的配置下,docker-compose.ymlflarum.env不是同一级

#结构
flarum
      -flarum                 
              -flarum.env
      -docker-compose.yml

编辑flarum.env文件

最下面是站点管理员的账号配置,用来登录网站后台。

# vi /var/app/flarum/flarum.env
DEBUG=false
FORUM_URL=https://flarum.ywhao.bitworkshop.cn       # 可以自行修改,这个是论坛的网站,容器成功允许后,要是不反代访问端口会报错
# 这个地址错一个字都不行,http和https也得分清楚

# Database configuration
DB_HOST=mariadb
DB_NAME=flarum
DB_USER=flarum
DB_PASS=123456                  # 可以自行修改,但是要与docker-compose上面的一致
DB_PREF=flarum_
DB_PORT=3306

# User admin flarum (environment variable for first installation)
# /!\ admin password must contain at least 8 characters /!\
FLARUM_ADMIN_USER=bithao        # 可以自行修改,但是要与docker-compose上面的一致
FLARUM_ADMIN_PASS=123456        # 可以自行修改,但是要与docker-compose上面的一致
FLARUM_ADMIN_MAIL=1308540731@qq.com
FLARUM_TITLE=Halo             # 可以自行修改,这个是论坛的标题,后面也可以修改

执行docker-compose

这个命令可以新建也可以用于更新。

docker-compose up -d 

开放端口and反向代理

不清楚反向代理的同学可以看我往期的文章有介绍,代理之后才可访问网站。

安装中文插件

安装插件后,用配置文件中的管理员身份就可以登录后台进行网站配置。

docker exec -ti flarum extension require flarum-lang/chinese-simplified

更改默认语言简体中文(zh-Hans)即可。

配置SMTP

能完善注册功能,并实时接收到信息。

配置过程

进入QQ邮箱,在首页点击设置。

邮箱设置-账号

生成授权码,填到上述配置的密码中,其他换上自己的邮箱即可。

Complete!