Initial commit
This commit is contained in:
commit
ca21debc34
33
.env
Normal file
33
.env
Normal file
@ -0,0 +1,33 @@
|
||||
# COMMENT
|
||||
DB_MYSQL_VERSION=5.7
|
||||
DB_MYSQL_PORT=3306
|
||||
DB_MYSQL_PASSWORD=123456
|
||||
DB_MYSQL_NAME=drupal
|
||||
DB_MYSQL_USER=drupal
|
||||
DB_MYSQL_HOST=mysql
|
||||
|
||||
MQ_KAFKA_PORT=9092
|
||||
MQ_RABBITMQ_PORT=5672
|
||||
|
||||
DB_POSTGRESQL_VERSION=9.5
|
||||
DB_REDIS_VERSION=5.0
|
||||
|
||||
APP_VERSION=latest
|
||||
APP_PORT=9001
|
||||
|
||||
# more than two ports
|
||||
APP_HTTP_PORT=9001
|
||||
APP_SSH_PORT=9002
|
||||
|
||||
APP_PASSWORD_INIT=True
|
||||
APP_USER=
|
||||
APP_PASSWORD=
|
||||
APP_CONTAINER_NAME=onlyoffice
|
||||
APP_NETWORK=onlyoffice
|
||||
APP_SITE_NAME=Gost blog
|
||||
APP_SITE_URL=appname.example.com
|
||||
|
||||
VOLUMES_PATH_PREFIX=./volumes
|
||||
DOMAIN=appname.example.com
|
||||
EMAIL=help@websoft9.com
|
||||
|
||||
96
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
96
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,96 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Report a bug encountered while using websoft9's product
|
||||
labels: bug
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
## Deployment method
|
||||
|
||||
- [ ] subscription image from MarketPlace of Cloud
|
||||
- [ ] All-in-one Installer
|
||||
- [ ] ansible-playbook cli
|
||||
- [ ] mcloud
|
||||
- [ ] create instance from private image
|
||||
|
||||
## Bug source
|
||||
|
||||
- [ ] Bugs from installation
|
||||
- [ ] Bugs from first use
|
||||
- [ ] Other (You should describe it)
|
||||
|
||||
## System Environment
|
||||
|
||||
**Application Version**
|
||||
|
||||
e.g v4.5
|
||||
|
||||
**OS**
|
||||
|
||||
- [ ] Ubuntu18.x
|
||||
- [ ] Ubuntu20.x
|
||||
- [ ] CentOS7.x
|
||||
- [ ] CentOS8.x
|
||||
- [ ] AmazonLinux2
|
||||
- [ ] OracleLinux7.8
|
||||
- [ ] OracleLinux8.2
|
||||
- [ ] Other (You should describe it)
|
||||
|
||||
**Cloud PlatForm**
|
||||
|
||||
- [ ] Azure
|
||||
- [ ] Aws
|
||||
- [ ] 阿里云
|
||||
- [ ] 腾讯云
|
||||
- [ ] 华为云
|
||||
- [ ] AlibabaCloud
|
||||
- [ ] HUWEICloud
|
||||
- [ ] Other (You should describe it)
|
||||
|
||||
|
||||
## Bug reproduce
|
||||
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
## Bug reports
|
||||
|
||||
### Bug Context
|
||||
|
||||
Bug context includes bug error, error logs and service status, it is very important for resolving issue
|
||||
|
||||
```
|
||||
# bug error
|
||||
(paste here)
|
||||
|
||||
# service status
|
||||
(paste here)
|
||||
|
||||
# error logs
|
||||
(paste here)
|
||||
```
|
||||
|
||||
### Bug Screenshot
|
||||
|
||||
paste screenshot here
|
||||
|
||||
## Your suggestion
|
||||
|
||||
**The reason of Bug**
|
||||
|
||||
You can describe the reason if you have found it
|
||||
|
||||
**Your solution for Bug**
|
||||
|
||||
You can describe your solution here
|
||||
|
||||
**Additional context**
|
||||
|
||||
You can add any other context about the problem here.
|
||||
41
.github/ISSUE_TEMPLATE/documentation_report.md
vendored
Normal file
41
.github/ISSUE_TEMPLATE/documentation_report.md
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
name: Documentation report
|
||||
about: improve current Documentation
|
||||
labels: documentation
|
||||
---
|
||||
|
||||
|
||||
## Language
|
||||
|
||||
- [ ] Chinese
|
||||
- [ ] English
|
||||
|
||||
## Content error
|
||||
|
||||
Provide us with documentation errors, e.g spelling mistake, wrong screenshot, code syntax error.
|
||||
|
||||
* URL:
|
||||
* Description:
|
||||
* Screenshot
|
||||
|
||||
## Content optimization
|
||||
|
||||
Provide us with content optimization, e.g easy to read, simplify the steps, step by step, precise expression.
|
||||
|
||||
* URL:
|
||||
* Description:
|
||||
|
||||
## New content
|
||||
|
||||
Describe important content what do you think is important in this documentation.
|
||||
|
||||
**What content do you want to add?**
|
||||
|
||||
(describe here)
|
||||
|
||||
**Steps for the content**
|
||||
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. Modify file '....'
|
||||
25
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
25
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: 'enhancement'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**What type of your feature request?**
|
||||
|
||||
- [ ] Add new features
|
||||
- [ ] Improve current features
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
56
.github/workflows/mirror.yml
vendored
Normal file
56
.github/workflows/mirror.yml
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
name: Mirror to Gitee Repo
|
||||
|
||||
# on: [ push, delete, create ]
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
git-mirror:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Configure Private Key
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.GITEE_PRIVATE_KEY }}
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
|
||||
chmod 600 ~/.ssh/id_rsa
|
||||
echo "StrictHostKeyChecking no" >> ~/.ssh/config
|
||||
- name: Push Mirror
|
||||
env:
|
||||
# SOURCE_REPO: 'https://github.com/mgithubTestOrg/giteeMirror.git'
|
||||
SOURCE_REPO: 'https://github.com/${{ github.repository }}.git'
|
||||
# DESTINATION_REPO: 'git@gitee.com:mgithubTestOrg/giteeMirror.git'
|
||||
# DESTINATION_REPO: 'git@gitee.com:${{ github.repository }}.git'
|
||||
DESTINATION_REPO: 'git@gitee.com:websoft9/${{ github.event.repository.name }}.git'
|
||||
BASE_REPO: 'https://github.com/${{ github.repository }}'
|
||||
run: |
|
||||
git clone "$SOURCE_REPO" && cd `basename "$BASE_REPO"`
|
||||
git config --global user.name "${{ github.actor }}"
|
||||
git config --global user.email "xxx@websoft9.com"
|
||||
|
||||
git remote set-url --push origin "$DESTINATION_REPO"
|
||||
git push origin main --force
|
||||
|
||||
git checkout dev
|
||||
if [ -f "requirements.yml" ];then
|
||||
sed -i 's/github/gitee/g' requirements.yml
|
||||
git add requirements.yml
|
||||
git commit -m "Make requirements.yml compatible with gitee"
|
||||
fi
|
||||
git push origin dev --force
|
||||
|
||||
git checkout main
|
||||
|
||||
git fetch -p origin
|
||||
git for-each-ref --format 'delete %(refname)' refs/pull | git update-ref --stdin
|
||||
git push origin main --force
|
||||
|
||||
if [ -f "requirements.yml" ];then
|
||||
sed -i 's/github/gitee/g' requirements.yml
|
||||
git add requirements.yml
|
||||
git commit -m "Make requirements.yml compatible with gitee"
|
||||
fi
|
||||
git push origin main --force
|
||||
24
.github/workflows/templating.yml
vendored
Normal file
24
.github/workflows/templating.yml
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
name: Template README by variables.json
|
||||
|
||||
on:
|
||||
repository_dispatch:
|
||||
push:
|
||||
paths: [variables.json, Notes.md, docker-compose.yml, CHANGELOG.md, .env]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
|
||||
- name: npm install jinjia2-cli
|
||||
run: |
|
||||
wget -N https://raw.githubusercontent.com/Websoft9/docker-template/main/README.jinja2 -O template_README.jinja2
|
||||
wget -N https://raw.githubusercontent.com/Websoft9/docker-template/main/README-zh.jinja2 -O template_README-zh.jinja2
|
||||
pip install jinja2-cli
|
||||
jinja2 template_README-zh.jinja2 variables.json > README-zh.md
|
||||
jinja2 template_README.jinja2 variables.json > README.md
|
||||
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: Templating README
|
||||
0
.gitignore
vendored
Normal file
0
.gitignore
vendored
Normal file
5
CHANGELOG.md
Normal file
5
CHANGELOG.md
Normal file
@ -0,0 +1,5 @@
|
||||
# CHANGELOG
|
||||
|
||||
## Release
|
||||
### Fixes and Enhancements
|
||||
|
||||
168
LICENSE.md
Normal file
168
LICENSE.md
Normal file
@ -0,0 +1,168 @@
|
||||
This program is released under LGPL-3.0 and with the additional Terms:
|
||||
It is not allowed to publish free or paid image based on this program in any Cloud platform's Marketplace.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
||||
6
Notes.md
Normal file
6
Notes.md
Normal file
@ -0,0 +1,6 @@
|
||||
## About
|
||||
|
||||
This repository is forked from ONLYOFFICE/Docker-CommunityServer, we have the following modifications are provided
|
||||
|
||||
* replace README.md
|
||||
* add README-zh.md, CHANGELOG.md, Note.md, License.md, docker-compose.yml,.env, src, .github folder
|
||||
142
README-zh.jinja2
Normal file
142
README-zh.jinja2
Normal file
@ -0,0 +1,142 @@
|
||||
# {{trademark}} on Docker
|
||||
|
||||

|
||||
|
||||
## 简介
|
||||
|
||||
[简体中文](/README-zh.md) | [English](/README.md)
|
||||
|
||||
本项目是由 [Websoft9](https://www.websoft9.com) 研发的 **云原生程序** ,大大简化 {{trademark}} 复杂的安装及配置。
|
||||
|
||||
## 系统要求
|
||||
|
||||
安装本项目,确保符合如下的条件([详细参考]({{requirements.url}})):
|
||||
|
||||
* **操作系统**: Red Hat, CentOS, Debian, Ubuntu 等主流 Linux等 操作系统
|
||||
* **公有云**: AWS, Azure, Google Cloud, 阿里云, 腾讯云, 华为云等20多个全球主流云
|
||||
* **私有云**: KVM, VMware, VirtualBox, OpenStack 等主流虚拟化架构
|
||||
* **CPU架构**: {{requirements.cpu_arch}}
|
||||
* **内存**: {{requirements.memory}}GB以上
|
||||
* **CPU**: {{requirements.cpu}}核以上
|
||||
* **存储**: {{requirements.disk}}GB以上
|
||||
* **Swap分区**: {{requirements.swap}}GB以上
|
||||
* **带宽**: 100M以上体验更流畅
|
||||
|
||||
## 安装使用
|
||||
|
||||
### 自动安装(推荐)
|
||||
|
||||
登录 Linux,运行下面的**自动化命令**即可启动安装并显示安装结果。
|
||||
|
||||
```
|
||||
sudo wget -N https://raw.githubusercontent.com/Websoft9/StackHub/main/docker-installer.sh; sudo bash docker-installer.sh -r {{name}}
|
||||
|
||||
```
|
||||
|
||||
### package包安装
|
||||
|
||||
1.生成package包
|
||||
登录 Linux,运行下面的**自动化命令**即可生成所需的package包。
|
||||
```
|
||||
sudo wget -N https://raw.githubusercontent.com/Websoft9/StackHub/main/docker-installer.sh; sudo bash docker-installer.sh -r {{name}} -p
|
||||
```
|
||||
2.复制package包后安装
|
||||
|
||||
将压缩的package包复制到想要安装的服务器或虚拟机,登录 Linux,运行下面的**自动化命令**即可启动安装并显示安装结果。
|
||||
```
|
||||
sudo bash install-{{name}}
|
||||
```
|
||||
|
||||
### 手动安装
|
||||
|
||||
如果熟悉 Linux 以及 Docker,可以采用手动安装的方式
|
||||
|
||||
#### 准备 Docker 环境
|
||||
|
||||
如果您的服务器尚未安装 Docker,请使用如下命令安装它:
|
||||
|
||||
```
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
|
||||
curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
sudo chmod +x /usr/local/bin/docker-compose
|
||||
ln -sf /usr/local/bin/docker-compose /usr/bin
|
||||
sudo systemctl start docker
|
||||
```
|
||||
|
||||
#### 安装 {{trademark}}
|
||||
|
||||
直接运行下面的命令快速安装应用。如果你熟悉 Docker,建议先修改 [docker-compose](docker-compose-production.yml) 文件以满足自己的需求
|
||||
|
||||
```
|
||||
git clone --depth=1 https://github.com/Websoft9/docker-{{name}}
|
||||
cd docker-{{name}}
|
||||
{% if command_extra is defined -%}
|
||||
{% for cmd in command_extra -%}
|
||||
{{cmd.cmd}}
|
||||
{% endfor -%}
|
||||
{% endif -%}
|
||||
{% if command_comments is defined -%}
|
||||
{% for comment in command_comments -%}
|
||||
# {{comment.comment_cn}}
|
||||
{% endfor -%}
|
||||
{% endif -%}
|
||||
sudo docker-compose -f {{compose_file}} {% if env_file is defined -%} --env-file {{env_file}} {% endif -%} up -d
|
||||
```
|
||||
|
||||
### 常见问题
|
||||
|
||||
#### 安装 {{trademark}} 前需要更改密码吗?
|
||||
|
||||
是的, 在生产环境中,您应该在 docker-compose 文件中修改所有数据库密码和应用程序密码
|
||||
|
||||
#### 端口冲突导致无法启动?
|
||||
|
||||
修改 [docker-compose]({{compose_file}}) 文件中冲突的端口,然后再启动容器
|
||||
|
||||
|
||||
{% for faq in faqs -%}
|
||||
#### {{faq.question_cn}}
|
||||
{{faq.answer_cn}}
|
||||
|
||||
{% endfor -%}
|
||||
|
||||
|
||||
### 使用说明
|
||||
|
||||
启动应用后,本地浏览器访问 URL: *`http://服务器公网IP:{{services[0].port}}`* 进入应用。
|
||||
|
||||
下面是使用过程中可能需要的信息
|
||||
|
||||
{% if user is defined -%}
|
||||
#### 账号
|
||||
|
||||
本应用默认安装后的管理员用户名和密码如下:
|
||||
|
||||
| 用户名 | 密码 |
|
||||
| ------- | -------- |
|
||||
| {{user.username}} | {{user.password}} |
|
||||
|
||||
{% endif -%}
|
||||
|
||||
#### 服务和端口
|
||||
|
||||
| 名称 | 端口号 | 用途 | 必要性 |
|
||||
| --- | --- | --- | --- |
|
||||
{% for service in services -%}
|
||||
| {{service.name}} | {{service.port}} | {{service.description_cn}} | {{service.required}} |
|
||||
{% endfor -%}
|
||||
|
||||
|
||||
## 文档
|
||||
|
||||
[{{trademark}} 管理员手册](https://support.websoft9.com/docs/{{name}})
|
||||
|
||||
## 企业级支持
|
||||
|
||||
如果需要企业级支持,请订阅我们提供的 [{{trademark}} 企业级支持版](https://apps.websoft9.com/{{name}})
|
||||
|
||||
订阅企业级产品后,您可获得:
|
||||
|
||||
* 精准知识:产品专家的解答和指导
|
||||
* 全面支持:技术支持所需的一切,例如启用HTTPS、升级指南
|
||||
* 安全顾问:安全服务和工具,可提高您软件的安全性
|
||||
134
README.jinja2
Normal file
134
README.jinja2
Normal file
@ -0,0 +1,134 @@
|
||||
# {{trademark}} on Docker
|
||||
|
||||

|
||||
|
||||
## Introduction
|
||||
|
||||
[English](/README.md) | [简体中文](/README-zh.md)
|
||||
|
||||
This repository is an **Cloud Native solution** powered by [Websoft9](https://www.websoft9.com), it simplifies the complicated installation and initialization process.
|
||||
|
||||
## System Requirements
|
||||
|
||||
The following are the minimal [recommended requirements]({{requirements.url}}):
|
||||
|
||||
* **OS**: Red Hat, CentOS, Debian, Ubuntu or other's Linux OS
|
||||
* **Public Cloud**: More than 20+ major Cloud such as AWS, Azure, Google Cloud, Alibaba Cloud, HUAWEIClOUD, Tencent Cloud
|
||||
* **Private Cloud**: KVM, VMware, VirtualBox, OpenStack
|
||||
* **ARCH**: {{requirements.cpu_arch}}
|
||||
* **RAM**: {{requirements.memory}} GB or more
|
||||
* **CPU**: {{requirements.cpu}} cores or higher
|
||||
* **HDD**: at least {{requirements.disk}} GB of free space
|
||||
* **Swap file**: at least {{requirements.swap}} GB
|
||||
* **bandwidth**: more fluent experience over 100M
|
||||
|
||||
## QuickStart
|
||||
|
||||
### All-in-one Installer
|
||||
|
||||
Use SSH to connect your instance and run the automatic installation script below
|
||||
|
||||
```
|
||||
sudo wget -N https://raw.githubusercontent.com/Websoft9/StackHub/main/docker-installer.sh; sudo bash docker-installer.sh -r {{name}}
|
||||
```
|
||||
### package install
|
||||
|
||||
1.Make package
|
||||
You can get the package as following script
|
||||
```
|
||||
sudo wget -N https://raw.githubusercontent.com/Websoft9/StackHub/main/docker-installer.sh; sudo bash docker-installer.sh -r {{name}} -p
|
||||
```
|
||||
|
||||
2.Install by package
|
||||
Copy package to your server, Use SSH to connect your instance and run the automatic installation script below
|
||||
```
|
||||
sudo bash install-{{name}}
|
||||
```
|
||||
|
||||
### Manual Installation
|
||||
|
||||
#### Preparation
|
||||
|
||||
If you have not install Docker and Docker-Compose, refer to the following commands to install it:
|
||||
|
||||
```
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
|
||||
curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
sudo chmod +x /usr/local/bin/docker-compose
|
||||
ln -sf /usr/local/bin/docker-compose /usr/bin
|
||||
sudo systemctl start docker
|
||||
```
|
||||
|
||||
#### Install {{trademark}}
|
||||
|
||||
We assume that you are already familiar with Docker, and you can modify [docker-compose file]({{compose_file}}) by yourself
|
||||
|
||||
```
|
||||
git clone --depth=1 https://github.com/Websoft9/docker-{{name}}
|
||||
cd docker-{{name}}
|
||||
{% if command_extra is defined -%}
|
||||
{% for cmd in command_extra -%}
|
||||
{{cmd.cmd}}
|
||||
{% endfor -%}
|
||||
{% endif -%}
|
||||
{% if command_comments is defined -%}
|
||||
{% for comment in command_comments -%}
|
||||
# {{comment.comment_en}}
|
||||
{% endfor -%}
|
||||
{% endif -%}
|
||||
docker-compose -f {{compose_file}} {% if env_file is defined -%} --env-file {{env_file}} {% endif -%} up -d
|
||||
```
|
||||
|
||||
### FAQ
|
||||
|
||||
#### Do I need to change the password before docker-compose up?
|
||||
Yes, you should modify all database password and application password at docker-compose file for production
|
||||
|
||||
#### Docker runing failed for the reason that port conflict?
|
||||
You should modify ports at [docker-compose file](docker-compose-production.yml) and docker-compose again
|
||||
|
||||
{% for faq in faqs -%}
|
||||
#### {{faq.question_en}}
|
||||
{{faq.answer_en}}
|
||||
|
||||
{% endfor -%}
|
||||
|
||||
|
||||
### Usage instructions
|
||||
|
||||
You can point your browser to: *`http://Instance's Internet IP:{{services[0].port}}`*
|
||||
|
||||
The following is the information that may be needed during use
|
||||
|
||||
{% if user is defined -%}
|
||||
#### Credentials
|
||||
|
||||
By default, the available users are:
|
||||
|
||||
| Username | Password |
|
||||
| ------- | -------- |
|
||||
| {{user.username}} | {{user.password}} |
|
||||
|
||||
{% endif -%}
|
||||
|
||||
#### Services and Ports
|
||||
|
||||
| Service | Port | Use | Necessity |
|
||||
| --- | --- | --- | --- |
|
||||
{% for service in services -%}
|
||||
| {{service.name}} | {{service.port}} | {{service.description_en}} | {{service.required}} |
|
||||
{% endfor -%}
|
||||
|
||||
## Documentation
|
||||
|
||||
[{{trademark}} Administrator Guide](https://support.websoft9.com/docs/{{name}})
|
||||
|
||||
## Enterprise Support
|
||||
|
||||
If you want to get our Enterprise Support to ensure high availability of applications, you can subscribe our [{{trademark}} Enterprise Support](https://apps.websoft9.com/{{name}})
|
||||
|
||||
What you get with a Enterprise Support subscription?
|
||||
|
||||
* Knowledge: Answers and guidance from product experts
|
||||
* Support: Everything you need for technical support, e.g Enable HTTPS, Upgrade guide
|
||||
* Security: Security services and tools to protect your software
|
||||
112
docker-compose.yml
Normal file
112
docker-compose.yml
Normal file
@ -0,0 +1,112 @@
|
||||
# this file from docker-compose.workspace, delete mail-server
|
||||
# default MySQL root password is 123456
|
||||
|
||||
|
||||
version: '3.8'
|
||||
services:
|
||||
onlyoffice-mysql-server:
|
||||
container_name: ${APP_CONTAINER_NAME}-mysql
|
||||
image: mysql:${DB_MYSQL_VERSION}
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${DB_MYSQL_PASSWORD}
|
||||
stdin_open: true
|
||||
user: root
|
||||
tty: true
|
||||
restart: always
|
||||
volumes:
|
||||
- ${VOLUMES_PATH_PREFIX}/config/mysql/conf.d:/etc/mysql/conf.d
|
||||
- ${VOLUMES_PATH_PREFIX}/config/mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
|
||||
- ${VOLUMES_PATH_PREFIX}/mysql_data:/var/lib/mysql
|
||||
|
||||
onlyoffice-community-server:
|
||||
container_name: ${APP_CONTAINER_NAME}
|
||||
image: onlyoffice/communityserver:11.0.0.1458
|
||||
depends_on:
|
||||
- onlyoffice-mysql-server
|
||||
- onlyoffice-document-server
|
||||
environment:
|
||||
- ONLYOFFICE_CORE_MACHINEKEY=core_secret
|
||||
- CONTROL_PANEL_PORT_80_TCP=80
|
||||
- CONTROL_PANEL_PORT_80_TCP_ADDR=onlyoffice-control-panel
|
||||
- DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server
|
||||
- DOCUMENT_SERVER_JWT_ENABLED=true
|
||||
- DOCUMENT_SERVER_JWT_SECRET=jwt_secret
|
||||
- DOCUMENT_SERVER_JWT_HEADER=AuthorizationJwt
|
||||
- MYSQL_SERVER_ROOT_PASSWORD=123456
|
||||
- MYSQL_SERVER_DB_NAME=onlyoffice
|
||||
- MYSQL_SERVER_HOST=onlyoffice-mysql-server
|
||||
- MYSQL_SERVER_USER=onlyoffice
|
||||
- MYSQL_SERVER_PASS=123456
|
||||
ports:
|
||||
- '${APP_PORT}:80'
|
||||
- '443'
|
||||
- '5222:5222'
|
||||
stdin_open: true
|
||||
tty: true
|
||||
restart: always
|
||||
privileged: true
|
||||
volumes:
|
||||
- ${VOLUMES_PATH_PREFIX}/community_data:/var/www/onlyoffice/Data
|
||||
- ${VOLUMES_PATH_PREFIX}/community_log:/var/log/onlyoffice
|
||||
- ${VOLUMES_PATH_PREFIX}/community_letsencrypt:/etc/letsencrypt
|
||||
- ${VOLUMES_PATH_PREFIX}/document_data:/var/www/onlyoffice/DocumentServerData
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
- ${VOLUMES_PATH_PREFIX}/certs:/var/www/onlyoffice/Data/certs
|
||||
|
||||
onlyoffice-document-server:
|
||||
container_name: ${APP_CONTAINER_NAME}-document-server
|
||||
image: onlyoffice/documentserver:6.0.2
|
||||
stdin_open: true
|
||||
tty: true
|
||||
restart: always
|
||||
environment:
|
||||
- JWT_ENABLED=true
|
||||
- JWT_SECRET=jwt_secret
|
||||
- JWT_HEADER=AuthorizationJwt
|
||||
ports:
|
||||
- '9002:80'
|
||||
expose:
|
||||
- '80'
|
||||
- '443'
|
||||
volumes:
|
||||
- ${VOLUMES_PATH_PREFIX}/document_data:/var/www/onlyoffice/Data
|
||||
- ${VOLUMES_PATH_PREFIX}/document_log:/var/log/onlyoffice
|
||||
- ${VOLUMES_PATH_PREFIX}/document_fonts:/usr/share/fonts/truetype/custom
|
||||
- .document_forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten
|
||||
|
||||
onlyoffice-control-panel:
|
||||
container_name: ${APP_CONTAINER_NAME}-control-panel
|
||||
depends_on:
|
||||
- onlyoffice-document-server
|
||||
- onlyoffice-community-server
|
||||
image: onlyoffice/controlpanel:2.9.0.351
|
||||
environment:
|
||||
- ONLYOFFICE_CORE_MACHINEKEY=core_secret
|
||||
expose:
|
||||
- '80'
|
||||
- '443'
|
||||
restart: always
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ${VOLUMES_PATH_PREFIX}/controlpanel_data:/var/www/onlyoffice/Data
|
||||
- ${VOLUMES_PATH_PREFIX}/controlpanel_log:/var/log/onlyoffice
|
||||
stdin_open: true
|
||||
tty: true
|
||||
|
||||
networks:
|
||||
default:
|
||||
name: ${APP_NETWORK}
|
||||
|
||||
volumes:
|
||||
document_data:
|
||||
driver: local
|
||||
document_log:
|
||||
driver: local
|
||||
document_forgotten:
|
||||
community_mysql:
|
||||
community_data:
|
||||
community_log:
|
||||
community_letsencrypt:
|
||||
controlpanel_data:
|
||||
controlpanel_log:
|
||||
mysql_data:
|
||||
3
src/filelist
Normal file
3
src/filelist
Normal file
@ -0,0 +1,3 @@
|
||||
docker-compose.yml
|
||||
script/test.sh
|
||||
docker
|
||||
76
variables.json
Normal file
76
variables.json
Normal file
@ -0,0 +1,76 @@
|
||||
{
|
||||
"name": "template",
|
||||
"trademark": "ONLYOFFICE",
|
||||
"installpath": "/data/wwwroot/onlyoffice",
|
||||
"compose_file": "docker-compose-production.yml",
|
||||
"env_file": ".env_all",
|
||||
"requirements":{
|
||||
"cpu_arch": "Linux x86-64, ARM 32/64, Windows x86-64, IBM POWER8, x86/i686",
|
||||
"cpu": "2",
|
||||
"memory": "4",
|
||||
"disk": "20",
|
||||
"swap": "2",
|
||||
"url": "https://github.com/onlyoffice/docker#recommended-system-requirements"
|
||||
},
|
||||
|
||||
"user": {
|
||||
"username": "admin",
|
||||
"password": "123456"
|
||||
},
|
||||
|
||||
"services":[
|
||||
{
|
||||
"name": "onlyoffice-server",
|
||||
"port": "9002",
|
||||
"description_cn": "浏览器访问 ONLYOFFICE",
|
||||
"description_en": "Web-GUI database management tool",
|
||||
"required": "Y"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "phpmyadmin",
|
||||
"port": "9090",
|
||||
"description_cn": "数据库可视化管理工具",
|
||||
"description_en": "Web-GUI database management tool",
|
||||
"required": "Y"
|
||||
}
|
||||
],
|
||||
|
||||
"command_comments":[
|
||||
{
|
||||
"comment_cn": ".env文件的SITE_NAME需要修改成公网IP或者域名才能被外网访问",
|
||||
"comment_en": ".env file's [SITE_NAME] should be changed to public IP or domain name to be accessed by Internet"
|
||||
},
|
||||
{
|
||||
"comment_cn": "默认启动的是ERPNext12,如果您想运行ERPNext13,只需将ERPNEXT_VERSION、FRAPPE_VERSION修改成v13",
|
||||
"comment_en": "The default startup is erpnext12. If you want to run erpnext13, you only need to change ERPNEXT_VERSION/FRAPPE_VERSIO to V13"
|
||||
}
|
||||
],
|
||||
|
||||
"command_extra":[
|
||||
{
|
||||
"cmd": "echo aaa"
|
||||
},
|
||||
{
|
||||
"cmd": "echo bbb"
|
||||
}
|
||||
],
|
||||
|
||||
"faqs": [
|
||||
{
|
||||
"question_cn": "问题1",
|
||||
"answer_cn": "答案1",
|
||||
"question_en": "question1",
|
||||
"answer_en": "answer1"
|
||||
},
|
||||
|
||||
{
|
||||
"question_cn": "问题2",
|
||||
"answer_cn": "答案2",
|
||||
"question_en": "question2",
|
||||
"answer_en": "answer2"
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user