template_normal-en.tpl 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. # MinDoc Introduction
  2. [![Build Status](https://travis-ci.org/lifei6671/mindoc.svg?branch=master)](https://travis-ci.org/lifei6671/mindoc)
  3. MinDoc is a simple and easy-to-use document management system developed for IT teams.
  4. MinDoc The predecessor of Mindoc was the SmartWiki documentation system. SmartWiki is a document management system developed based on the PHP framework laravel. Because the deployment of PHP is too complicated for ordinary users, it is convenient for users to deploy and use Golang instead.
  5. The origin of the development is that the company’s IT department needs a simple and practical system for project interface document management and sharing. Its function and interface are derived from kancloud.
  6. It can be used to store API documents, database dictionaries, manual instructions and other documents. Built-in project management, user management, authority management and other functions can meet the document management needs of most small and medium-sized teams.
  7. Demo site: [http://doc.iminho.me](http://doc.iminho.me)
  8. # Installation and use
  9. **If the golang is not installed on your server, please manually set an environment variable as follows: the key name is ZONEINFO, and the value is MinDoc and /lib/time/zoneinfo.zip in the directory.**
  10. **Windows tutorial:** [https://github.com/mindoc-org/mindoc/blob/master/README_WIN.md](docs/README_WIN.md)
  11. **Linux tutorial:**  [https://github.com/mindoc-org/mindoc/blob/master/README_LINUX.md](docs/README_LINUX.md)
  12. **PDF Export configuration tutorial**  [https://github.com/mindoc-org/mindoc/blob/master/docs/README_LINUX.md](docs/WKHTMLTOPDF.md)
  13. For users without Golang experience, you can download the compiled program from here. [https://github.com/mindoc-org/mindoc/releases](https://github.com/mindoc-org/mindoc/releases)
  14. If you have Golang development experience, it is recommended to compile and install.
  15. ```bash
  16. git clone https://github.com/mindoc-org/mindoc.git
  17. go get -d ./...
  18. go build -ldflags "-w"
  19. ```
  20. MinDoc uses MySQL to store data, and the encoding must be `utf8mb4_general_ci`.
  21. Please Change database config locate in `conf/app.conf` before install.
  22. If `app.conf` does not exist in the conf directory, please rename `app.conf.example` to `app.conf`.
  23. If the install.lock file exists in the root directory, it means that the database has been initialized. If you want to reinitialize the database, delete the file and restart the program.
  24. **The default program will automatically create the table and initialize a super administrator user: admin password: 123456. Please reset your password after logging in.**
  25. ## Linux Running in Background
  26. If you want the program to run in the background, you can execute the following command:
  27. ```bash
  28. nohup ./godoc &
  29. ```
  30. This command will make the program execute in the background, but the service will not start automatically after the server restarts.
  31. Using supervisor as a service can automatically restart MinDoc after the server restarts.
  32. ## Windows Running in Background
  33. Running in the background under Windows requires the help of CMD command line commands:
  34. ```bash
  35. # Create slave.vbs file in the MinDoc root directory:
  36. Set ws = CreateObject("Wscript.Shell")
  37. ws.run "cmd /c start.bat",vbhide
  38. # Create start.bat file:
  39. @echo off
  40. godoc_windows_amd64.exe
  41. ```
  42. Double-click slave.bat to start, After the program initializes the database, an install.lock file will be created in this directory, indicating that the installation has been successful.
  43. If you compile it yourself, you can use the following command to compile a program that does not rely on the cmd command to run in the background:
  44. ```bash
  45. go build -ldflags "-H=windowsgui"
  46. ```
  47. Compiled by this command runs in the background by default on Windows.
  48. Please add MinDoc to the boot list.
  49. ## Password retrieval
  50. The password retrieval function depends on the mail service. Therefore, you need to configure the mail service to use this function. The configuration is located in `conf/app.conf`
  51. ```bash
  52. #mail service configuration
  53. enable_mail=true
  54. [email protected]
  55. smtp_host=smtp.ym.163.com
  56. smtp_password=1q2w3e__ABC
  57. smtp_port=25
  58. [email protected]
  59. mail_expired=30
  60. ```
  61. # Use Docker deployment
  62. Refer to the built-in Dockerfile project files to compile the mirror.
  63. The following environment variables need to be provided when starting the mirror:
  64. ```ini
  65. MYSQL_PORT_3306_TCP_ADDR MySQL Address
  66. MYSQL_PORT_3306_TCP_PORT MySQL Port
  67. MYSQL_INSTANCE_NAME MySQL Database name
  68. MYSQL_USERNAME MySQL Username
  69. MYSQL_PASSWORD MySQL Password
  70. HTTP_PORT Listen Port
  71. ```
  72. For Example
  73. ```bash
  74. docker run -p 8181:8181 -e MYSQL_PORT_3306_TCP_ADDR=127.0.0.1 -e MYSQL_PORT_3306_TCP_PORT=3306 -e MYSQL_INSTANCE_NAME=mindoc_db -e MYSQL_USERNAME=root -e MYSQL_PASSWORD=123456 -e httpport=8181 -d daocloud.io/lifei6671/mindoc:latest
  75. ```
  76. # Technology used
  77. - beego 1.8.1
  78. - mysql 5.6
  79. - editor.md
  80. - bootstrap 3.2
  81. - jquery
  82. - layer
  83. - webuploader
  84. - Nprogress
  85. - jstree
  86. - font awesome
  87. - cropper
  88. - highlight
  89. - to-markdown
  90. - wangEditor
  91. # Main function
  92. - Project management, you can edit the project, add members, etc.
  93. - Document management, adding and deleting documents, etc.
  94. - Comment management, you can manage document comments and comments posted by yourself.
  95. - User management, adding and disabling users, changing personal information, etc.
  96. - User authority management, change user roles.
  97. - Project encryption, you can set the public status of the project, and private projects need to be accessed through Token.
  98. - Site configuration, anonymous access, verification code, etc.
  99. # Contributing
  100. We welcome you to report issue or pull request on the GitHub.
  101. If you are not familiar with GitHub's Fork and Pull development model, you can read the GitHub documentation (https://help.github.com/articles/using-pull-requests) for more information.