Phabricator Docker 一键安装及汉化

Phabricator的安装还是挺麻烦的、又有数据库、又有Nginx。有没有已经做好了的Docker镜像直接使用?答案肯定是有的。

依赖

  • docker 未安装?
  • docker-compose 未安装?

安装

下载docker-compose.yml文件

curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-phabricator/master/docker-compose.yml > docker-compose.yml

修改docker-compose.yml

version: '2'
services:
  mariadb:
    image: 'bitnami/mariadb:10.3'
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_EXTRA_FLAGS=--local-infile=0
    volumes:
      - 'mariadb_data:/bitnami'
  phabricator:
    image: 'bitnami/phabricator:2019'
    ports:
      - '80:80'
      - '443:443'
    volumes:
      - 'phabricator_data:/bitnami'
      - '/root/docker/my_vhost.conf:/opt/bitnami/apache/conf/vhosts/my_vhost.conf'
    environment:
      - PHABRICATOR_PASSWORD=Abc123456
    # 可选配置...
    depends_on:
      - mariadb
volumes:
  mariadb_data:
    driver: local
  phabricator_data:
    driver: local

my_vhost.conf文件


  ServerName localhost
  # 可以修改为域名或者IP
  DocumentRoot "/opt/bitnami/phabricator/webroot"
  
    Options Indexes FollowSymLinks Includes execCGI
    AllowOverride All
    Require all granted
  
   RewriteEngine on
  RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
  RewriteRule ^/favicon.ico   -                       [L,QSA]
  RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]

启动

docker-compose up -d

启动登录 http://localhost 会出现如下类似错误

Site Not Found

This request asked for "/" on host "localhost", but no site is configured which can serve this request.

登录容器添加配置

docker exec -ti docker_phabricator_1 bash
/opt/bitnami/phabricator/bin/config set phabricator.base-uri 'http://localhost'

重启即可

docker-compose restart

可选配置

  • PHABRICATOR_HOST:Phabricator主机名。默认值:127.0.0.1
  • PHABRICATOR_USERNAME:Phabricator应用程序的用户名。默认值:user
  • PHABRICATOR_PASSWORD:Phabricator应用程序密码。默认值:bitnami1
  • PHABRICATOR_EMAIL:Phabricator应用程序电子邮件。默认值:[email protected]
  • PHABRICATOR_FIRSTNAME:Phabricator用户的名字。默认值:FirstName
  • PHABRICATOR_LASTNAME:Phabricator用户的姓氏。默认值:** LastName**
  • PHABRICATOR_ALTERNATE_FILE_DOMAIN:Phabricator文件域。
  • PHABRICATOR_USE_LFS:将Phabricator配置为使用Git LFS。默认值:no
  • PHABRICATOR_SSH_PORT_NUMBER:SSH服务器端口。默认值:22
  • PHABRICATOR_ENABLE_GIT_SSH_REPOSITORY:使用SSH身份验证配置自托管的GIT存储库。默认值:no
  • MARIADB_USER:MariaDB数据库的根用户。默认值:root
  • MARIADB_PASSWORD:MariaDB的根密码。
  • MARIADB_HOST:MariaDB服务器的主机名。默认值:mariadb
  • MARIADB_PORT_NUMBER:MariaDB服务器使用的端口。默认值:3306

中文汉化

进行phabricator容器

docker exec -ti docker_phabricator_1 bash
cd /opt/bitnami/phabricator/src/extensions
curl -O https://raw.githubusercontent.com/arielyang/phabricator_zh_Hans/master/dist/PhabricatorSimplifiedChineseTranslation.php

语言页面设置
http://localhost/settings/user/user/page/language/saved

Phabricator Docker 一键安装及汉化_第1张图片

选择Chinese(Simplified)保存即可

邮件配置

  1. 登录phabricator窗口

2.配置发送来源

bin/config set metamta.default-address [email protected]
  1. 配置smtp

创建mailers.json文件

cat < mailers.json
> [
>   {
>     "key": "stmp-mailer",
>     "type": "smtp",
>     "options": {
>       "host": "smtp.exmail.qq.com",
>       "port": 465,
>       "user": "[email protected]",
>       "password": "abc123",
>       "protocol": "ssl"
>     }
>   }
> ]
> EOF

导入配置

config set cluster.mailers --stdin < mailers.json

发送邮件测试

bin/mail send-test --to [email protected] --subject hello < mailers.json
Reading message body from stdin...
Mail sent! You can view details by running this command:

    phabricator/ $ ./bin/mail show-outbound --id 27

HTTPS设置

登录容器

设置允许使用https

config set security.require-https true

nginx转发配置

server {
    listen       443 ssl;
    server_name  pha.example.com;
    ssl_certificate /etc/nginx/conf.d/ssl/example.com.pem;
    ssl_certificate_key /etc/nginx/conf.d/ssl/example.com.key;

    location / {
        proxy_pass https://pha.example.com:8002;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
server {
    listen 80;
    server_name pha.example.com;
    rewrite ^(.*)$ https://$host$1 permanent;
}

你可能感兴趣的:(Phabricator Docker 一键安装及汉化)