diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 530304893d9cb209f9aed75901446af45e8490df..284ab3c228e9fe220ee76bfe584dadbb615194be 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -16,6 +16,13 @@ services: restart: always command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci + maxkey-frontend: + image: maxkey:maxkey-frontend + container_name: maxkey-frontend + build: ./docker-maxkey-frontend + ports: + - "8527:8527" + maxkey: image: maxkey:maxkey container_name: maxkey @@ -27,7 +34,7 @@ services: - DATABASE_USER:root - DATABASE_PWD:maxkey ports: - - "443:443" + - "9527:9527" maxkey-mgt: image: maxkey:maxkey-mgt @@ -40,4 +47,18 @@ services: - DATABASE_USER:root - DATABASE_PWD:maxkey ports: - - "9527:9527" \ No newline at end of file + - "9526:9526" + + maxkey-mgt-frontend: + image: maxkey:maxkey-mgt-frontend + container_name: maxkey-mgt-frontend + build: ./docker-maxkey-mgt-frontend + ports: + - "8526:8526" + + maxkey-nginx: + image: maxkey:maxkey-nginx + container_name: nginx + build: ./docker-nginx + ports: + - "80:80" \ No newline at end of file diff --git a/docker/docker-maxkey-frontend/Dockerfile b/docker/docker-maxkey-frontend/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..20f849416c25b929e52b5636bd51ff75ef839ad3 --- /dev/null +++ b/docker/docker-maxkey-frontend/Dockerfile @@ -0,0 +1,3 @@ +FROM maxkeytop/maxkey-frontend:latest + +ENV TZ=Asia/Shanghai \ No newline at end of file diff --git a/docker/docker-maxkey-mgt-frontend/Dockerfile b/docker/docker-maxkey-mgt-frontend/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..bfda0938dcf98022db948509d3dc24f440523dbf --- /dev/null +++ b/docker/docker-maxkey-mgt-frontend/Dockerfile @@ -0,0 +1,3 @@ +FROM maxkeytop/maxkey-mgt-frontend:latest + +ENV TZ=Asia/Shanghai \ No newline at end of file diff --git a/docker/v3.3/docker-compose.yml b/docker/v3.3/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..530304893d9cb209f9aed75901446af45e8490df --- /dev/null +++ b/docker/v3.3/docker-compose.yml @@ -0,0 +1,43 @@ +version: '3' +services: + mysql: + image: maxkey:mysql + container_name: mysql + build: ./docker-mysql + volumes: + - /root/mysql/data:/var/lib/mysql + - /root/mysql/logs:/var/log/mysql + - /root/docker-mysql:/etc/mysql/conf.d + - /root/docker-mysql/sql:/docker-entrypoint-initdb.d + environment: + - MYSQL_ROOT_PASSWORD=maxkey + ports: + - "3306:3306" + restart: always + command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci + + maxkey: + image: maxkey:maxkey + container_name: maxkey + build: ./docker-maxkey + environment: + - DATABASE_HOST:localhost + - DATABASE_PORT:3306 + - DATABASE_NAME:maxkey + - DATABASE_USER:root + - DATABASE_PWD:maxkey + ports: + - "443:443" + + maxkey-mgt: + image: maxkey:maxkey-mgt + container_name: maxkey-mgt + build: ./docker-maxkey-mgt + environment: + - DATABASE_HOST:localhost + - DATABASE_PORT:3306 + - DATABASE_NAME:maxkey + - DATABASE_USER:root + - DATABASE_PWD:maxkey + ports: + - "9527:9527" \ No newline at end of file diff --git a/docker/v3.3/docker-maxkey-mgt/Dockerfile b/docker/v3.3/docker-maxkey-mgt/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..786e6028e274768e48e8738aac3bcf88898f11fa --- /dev/null +++ b/docker/v3.3/docker-maxkey-mgt/Dockerfile @@ -0,0 +1,8 @@ +FROM maxkeytop/maxkey-mgt:3.3.3 + +ENV TZ=Asia/Shanghai \ + DATABASE_HOST=localhost \ + DATABASE_PORT=3306 \ + DATABASE_NAME=maxkey \ + DATABASE_USER=root \ + DATABASE_PWD=maxkey \ \ No newline at end of file diff --git a/docker/v3.3/docker-maxkey/Dockerfile b/docker/v3.3/docker-maxkey/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..4677a71352883eb101ea46fd606f36c61f18656a --- /dev/null +++ b/docker/v3.3/docker-maxkey/Dockerfile @@ -0,0 +1,8 @@ +FROM maxkeytop/maxkey:3.3.3 + +ENV TZ=Asia/Shanghai \ + DATABASE_HOST=localhost \ + DATABASE_PORT=3306 \ + DATABASE_NAME=maxkey \ + DATABASE_USER=root \ + DATABASE_PWD=maxkey \ \ No newline at end of file diff --git a/docker/v3.3/docker-mysql/Dockerfile b/docker/v3.3/docker-mysql/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..4d19b2ac3dddda79f88f1e10b2c954e98bbecddd --- /dev/null +++ b/docker/v3.3/docker-mysql/Dockerfile @@ -0,0 +1,20 @@ +FROM mysql:8.0.27 + +ENV TZ=Asia/Shanghai \ + MYSQL_DATABASE=maxkey \ + MYSQL_USER=maxkey \ + MYSQL_PASSWORD=maxkey \ + MYSQL_ROOT_PASSWORD=maxkey + + +MAINTAINER maxkey(maxkeysupport@163.com) + +VOLUME ["/var/lib/mysql", "/root/mysql/data"] +VOLUME ["/var/log/mysql", "/root/mysql/logs"] + + +EXPOSE 3306 + +#如果向 sql 目录中存入了数据库初始化脚本,则把下面的注释打开,脚本支持 .sh, .sql .sql.gz +COPY sql/ /docker-entrypoint-initdb.d +COPY mysqld.cnf /etc/mysql/conf.d/mysqld.cnf diff --git a/docker/v3.3/docker-mysql/LICENSE b/docker/v3.3/docker-mysql/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64 --- /dev/null +++ b/docker/v3.3/docker-mysql/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/docker/v3.3/docker-mysql/README.md b/docker/v3.3/docker-mysql/README.md new file mode 100644 index 0000000000000000000000000000000000000000..205c0a61eb3af45c5c88ccfdca91d8932a2634fa --- /dev/null +++ b/docker/v3.3/docker-mysql/README.md @@ -0,0 +1,4 @@ +# 一份用于构建 mysql 镜像的 Dockerfile + +- 编辑 my.cnf 来变更配置 +- 上传 sql 脚本到 sql 目录下,可以在首次启动时初始化数据库 \ No newline at end of file diff --git a/docker/v3.3/docker-mysql/mysqld.cnf b/docker/v3.3/docker-mysql/mysqld.cnf new file mode 100644 index 0000000000000000000000000000000000000000..07b9f0f6aacc56253a698fd145be300cc87bce67 --- /dev/null +++ b/docker/v3.3/docker-mysql/mysqld.cnf @@ -0,0 +1,39 @@ +# Percona Server template configuration + +[mysqld] +# +# Remove leading # and set to the amount of RAM for the most important data +# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. +# innodb_buffer_pool_size = 128M +# +# Remove leading # to turn on a very important data integrity option: logging +# changes to the binary log between backups. +# log_bin +# +# Remove leading # to set options mainly useful for reporting servers. +# The server defaults are faster for transactions and fast SELECTs. +# Adjust sizes as needed, experiment to find the optimal values. +# join_buffer_size = 128M +# sort_buffer_size = 2M +# read_rnd_buffer_size = 2M +datadir=/var/lib/mysql +socket=/var/lib/mysql/mysql.sock + +character-set-server=utf8 +lower_case_table_names=1 + +# Disabling symbolic-links is recommended to prevent assorted security risks +symbolic-links=0 + +log-error=/var/lib/mysql/error.log +slow_query_log=on; +slow-query-log-file=/var/lib/mysql/mysql-slow.log +pid-file=/var/run/mysqld/mysqld.pid + +sql_mode = STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION + +[mysql] +default-character-set=utf8 + +[client] +default-character-set=utf8 \ No newline at end of file diff --git a/docker/v3.3/docker-mysql/sql/.keep b/docker/v3.3/docker-mysql/sql/.keep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/docker/v3.3/docker-mysql/sql/init.sql b/docker/v3.3/docker-mysql/sql/init.sql new file mode 100644 index 0000000000000000000000000000000000000000..0cb6788fed0740d024d1e3e33c68a7fc1b436d7f --- /dev/null +++ b/docker/v3.3/docker-mysql/sql/init.sql @@ -0,0 +1,7 @@ +create database if not exists `maxkey` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ ; + +use maxkey ; + +source /docker-entrypoint-initdb.d/v3.3.3.ga/maxkey_v3.3.3.GA.sql ; +source /docker-entrypoint-initdb.d/v3.3.3.ga/maxkey_v3.3.3.GA_data.sql ; + \ No newline at end of file diff --git a/docker/docker-mysql/sql/v3.3.3.ga/maxkey_v3.3.3.GA.sql b/docker/v3.3/docker-mysql/sql/v3.3.3.ga/maxkey_v3.3.3.GA.sql similarity index 100% rename from docker/docker-mysql/sql/v3.3.3.ga/maxkey_v3.3.3.GA.sql rename to docker/v3.3/docker-mysql/sql/v3.3.3.ga/maxkey_v3.3.3.GA.sql diff --git a/docker/docker-mysql/sql/v3.3.3.ga/maxkey_v3.3.3.GA_data.sql b/docker/v3.3/docker-mysql/sql/v3.3.3.ga/maxkey_v3.3.3.GA_data.sql similarity index 100% rename from docker/docker-mysql/sql/v3.3.3.ga/maxkey_v3.3.3.GA_data.sql rename to docker/v3.3/docker-mysql/sql/v3.3.3.ga/maxkey_v3.3.3.GA_data.sql