Browse Source

Merge branch 'release/1.8.0'

liuyuqi-dellpc 8 months ago
parent
commit
dcb8711983
100 changed files with 771 additions and 1226 deletions
  1. 19 1
      .github/pull_request_template.md
  2. 0 0
      .github/workflows/chatgpt-action.yml
  3. 23 0
      .github/workflows/close_issues.yml
  4. 18 0
      .github/workflows/codespell.yml
  5. 0 0
      .github/workflows/debugger-action.yml
  6. 1 1
      .github/workflows/dl_youtube.yml
  7. 3 2
      .github/workflows/genshin.yml
  8. 0 0
      .github/workflows/gitee-mirror.yml
  9. 1 1
      .github/workflows/test.yml
  10. 24 0
      .vuepress/config.ts
  11. 62 0
      .vuepress/locales/en.ts
  12. 20 0
      .vuepress/locales/index.ts
  13. 62 0
      .vuepress/locales/zh_CN.ts
  14. 0 14
      CONTRIBUTING.md
  15. 0 77
      R/aa.Rmd
  16. 4 1
      ai/.github/workflows/main.yml
  17. 9 7
      android/.github/workflows/main.yml
  18. 0 28
      android/android-dev-eclipse/README.md
  19. 1 1
      android/android-dev-eclipse/docker-compose.debug.yml
  20. 1 1
      android/android-dev-eclipse/docker-compose.yml
  21. 0 9
      android/android-dev-eclipse/tools/build_project.sh
  22. 0 13
      android/android-dev-studio/.dockerignore
  23. 0 27
      android/android-dev-studio/Dockerfile
  24. 0 28
      android/android-dev-studio/README.md
  25. 0 8
      android/android-dev-studio/docker-compose.debug.yml
  26. 0 5
      android/android-dev-studio/docker-compose.yml
  27. 0 9
      android/android-dev-studio/tools/build_project.sh
  28. 0 29
      android/android-eclipse/ Dockerfile
  29. 0 25
      android/android-eclipse/.github/workflows/main.yml
  30. 0 13
      android/android-source/.dockerignore
  31. 0 49
      android/android-source/README.md
  32. 0 8
      android/android-source/docker-compose.debug.yml
  33. 3 0
      android/android-source/docker-compose.yml
  34. 0 5
      android/android-source/tools/build_src.sh
  35. 0 16
      android/android-source/tools/download_android_repo.sh
  36. 4 1
      docker/.github/workflows/main.yml
  37. 3 3
      docker/.github/workflows/vue_deploy.yml
  38. 0 30
      docker/db/mongo/docker-compose.debug.yml
  39. 7 0
      docker/db/mysql/docker-compose.debug.yml
  40. 0 0
      docker/db/mysql/my.cnf
  41. 0 19
      docker/db/postgresql/docker-compose.yml
  42. 0 37
      docker/db/redis/docker-compose.debug.yml
  43. 0 73
      docker/db/redis/redis.conf
  44. 0 0
      docker/rstudio/start.sh
  45. 0 6
      docs/.vuepress/config.js
  46. 97 0
      docs/dev/android.md
  47. 2 5
      docs/dev/flutter.md
  48. 105 0
      docs/dev/java.md
  49. 23 1
      docs/dev/nodejs.md
  50. 31 20
      docs/dev/php.md
  51. 6 4
      docs/dev/python.md
  52. 0 15
      docs/package.json
  53. 1 1
      dotnet/.github/workflows/main.yml
  54. 3 3
      dotnet/.github/workflows/msbuild.yml
  55. 2 2
      dotnet/.github/workflows/push_to_docker.yml
  56. 2 2
      dotnet/docker-compose.debug.yml
  57. 0 2
      flutter/.devcontainer/3.13.5/devcontainer.json
  58. 1 0
      flutter/.devcontainer/3.7.7/Dockerfile
  59. 1 2
      flutter/.devcontainer/3.7.7/devcontainer.json
  60. 0 52
      flutter/.devcontainer/Dockerfile-2.10.5
  61. 0 53
      flutter/.devcontainer/Dockerfile-3.0.5
  62. 0 54
      flutter/.devcontainer/Dockerfile-3.13.5
  63. 0 49
      flutter/.devcontainer/devcontainer.json
  64. 1 1
      flutter/.github/workflows/android-build.yml
  65. 10 2
      flutter/.github/workflows/gh-pages.yml
  66. 1 1
      flutter/.github/workflows/ios-build.yml
  67. 1 1
      flutter/.github/workflows/ios-sign-file.yml
  68. 1 1
      flutter/.github/workflows/main.yml
  69. 4 4
      flutter/.github/workflows/pc-build.yml
  70. 1 1
      flutter/.ide/Dockerfile
  71. 6 1
      flutter/.ide/Dockerfile-Allinone-flutter
  72. 0 0
      flutter/.ide/Dockerfile-java
  73. 0 0
      flutter/.ide/Dockerfile-node
  74. 0 0
      flutter/.ide/Dockerfile-php
  75. 0 0
      flutter/.ide/Dockerfile-python
  76. 0 72
      flutter/build.sh
  77. 0 25
      go/.dockerignore
  78. 2 2
      go/.github/workflows/main.yml
  79. 0 29
      go/README.md
  80. 0 18
      go/docker-compose.debug.yml
  81. 1 1
      ios/.github/workflows/build.yml
  82. 0 25
      java/.dockerignore
  83. 1 1
      java/.github/workflows/main.yml
  84. 0 29
      java/README.md
  85. 6 1
      java/docker-compose.debug.yml
  86. 16 0
      java/docker-compose.yml
  87. 1 1
      nodejs/.github/react/.github/workflows/main.yml
  88. 2 2
      nodejs/.github/react/.github/workflows/react_go.yml
  89. 1 1
      nodejs/.github/workflows/main.yml
  90. 0 1
      nodejs/.ide/Dockerfile
  91. 0 85
      nodejs/.ide/Dockerfile-Allinone
  92. 0 38
      nodejs/README.md
  93. 18 0
      package.json
  94. 0 24
      php/.dockerignore
  95. 1 1
      php/.github/workflows/main.yml
  96. 31 10
      php/deploy/docker-compose.debug.yml
  97. 0 20
      php/deploy/docker-compose.yml
  98. 61 16
      php/deploy/redis/redis.conf
  99. 52 0
      php/php74xc/Dockerfile
  100. 14 0
      php/php74xc/docker-compose.yml

+ 19 - 1
.github/pull_request_template.md

@@ -1 +1,19 @@
-This PR fixes #
+## Describe your changes
+
+## Issue ticket number and link
+
+## Checklist before requesting a review
+- [ ] I have performed a self-review of my code.
+- [ ] If it is a core feature, I have added thorough tests.
+- [ ] I have added thorough documentation for my code.
+- [ ] I have tagged PR with relevant project labels. I acknowledge that a PR without labels may be dismissed.
+- [ ] If this PR addresses a bug, I have provided both a screenshot/video of the original bug and the working solution.
+
+## Demo
+<!-- Screenshots or video of new or updated code changes !-->
+
+### Steps to Reproduce
+<!-- Steps to reproduce demo !-->
+
+## Notes
+<!-- Any other relevant information to include about PR !-->

+ 0 - 0
others/.github/workflows/chatgpt-action.yml → .github/workflows/chatgpt-action.yml


+ 23 - 0
.github/workflows/close_issues.yml

@@ -20,3 +20,26 @@ jobs:
           days-before-pr-stale: -1
           days-before-pr-close: -1
           repo-token: ${{ secrets.GITHUB_TOKEN }}
+
+      - name: Close issues without label or comment
+        uses: actions/github-script@v3
+        with:
+          github-token: ${{secrets.GITHUB_TOKEN}}
+          script: |
+            const repo = context.repo;
+            let page = 1;
+            let issues = [];
+            while (true) {
+              const result = await github.issues.listForRepo({...repo, per_page: 100, page: page});
+              if (result.data.length === 0) break;
+              issues = issues.concat(result.data);
+              page += 1;
+            }
+            for (let { number } of issues) {
+              const issueData = await github.issues.get({...repo, issue_number: number});
+              const comments = await github.issues.listComments({...repo, issue_number: number});
+              if (issueData.data.labels.length === 0 && comments.data.length < 1) {
+                await github.issues.update({...repo, issue_number: number, state: 'closed'});
+                await github.issues.createComment({...repo, issue_number: number, body: 'Issue closed as it does not have any labels or comments.'});
+              }
+            }

+ 18 - 0
.github/workflows/codespell.yml

@@ -0,0 +1,18 @@
+name: Codespell
+
+on:
+  push:
+    branches: [main]
+  pull_request:
+    branches: [main]
+
+jobs:
+  codespell:
+    name: Check for spelling errors
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+      - name: Codespell
+        uses: codespell-project/actions-codespell@v2

+ 0 - 0
others/.github/workflows/debugger-action.yml → .github/workflows/debugger-action.yml


+ 1 - 1
others/.github/workflows/dl_youtube.yml → .github/workflows/dl_youtube.yml

@@ -7,7 +7,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Clone repository
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
 
       - name: download video
         run: |

+ 3 - 2
others/.github/workflows/genshin.yml → .github/workflows/genshin.yml

@@ -1,6 +1,7 @@
 name: "Genshin Impact Helper"
 
 on:
+# workflow_dispatch 手动点击 run 触发
   workflow_dispatch:
   schedule:
     - cron: "0 22 * * *"
@@ -10,10 +11,10 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       - name: Set up python
-        uses: actions/setup-python@v4
+        uses: actions/setup-python@v5
         with:
           python-version: 3.8
 

+ 0 - 0
others/.github/workflows/gitee-mirror.yml → .github/workflows/gitee-mirror.yml


+ 1 - 1
others/.github/workflows/test.yml → .github/workflows/test.yml

@@ -39,7 +39,7 @@ jobs:
       report_on: "routes,lib"
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       # 输出环境变量
       - run: echo $CI

+ 24 - 0
.vuepress/config.ts

@@ -0,0 +1,24 @@
+import { defineConfig, SiteConfig } from 'vitepress'
+import locales from './locales'
+import { readdir, writeFile } from 'fs/promises'
+import { resolve } from 'path'
+
+export default defineConfig({
+    title: 'flutter_docs',
+    locales: locales.locales,
+    sitemap: {
+        hostname: 'https://flutter_docs.yoqi.me'
+    },
+    buildEnd: async (config: SiteConfig) => {
+        const templateDir = resolve(config.outDir, 'templates');
+        const templateList = resolve(templateDir, "index.json");
+        let files = [];
+        try {
+            files = await readdir(templateDir);
+            files = files.filter(file => !file.startsWith('.'));
+        } catch (e) {
+            // ignore
+        }
+        await writeFile(templateList, JSON.stringify(files));
+    }
+})

+ 62 - 0
.vuepress/locales/en.ts

@@ -0,0 +1,62 @@
+import { createRequire } from 'module'
+import { defineConfig } from 'vitepress'
+
+const require = createRequire(import.meta.url)
+const pkg = require('vitepress/package.json')
+
+export default defineConfig({
+  lang: 'en-US',
+  description: 'A kernel-based root solution for Android GKI devices.',
+
+  themeConfig: {
+    nav: nav(),
+
+    lastUpdatedText: 'last Updated',
+
+    sidebar: {
+      '/guide/': sidebarGuide()
+    },
+
+    socialLinks: [
+      { icon: 'github', link: 'https://github.com/tiann/KernelSU' }
+    ],
+
+    footer: {
+        message: 'Released under the GPL3 License.',
+        copyright: 'Copyright © 2022-present KernelSU Developers'
+    },
+
+    editLink: {
+        pattern: 'https://github.com/tiann/KernelSU/edit/main/website/docs/:path',
+        text: 'Edit this page on GitHub'
+    }
+  }
+})
+
+function nav() {
+  return [
+    { text: 'Guide', link: '/guide/what-is-kernelsu' },
+  ]
+}
+
+function sidebarGuide() {
+  return [
+    {
+        text: 'Guide',
+        items: [
+          { text: 'What is KernelSU?', link: '/guide/what-is-kernelsu' },
+          { text: 'Difference with Magisk', link: '/guide/difference-with-magisk' },
+          { text: 'Installation', link: '/guide/installation' },
+          { text: 'How to build?', link: '/guide/how-to-build' },
+          { text: 'Intergrate for non-GKI devices', link: '/guide/how-to-integrate-for-non-gki'},
+          { text: 'Unofficially supported devices', link: '/guide/unofficially-support-devices.md' },
+          { text: 'Module Guide', link: '/guide/module.md' },
+          { text: 'Module WebUI', link: '/guide/module-webui.md' },
+          { text: 'App Profile', link: '/guide/app-profile.md' },
+          { text: 'Rescue from bootloop', link: '/guide/rescue-from-bootloop.md' },
+          { text: 'FAQ', link: '/guide/faq' },
+          { text: 'Hidden features', link: '/guide/hidden-features' },
+        ]
+    }
+  ]
+}

+ 20 - 0
.vuepress/locales/index.ts

@@ -0,0 +1,20 @@
+import { defineConfig } from 'vitepress'
+import en from './en'
+import zh_CN from './zh_CN'
+
+export default defineConfig({
+  locales: {
+    root: {
+      label: 'English',
+      lang: en.lang,
+      themeConfig: en.themeConfig,
+      description: en.description
+    },
+    zh_CN: {
+      label: '简体中文',
+      lang: zh_CN.lang,
+      themeConfig: zh_CN.themeConfig,
+      description: zh_CN.description
+    },
+  }
+})

+ 62 - 0
.vuepress/locales/zh_CN.ts

@@ -0,0 +1,62 @@
+import { createRequire } from 'module'
+import { defineConfig } from 'vitepress'
+
+const require = createRequire(import.meta.url)
+const pkg = require('vitepress/package.json')
+
+export default defineConfig({
+  lang: 'zh-CN',
+  description: '一个基于内核,为安卓 GKI 准备的 root 方案。',
+
+  themeConfig: {
+    nav: nav(),
+
+    lastUpdatedText: '最后更新',
+
+    sidebar: {
+      '/zh_CN/guide/': sidebarGuide()
+    },
+
+    socialLinks: [
+      { icon: 'github', link: 'https://github.com/tiann/KernelSU' }
+    ],
+
+    footer: {
+      message: '在 GPL3 许可证下发布。',
+      copyright: 'Copyright © 2022-现在 KernelSU 开发者'
+    },
+
+    editLink: {
+      pattern: 'https://github.com/tiann/KernelSU/edit/main/website/docs/:path',
+      text: '在 GitHub 中编辑本页'
+    }
+  }
+})
+
+function nav() {
+  return [
+    { text: '指南', link: '/zh_CN/guide/what-is-kernelsu' },
+  ]
+}
+
+function sidebarGuide() {
+  return [
+    {
+      text: 'Guide',
+      items: [
+        { text: '什么是 KernelSU?', link: '/zh_CN/guide/what-is-kernelsu' },
+        { text: 'KernelSU 模块与 Magisk 的差异', link: '/zh_CN/guide/difference-with-magisk' },
+        { text: '安装', link: '/zh_CN/guide/installation' },
+        { text: '如何构建?', link: '/zh_CN/guide/how-to-build' },
+        { text: '如何为非GKI设备集成 KernelSU', link: '/zh_CN/guide/how-to-integrate-for-non-gki' },
+        { text: '非官方支持设备', link: '/zh_CN/guide/unofficially-support-devices.md' },
+        { text: '模块开发指南', link: '/zh_CN/guide/module.md' },
+        { text: '模块 Web 界面', link: '/zh_CN/guide/module-webui.md' },
+        { text: 'App Profile', link: '/zh_CN/guide/app-profile.md' },
+        { text: '救砖', link: '/zh_CN/guide/rescue-from-bootloop.md' },
+        { text: '常见问题', link: '/zh_CN/guide/faq' },
+        { text: '隐藏功能', link: '/zh_CN/guide/hidden-features' },
+      ]
+    }
+  ]
+}

+ 0 - 14
CONTRIBUTING.md

@@ -37,17 +37,3 @@ Do not add your issue as a comment to an existing issue unless it's for the iden
 
 The more information you can provide, the more likely someone will be successful at reproducing the issue and finding a fix.
 
-
-## Pull Requests
-
-When creating Pull Requests, follow the most [common good practices](https://gist.github.com/MarcDiethelm/7303312), 
-respect the swiftlint static checks (modifications/exceptions may be discussed), and create an awesome description so 
-we can understand it without asking any whys.
-
-## Commit Messages
-
-Commit messages matter. Aim to be succinct and descriptive at the same time. We consider as a good source 
-[How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/) from Chris Beams.
-# Thank You!
-
-Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to contribute.

+ 0 - 77
R/aa.Rmd

@@ -1,77 +0,0 @@
----
-title: "R Notebook"
-output: html_notebook
----
-
-## 环境预处理
-
-```{r}
-
-rm(list = ls())
-
-getOption("repos")
-options(repos = c(CRAN = "https://mirrors.ustc.edu.cn/CRAN/"))
-
-if (!requireNamespace("RMediation", quietly = TRUE)) {
-    install.packages("RMediation")
-}
-
-```
-
-## 数据导入
-
-导入 usedvariable.sav数据,注意编码。
-
-```{r}
-
-setwd("F:/workspace/VS/github-actions-creator/R")
-
-
-library(haven)
-file_path <- "usedvariable.sav"
-base_data <- read_sav(file_path, encoding = "GBK")
-
-head(your_data, 10)
-
-```
-
-## bootstrapping 估计
-
-```{r}
-
-current_data = 
-  
-library(RMediation)
-
-# 定义中介模型
-model <- lm(Y ~ X + M, data = your_data)
-
-# 运行蒙特卡洛法进行 Bootstrap
-# 这里设置了2000次 Bootstrap 重采样
-bootstrap_result <- mediate(model, treat = "X", mediator = "M", sims = 2000)
-
-# 定义中介模型
-# model 是一个 lm 对象,表示你的模型
-mediation_model <- mediate(model, treat = "X", mediator = "M", outcome = "O", sims = 2000)
-
-# 输出 Bootstrap 中介效应的置信区间
-summary(bootstrap_result)
-
-
-```
-
-## 附录
-
-`mediate()` 函数是 RMediation 软件包中用于执行中介分析的函数。它允许您评估中介变量对处理变量和结果变量之间关系的影响,通过蒙特卡洛模拟来计算中介效应的置信区间。以下是该函数的主要参数及其说明:
-
-### 参数:
-
--   `model`:一个包含处理、中介和结果变量的线性回归模型(例如,使用 `lm()` 函数拟合的模型对象)。
--   `treat`:处理变量的名称。
--   `mediator`:中介变量的名称。
--   `outcome`:结果变量的名称。
--   `sims`:Bootstrap 重采样的次数,用于计算中介效应的置信区间。
-
-### 返回值:
-
-`mediate()` 函数返回一个对象,其中包含中介效应的估计值、标准误差、置信区间等统计信息。

+ 4 - 1
ai/.github/workflows/main.yml

@@ -4,7 +4,10 @@ jobs:
   build:
     runs-on: ubuntu-latest
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v4
+        with:
+          persist-credentials: false
+          
     - name: test build-Build and run dev container task
       uses: devcontainers/ci@v0.2
       with:

+ 9 - 7
android/.github/workflows/main.yml

@@ -14,8 +14,10 @@ jobs:
     env:
       SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
     steps:
-      - uses: actions/checkout@v2
-
+      - uses: actions/checkout@v4
+        with:
+          persist-credentials: false
+          
       - name: set up JDK 1.8
         uses: actions/setup-java@v2
         with:
@@ -31,11 +33,11 @@ jobs:
       - name: Gradle cache
         id: cache
         uses: actions/cache@v2
-          with:
-            path: ~/.gradle/caches
-            key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
-            restore-keys: |
-              ${{ runner.os }}-gradle-
+        with:
+          path: ~/.gradle/caches
+          key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
+          restore-keys: |
+            ${{ runner.os }}-gradle-
 
       - name: Enable KVM group perms
         run: |

+ 0 - 28
android/android-dev-eclipse/README.md

@@ -1,28 +0,0 @@
-## docker-android
-
-
-| images     | desc | other |
-| -------- | ---- | ---- |
-| android-dev |   基于Ubuntu的Android编译环境。   |      |
-| android-source     |  基于Ubuntu的安卓系统源码编译。    |      |
-|          |      |      |
-
-## usage
-
-1. 启动docker环境
-
-```
-docker-compose up -d
-```
-
-2. 进入容器编译项目
-
-```
-aapt package -f \
--M AndroidManifest.xml \ 
--I "$ANDROID_HOME/platforms/android-N/android.jar" \
--S res/ \
--J gen/ \
--m \
-
-```

+ 1 - 1
android/android-dev-eclipse/docker-compose.debug.yml

@@ -2,7 +2,7 @@ version: '2.1'
 
 services:
   docker-android-sdk:
-    image: docker-android-sdk
+    image: jianboy/docker-android-sdk:latest
     build:
       context: .
       dockerfile: Dockerfile

+ 1 - 1
android/android-dev-eclipse/docker-compose.yml

@@ -2,4 +2,4 @@ version: '2.1'
 
 services:
   docker-android-sdk:
-    image: docker-android-sdk
+    image: jianboy/docker-android-sdk:latest

+ 0 - 9
android/android-dev-eclipse/tools/build_project.sh

@@ -1,9 +0,0 @@
-
-
-aapt package -f \
--M AndroidManifest.xml \ 
--I "$ANDROID_HOME/platforms/android-N/android.jar" \
--S res/ \
--J gen/ \
--m \
-

+ 0 - 13
android/android-dev-studio/.dockerignore

@@ -1,13 +0,0 @@
-node_modules
-npm-debug.log
-Dockerfile*
-docker-compose*
-.dockerignore
-.git
-.gitignore
-.env
-*/bin
-*/obj
-README.md
-LICENSE
-.vscode

+ 0 - 27
android/android-dev-studio/Dockerfile

@@ -1,27 +0,0 @@
-FROM ubuntu:18.10
-
-ENV ANDROID_COMPILE_SDK 25
-ENV VERSION_SDK_TOOLS 3859397
-ENV ANDROID_HOME "/sdk"
-ENV PATH "${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools"
-
-RUN sed -i "s|http://archive.ubuntu.com|http://mirrors.aliyun.com|g" /etc/apt/sources.list && apt-get -y update
-
-RUN apt-get install -qqy --no-install-recommends \
-    curl unzip lib32stdc++6 lib32z1 lib32ncurses5 lib32gcc1 lib32stdc++6 libc6-i386 html2text openjdk-8-jdk \
-    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
-
-# download android-sdk
-RUN curl -s -o sdk-tools.zip https://dl.google.com/android/repository/sdk-tools-linux-${VERSION_SDK_TOOLS}.zip && \
-    unzip /sdk-tools.zip -d /sdk && rm -v /sdk-tools.zip
-
-RUN mkdir -p $ANDROID_HOME/licenses/ && \
-    echo "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > $ANDROID_HOME/licenses/android-sdk-license && \
-    echo "84831b9409646a918e30573bab4c9c91346d8abd" > $ANDROID_HOME/licenses/android-sdk-preview-license
-
-# Upadte sdkmanager
-RUN mkdir -p /root/.android && \
-    touch /root/.android/repositories.cfg && \
-    sdkmanager --update
-
-CMD ["/bin/bash" ,"-c" ,"while true;do echo hello docker;sleep 1;done"]

+ 0 - 28
android/android-dev-studio/README.md

@@ -1,28 +0,0 @@
-## docker-android
-
-
-| images     | desc | other |
-| -------- | ---- | ---- |
-| android-dev |   基于Ubuntu的Android编译环境。   |      |
-| android-source     |  基于Ubuntu的安卓系统源码编译。    |      |
-|          |      |      |
-
-## usage
-
-1. 启动docker环境
-
-```
-docker-compose up -d
-```
-
-2. 进入容器编译项目
-
-```
-aapt package -f \
--M AndroidManifest.xml \ 
--I "$ANDROID_HOME/platforms/android-N/android.jar" \
--S res/ \
--J gen/ \
--m \
-
-```

+ 0 - 8
android/android-dev-studio/docker-compose.debug.yml

@@ -1,8 +0,0 @@
-version: '2.1'
-
-services:
-  docker-android-sdk:
-    image: docker-android-sdk
-    build:
-      context: .
-      dockerfile: Dockerfile

+ 0 - 5
android/android-dev-studio/docker-compose.yml

@@ -1,5 +0,0 @@
-version: '2.1'
-
-services:
-  docker-android-sdk:
-    image: docker-android-sdk

+ 0 - 9
android/android-dev-studio/tools/build_project.sh

@@ -1,9 +0,0 @@
-
-
-aapt package -f \
--M AndroidManifest.xml \ 
--I "$ANDROID_HOME/platforms/android-N/android.jar" \
--S res/ \
--J gen/ \
--m \
-

+ 0 - 29
android/android-eclipse/ Dockerfile

@@ -1,29 +0,0 @@
-FROM ubuntu:18.10
-
-ENV ANDROID_COMPILE_SDK 25
-ENV VERSION_SDK_TOOLS 3859397
-ENV ANDROID_HOME "/sdk"
-ENV PATH "${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools"
-
-RUN sed -i "s|http://archive.ubuntu.com|http://mirrors.aliyun.com|g" /etc/apt/sources.list && apt-get -y update
-
-RUN apt-get install -qqy --no-install-recommends \
-    curl unzip lib32stdc++6 lib32z1 lib32ncurses5 lib32gcc1 lib32stdc++6 libc6-i386 html2text openjdk-8-jdk \
-    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
-
-# download android-sdk
-RUN curl -s -o sdk-tools.zip https://dl.google.com/android/repository/sdk-tools-linux-${VERSION_SDK_TOOLS}.zip && \
-    unzip /sdk-tools.zip -d /sdk && rm -v /sdk-tools.zip
-
-RUN mkdir -p $ANDROID_HOME/licenses/ && \
-    echo "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > $ANDROID_HOME/licenses/android-sdk-license && \
-    echo "84831b9409646a918e30573bab4c9c91346d8abd" > $ANDROID_HOME/licenses/android-sdk-preview-license
-
-# Upadte sdkmanager
-RUN mkdir -p /root/.android && \
-    touch /root/.android/repositories.cfg && \
-    sdkmanager --update
-
-CMD ["/bin/bash" ,"-c" ,"while true;do echo hello docker;sleep 1;done"]
-
-

+ 0 - 25
android/android-eclipse/.github/workflows/main.yml

@@ -1,25 +0,0 @@
-
-name: Android CI
-
-on:
-  push:
-    branches: [ as ]
-  pull_request:
-    branches: [ as ]
-
-jobs:
-  build:
-
-    runs-on: ubuntu-latest
-
-    steps:
-      - uses: actions/checkout@v2
-      
-      - name: set up JDK 1.8
-        uses: actions/setup-java@v2
-        with:
-          java-version: 1.8
-          distribution: 'adopt'
-    
-  #     - name: Build Debug APK
-  #       run:

+ 0 - 13
android/android-source/.dockerignore

@@ -1,13 +0,0 @@
-node_modules
-npm-debug.log
-Dockerfile*
-docker-compose*
-.dockerignore
-.git
-.gitignore
-.env
-*/bin
-*/obj
-README.md
-LICENSE
-.vscode

+ 0 - 49
android/android-source/README.md

@@ -1,49 +0,0 @@
-## android-source
-
-android 系统源码编译,android源码特别大,所以不要放到镜像中打包,所以本质上本镜像就是一个 Ubuntu附带gcc等编译工具而已。
-
-**系统要求**
-
-* docker中Ubuntu18
-* 内存16G
-* 磁盘200G SSD
-
-## 使用
-
-1、启动编译系统(略),下面通过docker-compose启动。
-
-```
-docker run --name aosp6 -it android-source /bin/bash
-
-```
-
-2、下载源码,启动编译系统
-
-下载源码可能耗时一两天,大概50G,解压80G,在aosp还原则会120G左右。
-
-```
-sh tools/download_android_repo.sh
-```
-
-这个可以直接插上已经下载好Android系统源码的磁盘,然后把指定目录挂载到docker精选即可。
-
-```
-cd xx/aosp
-docker-composer up -d
-```
-
-3、编译源码
-
-```
-sh tools/build_src.sh
-
-```
-
-4、测试
-
-编译后,在 build会有对象的系统镜像文件,最好真机中刷机体验。或者虚拟机中更加镜像创建,这个时候就需要可视化环境,也就不能在docker中跑了,windows系统中安装好emulator,不是某某模拟器,某某模拟器自带镜像:
-
-```
-emulator -kernel ./kernel/goldfish-android-3.4/arch/x86/boot/zImage &
-```
-

+ 0 - 8
android/android-source/docker-compose.debug.yml

@@ -1,8 +0,0 @@
-version: '2.1'
-
-services:
-  docker-android-sdk:
-    image: docker-android-sdk
-    build:
-      context: .
-      dockerfile: Dockerfile

+ 3 - 0
android/android-source/docker-compose.yml

@@ -5,3 +5,6 @@ services:
     image: android-source
     volumes:
       - .:/root/aosp
+    build:
+      context: .
+      dockerfile: Dockerfile

+ 0 - 5
android/android-source/tools/build_src.sh

@@ -1,5 +0,0 @@
-
-source build/envsetup.sh
-export USER=$(whoami)
-lunch aosp_hammerhead-eng
-make -j16

+ 0 - 16
android/android-source/tools/download_android_repo.sh

@@ -1,16 +0,0 @@
-#!bin/sh
-
-mkdir ~/bin
-PATH=~/bin:$PATH
-
-curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
-chmod a+x ~/bin/repo
-
-# 创建一个空目录用来保存android源代码
-mkdir ~/aosp
-cd ~/aosp
-
-# 指定从清华的镜像,只下6.0.1版本Android 
-repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.1_r46
-#同步源码树,并发设置为8,不要太大
-repo sync -j8

+ 4 - 1
docker/.github/workflows/main.yml

@@ -9,7 +9,10 @@ jobs:
   build:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
+        with:
+          persist-credentials: false
+          
       - name: Set up JDK 11
  # 这里使用java11的环境, 其他项目在github action中找到对应的语言环境就行
         uses: actions/setup-java@v2

+ 3 - 3
docker/.github/workflows/vue_deploy.yml

@@ -26,7 +26,7 @@ jobs:
           node-version: [12.x]
     
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       - name: User Node.js ${{natrix.node-version}}
         users: actions/setup=node@v1
@@ -48,7 +48,7 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       - uses: actions/download-artifact@v2
         with:
@@ -66,7 +66,7 @@ jobs:
     needs: [docker_image]
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
       - run: |
       docker login -u ${{secrets.DOCKER_HUB_NAME}} -p ${{secrets.DOCKER_HUB_PASSWORD}}
       docker-compose -f docker-compose.yml up -d

+ 0 - 30
docker/db/mongo/docker-compose.debug.yml

@@ -1,30 +0,0 @@
-version: '3.4'
-
-services:
-
-  mongo:
-    image: mongo:latest
-    container_name: infisical-dev-mongo
-    restart: always
-    # env_file: .env
-    environment:
-      - MONGO_INITDB_ROOT_USERNAME=root
-      - MONGO_INITDB_ROOT_PASSWORD=example
-    volumes:
-      - mongo-data:/data/db
-    networks:
-      - infisical-dev
-    ports:
-      - "27017:27017"
-    logging:
-        driver: 'json-file'
-        options:
-            max-size: '30m'
-            max-file: '1'
-            
-volumes:
-  mongo-data:
-
-networks:
-  infisical-dev:
-    driver: bridge

+ 7 - 0
docker/db/mysql/docker-compose.debug.yml

@@ -3,6 +3,8 @@ version: '3.4'
 services:
 
   postgres:
+    # image: 'registry.cn-hangzhou.aliyuncs.com/kennylee/postgresql:12.4'
+    container_name: db_postgres
     image: postgres:16.0
     environment:
       POSTGRES_DB: chat
@@ -15,6 +17,11 @@ services:
     restart: unless-stopped
     networks:
       - app-network
+    logging:
+      driver: 'json-file'
+      options:
+        max-size: '12m'
+        max-file: '5'
 
   mariadb:
     container_name: mariadb_container

+ 0 - 0
docker/db/mysql/my.cnf


+ 0 - 19
docker/db/postgresql/docker-compose.yml

@@ -1,19 +0,0 @@
-version: '2'
-
-services:
-  postgresql:
-    image: 'registry.cn-hangzhou.aliyuncs.com/kennylee/postgresql:12.4'
-    container_name: "postgresql"
-    ports:
-      - '5432:5432'
-    volumes:
-      - './data/data:/bitnami/postgresql'
-      - './data/conf:/bitnami/postgresql/conf/'
-    environment:
-      - POSTGRESQL_PASSWORD=password123456
-    restart: on-failure
-    logging:
-      driver: 'json-file'
-      options:
-        max-size: '12m'
-        max-file: '5'

+ 0 - 37
docker/db/redis/docker-compose.debug.yml

@@ -1,37 +0,0 @@
-version: '3.4'
-
-services:
-
-  redis:
-    image: redis:7.2.3
-    container_name: infisical-dev-redis
-    environment:
-      - ALLOW_EMPTY_PASSWORD=yes
-    ports:
-      - 6379:6379
-    volumes:
-      - redis_data:/data
-    networks:
-      - infisical-dev
-    # command: [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
-    logging:
-      driver: 'json-file'
-      options:
-        max-size: '30m'
-        max-file: '1'
-  redis-commander:
-    container_name: infisical-dev-redis-commander
-    image: rediscommander/redis-commander:latest
-    restart: always
-    depends_on:
-      - redis
-    environment:
-      - REDIS_HOSTS=local:redis:6379
-    ports:
-      - "8085:8081"
-    networks:
-      - infisical-dev
-
-networks:
-  infisical-dev:
-    driver: bridge

+ 0 - 73
docker/db/redis/redis.conf

@@ -1,73 +0,0 @@
-bind 127.0.0.1 -::1
-protected-mode yes
-port 6379
-tcp-backlog 511
-timeout 0
-tcp-keepalive 300
-daemonize no
-pidfile /var/run/redis_6379.pid
-loglevel notice
-logfile ""
-databases 16
-always-show-logo no
-set-proc-title yes
-proc-title-template "{title} {listen-addr} {server-mode}"
-save 20 3
-stop-writes-on-bgsave-error yes
-rdbcompression yes
-rdbchecksum yes
-dbfilename dump.rdb
-rdb-del-sync-files no
-dir ./
-replica-serve-stale-data yes
-replica-read-only yes
-repl-diskless-sync yes
-repl-diskless-sync-delay 5
-repl-diskless-sync-max-replicas 0
-repl-diskless-load disabled
-repl-disable-tcp-nodelay no
-replica-priority 100
-acllog-max-len 128
-lazyfree-lazy-eviction no
-lazyfree-lazy-expire no
-lazyfree-lazy-server-del no
-replica-lazy-flush no
-lazyfree-lazy-user-del no
-lazyfree-lazy-user-flush no
-oom-score-adj no
-oom-score-adj-values 0 200 800
-disable-thp yes
-appendonly no
-appendfilename "appendonly.aof"
-appenddirname "appendonlydir"
-appendfsync everysec
-no-appendfsync-on-rewrite no
-auto-aof-rewrite-percentage 100
-auto-aof-rewrite-min-size 64mb
-aof-load-truncated yes
-aof-use-rdb-preamble yes
-aof-timestamp-enabled no
- 
-slowlog-log-slower-than 10000
-slowlog-max-len 128
-latency-monitor-threshold 0
-notify-keyspace-events ""
-hash-max-listpack-entries 512
-hash-max-listpack-value 64
-list-max-listpack-size -2
-list-compress-depth 0
-set-max-intset-entries 512
-zset-max-listpack-entries 128
-zset-max-listpack-value 64
-hll-sparse-max-bytes 3000
-stream-node-max-bytes 4096
-stream-node-max-entries 100
-activerehashing yes
-client-output-buffer-limit normal 0 0 0
-client-output-buffer-limit replica 256mb 64mb 60
-client-output-buffer-limit pubsub 32mb 8mb 60
-hz 10
-dynamic-hz yes
-aof-rewrite-incremental-fsync yes
-rdb-save-incremental-fsync yes
-jemalloc-bg-thread yes

+ 0 - 0
docker/rstudio/start.sh


+ 0 - 6
docs/.vuepress/config.js

@@ -1,6 +0,0 @@
-// config.js
-module.exports = {
-    theme: 'vdoing',
-    dest: 'public', // 可选:生成文件的目标目录
-
-}

+ 97 - 0
docs/dev/android.md

@@ -15,3 +15,100 @@
 docker-compose up -d
 ```
 
+2. 进入容器编译项目
+
+```
+aapt package -f \
+-M AndroidManifest.xml \ 
+-I "$ANDROID_HOME/platforms/android-N/android.jar" \
+-S res/ \
+-J gen/ \
+-m \
+
+```
+
+
+## android-source
+
+android 系统源码编译,android源码特别大,所以不要放到镜像中打包,所以本质上本镜像就是一个 Ubuntu附带gcc等编译工具而已。
+
+**系统要求**
+
+* docker中Ubuntu18
+* 内存16G
+* 磁盘200G SSD
+
+## 使用
+
+1、启动编译系统(略),下面通过docker-compose启动。
+
+```
+docker run --name aosp6 -it android-source /bin/bash
+
+```
+
+2、下载源码,启动编译系统
+
+下载源码可能耗时一两天,大概50G,解压80G,在aosp还原则会120G左右。
+
+```
+sh tools/download_android_repo.sh
+```
+
+这个可以直接插上已经下载好Android系统源码的磁盘,然后把指定目录挂载到docker精选即可。
+
+```
+cd xx/aosp
+docker-composer up -d
+```
+
+3、编译源码
+
+```
+sh tools/build_src.sh
+
+```
+
+4、测试
+
+编译后,在 build会有对象的系统镜像文件,最好真机中刷机体验。或者虚拟机中更加镜像创建,这个时候就需要可视化环境,也就不能在docker中跑了,windows系统中安装好emulator,不是某某模拟器,某某模拟器自带镜像:
+
+```
+emulator -kernel ./kernel/goldfish-android-3.4/arch/x86/boot/zImage &
+```
+
+
+
+## android 源码构建
+
+**下载源码**
+
+采用repo工具同步多个git项目:
+
+```
+
+mkdir ~/bin
+PATH=~/bin:$PATH
+
+curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
+chmod a+x ~/bin/repo
+
+# 创建一个空目录用来保存android源代码
+mkdir ~/aosp
+cd ~/aosp
+
+# 指定从清华的镜像,只下6.0.1版本Android 
+repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.1_r46
+#同步源码树,并发设置为8,不要太大
+repo sync -j8
+```
+
+**构建源码**
+
+```
+
+source build/envsetup.sh
+export USER=$(whoami)
+lunch aosp_hammerhead-eng
+make -j16
+```

+ 2 - 5
docs/dev/flutter.md

@@ -48,13 +48,10 @@ android sdk  21-33
 coding 目前在用的版本:
 
 ```
-sift-docker.pkg.coding.net/flutter-team/dev-container/dev-allinone:1.0.9-flutter
+sift-docker.pkg.coding.net/flutter-team/dev-container/dev-allinone:1.0.12-flutter
 ```
-支持flutter开发
 
-```
-sift-docker.pkg.coding.net/flutter-team/dev-container/dev-allinone:1.0.11-flutter
-```
+
 支持 flutter 开发
 更新 python3 支持,环境变量添加到.bashrc
 

+ 105 - 0
docs/dev/java.md

@@ -0,0 +1,105 @@
+# Java
+
+Dockerfile-build 包含 maven,gradle,ant,java 等工具。
+
+Gradle本地库 `/home/gradle/.gradle`
+Maven本地仓库挂载 `/var/maven/repository`
+
+## Uage
+
+install java, gradle, maven, ant, etc.
+
+java version:
+- 8
+- 11
+- 14
+- 15
+- 16
+- 17
+
+gradle version:
+- 6.8.3
+- 7.0.2
+
+maven version:
+- 3.6.3
+
+ant version:
+- 1.10.9
+
+
+### 集成部署
+
+
+前端项目打包,放到后端springboot项目 resources 目录:
+ ```npm
+npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
+npm install --registry https://registry.npm.taobao.org  
+npm run build
+ ```
+* 将文件放到 \resources\static下,然后将java程序打包成jar包
+* 修改application-prod.yml中的datasource地址
+* 数据库账号密码设置为:root/123456
+* 数据库脚本领取地址:[https://www.mindskip.net:999](https://www.mindskip.net:999)
+* 创建数据库xzs,导入数据库脚本
+* 学生端访问地址为:<http://ip:8000/student>
+* 管理员端访问地址为:<http://ip:8000/admin>
+* 执行下列命令,运行程序
+
+ ```java
+nohup java -Duser.timezone=Asia/Shanghai -jar -Dspring.profiles.active=prod  xzs-3.9.0.jar  > start1.log  2>&1 &
+ ```
+
+### 前后端分离部署
+
+* 采用前后端分离方式部署,后端启动和部署方式1一样
+* 前端采用nginx来装载静态页面,先创建/usr/local/xzs/web/目录,然后将打包后的student、admin放到此目录下
+* 页面访问端口为8001,注意检查防火墙端口是否打开
+* 学生端访问地址为:<http://ip:8001/student>
+* 管理员端访问地址为:<http://ip:8001/admin>
+* nginx配置如下:
+
+```nginx
+server {
+    listen      8001;
+    server_name xzs;
+    location / {
+        root /usr/local/xzs/web/;
+        index index.html;
+    }
+    location /api/ {
+       proxy_pass  http://localhost:8000;
+    }
+}
+```
+
+### docker部署
+
+* 打开网站<https://gitee.com/mindskip/xzs-mysql>,找到docker目录,里面有已配置好的文件
+* 下载sql脚本,下载教程<https://www.mindskip.net:999>,然后解压sql压缩包,找到xzs-mysql.sql文件,编辑此文件,在文件开头加如下代码:
+
+```xzs-mysql
+CREATE DATABASE `xzs` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
+USE xzs;
+```
+
+* sql文件改好后,将文件移动到 docker/sql 目录下
+* 将整个docker目录中的文件,复制到/usr/local/xzs下面
+* 进入到install目录,执行下面命令,安装docker-compose
+
+```docker-compose
+cd /usr/local/xzs/install
+mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
+chmod +x  /usr/local/bin/docker-compose
+docker-compose --version
+```
+
+* 执行下面命令,启动学之思网站,有问题可以看下/usr/local/xzs/log中的日志
+
+```docker-xzs
+cd /usr/local/xzs
+docker-compose up -d
+```
+
+* 学生端访问地址为:<http://ip:8000/student>
+* 管理员端访问地址为:<http://ip:8000/admin>

+ 23 - 1
docs/dev/nodejs.md

@@ -6,7 +6,7 @@ nodejs 开发,包括vue,react,angular,node服务端,桌面开发等
 如,项目需要在 node14 环境下开发,可以使用以下方式:
 
 ```
-docker run --rm -it -v /workspace:/app node:14 /bin/bash
+docker run --rm -it -w /app -v $(pwd):/app node:16 /bin/bash
 
 ```
 
@@ -56,3 +56,25 @@ git clone https://gitee.com/dromara/mayfly-go
 vscode://vscode-remote/ssh-remote+coding-ci-fc8-1hilhaeop-001%2344201d6d-d571-47fc-9836-7520ca2a61d7-imo@ci.coding.net:2201/workspace/
 
 ```
+
+
+
+
+```
+# 构建镜像
+docker build -t jianboy/node-build:20 .
+
+docker build -t jianboy/dev-allinone:1.0.1 .
+
+# 构建项目
+git clone https://gitee.com/dromara/mayfly-go
+docker run -it --rm -v /workspace:/workspaces jianboy/node-build:20
+
+yarn build
+
+docker build -t sift-docker.pkg.coding.net/flutter-team/dev-container/dev-allinone:1.0.5-flutter -f '.ide/Dockerfile-allinone-flutter'.
+
+
+vscode://vscode-remote/ssh-remote+coding-ci-fc8-1hilhaeop-001%2344201d6d-d571-47fc-9836-7520ca2a61d7-imo@ci.coding.net:2201/workspace/
+
+```

+ 31 - 20
docs/dev/php.md

@@ -1,26 +1,45 @@
 # php 开发
 
-基于 docker ,快速切换 php 版本开发环境,如,项目需要在 php7.4 环境下开发,可以使用以下方式:
 
+构建开发镜像:
+
+包含 composer + xdebug 
+```bash
+cd php\php74xc\
+docker build --pull --rm -f "Dockerfile" -t jianboy/php74xc:latest
+cd php\php8xc\
+docker build --pull --rm -f "Dockerfile" -t jianboy/php8xc:latest
+
+# 切换 php 版本
+cd workspace
+chmod -R 777 .
+docker run --rm -it -w /var/www/html -v $(pwd):/var/www/html -p 8000:8000 jianboy/php74xc:latest /bin/bash
+docker run --rm -it -w /var/www/html -v $(pwd):/var/www/html -p 8000:8000 jianboy/php8xc:latest /bin/bash
+
+composer install
+```
+
+php基础镜像:
 ```bash
 
 chmod -R 777 .
 docker run --rm -it -v $(pwd):/var/www/html -p 9000:80 php:8.3.6-apache
-docker run --rm -it -v $(pwd):/var/www/html -p 9000:80 php:8.1.8-apache
 
-docker run --rm -it -v $(pwd):/var/www/html -p 9000:80 php:7.4.27-apache
+docker run --rm -it -w /var/www/html -v $(pwd):/var/www/html -v $(pwd)/Downloads:/root/Downloads/MusicDL/ -p 9000:80 php:8.1.8-apache /bin/bash
 
-docker run --rm -it -v $(pwd):/var/www/html -p 9000:80 php:5.6.38-apache
+thinkphp new demo
+thinkphp serve
 
+# 其他版本
+docker run --rm -it -v $(pwd):/var/www/html -p 9000:80 php:7.4.27-apache
+docker run --rm -it -v $(pwd):/var/www/html -p 9000:80 php:5.6.38-apache
 ```
 
 开发环境需要 composer,启动下面容器即可:
 ```bash
-#php8+xdebug+composer
-mkdir -p php-demo
-chmod 777 php-demo && cd php-demo
+# php8+xdebug+composer
 docker run --rm -it -w /var/www/html -v $(pwd):/var/www/html -p 8000:8000 sineverba/php8xc:1.18.0 /bin/bash
-cd /var/www/html
+docker run --rm -it -w /var/www/html -v $(pwd):/var/www/html -p 8000:8000 sineverba/php74xc:1.11.0 /bin/bash
 ```
 
 laravel 项目使用下面容器,可以添加 `docker-compose.yaml` 配置一并启动数据库:
@@ -41,18 +60,6 @@ docker run -d --name laravel \
 
 ```
 
-php 命令行项目工具:
-```
-docker run --rm -it -w /var/www/html -v $(pwd):/var/www/html -v $(pwd)/Downloads:/root/Downloads/MusicDL/ -p 9000:80 php:8.1.8-apache /bin/bash
-
-docker run --rm -it -w /var/www/html -v /workspace:/app php:7.4 /bin/bash
-
-thinkphp new demo
-thinkphp serve
-```
-
-- -v /workspace:/app 挂载本地目录到容器内,/workspace 为本地目录,/app 为容器内目录
-
 ### 额外配置
 
 - 安装 composer
@@ -113,3 +120,7 @@ composer create-project --prefer-dist yiisoft/yii2-app-basic demo
 
 ## Rust
 
+
+## Reference
+
+- [sineverba/php74xc](https://github.com/sineverba/php74xc)

+ 6 - 4
docs/dev/python.md

@@ -10,15 +10,14 @@ docker run --rm -it -v /workspace:/app python:3.8 /bin/bash
 python环境编译较慢,为此最佳的方式 pull 镜像
 
 
+## 集成部署
+
+前端vue项目静态打包到 static 目录
 
 ## 前后端分离部署方案
 
 部署的方法很多
 
-## 前后端分别运行
-
-开发模式下可以这样做
-
 ## nginx + 前后分离
 
 前端静态打包dist,nginx指定root目录即可,对于/api 请求,反向代理转发到 proxy_pass http://127.0.0.1:9999
@@ -58,3 +57,6 @@ RUN apt-get update && apt-get install -y wget unzip openssh-server
 ENV LANG C.UTF-8
 ENV LANGUAGE C.UTF-8
 ```
+
+
+

+ 0 - 15
docs/package.json

@@ -1,15 +0,0 @@
-{
-  "name": "github_action_docs",
-  "version": "1.2.1",
-  "description": "总结 github action, gitlab ci/cd, gitpod 等",
-  "scripts": {
-    "build": "vitepress build",
-    "dev": "vitepress dev",
-    "preview": "vitepress preview"
-  },
-  "devDependencies": {
-    "vitepress": "^1.2.3"
-  },
-  "author": "",
-  "license": "ISC"
-}

+ 1 - 1
dotnet/.github/workflows/main.yml

@@ -11,7 +11,7 @@ jobs:
       runs-on: ubuntu-latest
 
       steps:
-        - uses: actions/checkout@v2
+        - uses: actions/checkout@v4
 
         - name: Setup .NET Core SDK
           uses: actions/setup-dotnet@v1

+ 3 - 3
dotnet/.github/workflows/msbuild.yml

@@ -5,7 +5,7 @@ jobs:
     runs-on: windows-latest
 
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v4
       
     - name: Add msbuild to PATH
       uses: microsoft/setup-msbuild@v1
@@ -38,7 +38,7 @@ jobs:
     runs-on: windows-latest
 
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v4
       
     - name: Add msbuild to PATH
       uses: microsoft/setup-msbuild@v1
@@ -71,7 +71,7 @@ jobs:
     # runs-on: windows-latest
 
     # steps:
-    # - uses: actions/checkout@v2
+    # - uses: actions/checkout@v4
       
     # - name: Add msbuild to PATH
       # uses: microsoft/setup-msbuild@v1

+ 2 - 2
dotnet/.github/workflows/push_to_docker.yml

@@ -20,7 +20,7 @@ jobs:
         node-version: [12.x]
 
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v4
     - name: Use Node.js ${{ matrix.node-version }}
       uses: actions/setup-node@v1
       with:
@@ -37,7 +37,7 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v4
     - name: Setup .NET Core
       uses: actions/setup-dotnet@v1
       with:

+ 2 - 2
dotnet/docker-compose.debug.yml

@@ -1,8 +1,8 @@
 version: '3.4'
 
 services:
-  githubactionscreator:
-    image: githubactionscreator
+  dotnet:
+    image: jianbot/dotnet:latest
     build:
       context: .
       dockerfile: ./Dockerfile

+ 0 - 2
flutter/.devcontainer/3.13.5/devcontainer.json

@@ -17,7 +17,6 @@
 	// 	}
 	// },
 
-	// Set *default* container specific settings.json values on container create.
 	"settings": {
 		"java.home": "/docker-java-home",
 		"java.import.gradle.java.home": "/usr/local/sdkman/candidates/java/current",
@@ -28,7 +27,6 @@
 		}]
 	},
 	
-	// Add the IDs of extensions you want installed when the container is created.
 	"extensions": [
 		"dart-code.dart-code",
 		"dart-code.flutter"

+ 1 - 0
flutter/.devcontainer/3.7.7/Dockerfile

@@ -22,6 +22,7 @@ RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/
 
 USER vscode
 WORKDIR /home/vscode
+# ARG FLUTTER_VERSION="2.10.5"
 ARG FLUTTER_VERSION="3.7.7"
 ENV ANDROID_HOME=/home/vscode/androidsdk \
     FLUTTER_HOME=/home/vscode/flutter

+ 1 - 2
flutter/.devcontainer/3.7.7/devcontainer.json

@@ -5,7 +5,6 @@
 	"name": "Java 16",
 	"image": "jianboy/flutter-dev-container:3.13.5",
 
-	// Set *default* container specific settings.json values on container create.
 	"settings": {
 		"java.home": "/docker-java-home",
 		"java.import.gradle.java.home": "/usr/local/sdkman/candidates/java/current",
@@ -16,8 +15,8 @@
 		}]
 	},
 	
-	// Add the IDs of extensions you want installed when the container is created.
 	"extensions": [
+		// "vscjava.vscode-java-pack",
 		"dart-code.dart-code",
 		"dart-code.flutter"
 	],

+ 0 - 52
flutter/.devcontainer/Dockerfile-2.10.5

@@ -1,52 +0,0 @@
-# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.233.0/containers/java-8/.devcontainer/base.Dockerfile
-
-# [Choice] Java version: 11, 16
-ARG VARIANT="16"
-FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT}
-
-# [Option] Install Maven
-ARG INSTALL_MAVEN="false"
-ARG MAVEN_VERSION=""
-ARG INSTALL_JAVA="true"
-# [Option] Install Gradle
-ARG INSTALL_GRADLE="false"
-ARG GRADLE_VERSION="7.2.2"
-# ARG JAVA_VERSION="11.0.12.hs-adpt"
-ARG JAVA_VERSION="8.0.372-tem"
-RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \
-    && if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi
-# install Java
-
-RUN if ["${INSTALL_JAVA}" = "true"]; then su  vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install java \"${JAVA_VERSION}\""; fi
-
-USER vscode
-WORKDIR /home/vscode
-ARG FLUTTER_VERSION="2.10.5"
-ENV ANDROID_HOME=/home/vscode/androidsdk \
-    FLUTTER_HOME=/home/vscode/flutter
-
-RUN wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip \
-    && mkdir -p $ANDROID_HOME/cmdline-tools/latest \
-    && unzip commandlinetools-linux-*.zip -d $ANDROID_HOME \
-    && rm -f commandlinetools-linux-*.zip \
-    && mv $ANDROID_HOME/cmdline-tools/bin $ANDROID_HOME/cmdline-tools/latest \
-    && mv $ANDROID_HOME/cmdline-tools/lib $ANDROID_HOME/cmdline-tools/latest
-
-RUN echo "export ANDROID_HOME=$ANDROID_HOME" >> /home/vscode/.bashrc \
-    && echo 'export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools:$PATH' >> /home/vscode/.bashrc
-
-ENV PATH=$PATH:$FLUTTER_HOME/bin:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/emulator
-# Install Android Image version 30
-RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-33"
-# RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "system-images;android-30;google_apis;x86_64"
-# RUN echo no | $ANDROID_HOME/cmdline-tools/latest/bin/avdmanager create avd -n avd28 -k "system-images;android-30;google_apis;x86_64"
-
-# Install flutter
-RUN git clone --branch ${FLUTTER_VERSION} https://github.com/flutter/flutter.git ${FLUTTER_HOME} \
-    && cd ${FLUTTER_HOME} \
-    && ./bin/flutter precache \
-    && ./bin/flutter doctor
-
-# # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
-# ARG NODE_VERSION="lts/*"
-# RUN if [ "${NODE_VERSION}" != "none" ]; then umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1; fi

+ 0 - 53
flutter/.devcontainer/Dockerfile-3.0.5

@@ -1,53 +0,0 @@
-# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.233.0/containers/java-8/.devcontainer/base.Dockerfile
-
-# [Choice] Java version: 11, 16
-ARG VARIANT="16"
-FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT}
-
-# [Option] Install Maven
-ARG INSTALL_MAVEN="false"
-ARG MAVEN_VERSION=""
-ARG INSTALL_JAVA="true"
-# [Option] Install Gradle
-ARG INSTALL_GRADLE="false"
-ARG GRADLE_VERSION="7.2.2"
-
-# ARG JAVA_VERSION="11.0.12.hs-adpt"
-ARG JAVA_VERSION="8.0.372-tem"
-RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \
-    && if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi
-# install Java
-
-RUN if ["${INSTALL_JAVA}" = "true"]; then su  vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install java \"${JAVA_VERSION}\""; fi
-
-USER vscode
-WORKDIR /home/vscode
-ARG FLUTTER_VERSION="3.0.5"
-ENV ANDROID_HOME=/home/vscode/androidsdk \
-    FLUTTER_HOME=/home/vscode/flutter
-
-RUN wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip \
-    && mkdir -p $ANDROID_HOME/cmdline-tools/latest \
-    && unzip commandlinetools-linux-*.zip -d $ANDROID_HOME \
-    && rm -f commandlinetools-linux-*.zip \
-    && mv $ANDROID_HOME/cmdline-tools/bin $ANDROID_HOME/cmdline-tools/latest \
-    && mv $ANDROID_HOME/cmdline-tools/lib $ANDROID_HOME/cmdline-tools/latest
-
-RUN echo "export ANDROID_HOME=$ANDROID_HOME" >> /home/vscode/.bashrc \
-    && echo 'export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools:$PATH' >> /home/vscode/.bashrc
-
-ENV PATH=$PATH:$FLUTTER_HOME/bin:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/emulator
-# Install Android Image version 30
-RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-33"
-# RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "system-images;android-30;google_apis;x86_64"
-# RUN echo no | $ANDROID_HOME/cmdline-tools/latest/bin/avdmanager create avd -n avd28 -k "system-images;android-30;google_apis;x86_64"
-
-# Install flutter
-RUN git clone --branch ${FLUTTER_VERSION} https://github.com/flutter/flutter.git ${FLUTTER_HOME} \
-    && cd ${FLUTTER_HOME} \
-    && ./bin/flutter precache \
-    && ./bin/flutter doctor
-
-# # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
-# ARG NODE_VERSION="lts/*"
-# RUN if [ "${NODE_VERSION}" != "none" ]; then umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1; fi

+ 0 - 54
flutter/.devcontainer/Dockerfile-3.13.5

@@ -1,54 +0,0 @@
-# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.233.0/containers/java-8/.devcontainer/base.Dockerfile
-
-# [Choice] Java version: 11, 16
-ARG VARIANT="16"
-FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT}
-# FROM mcr.microsoft.com/devcontainers/universal:2.4.0-focal
-
-# [Option] Install Maven
-ARG INSTALL_MAVEN="false"
-ARG MAVEN_VERSION=""
-ARG INSTALL_JAVA="true"
-# [Option] Install Gradle
-ARG INSTALL_GRADLE="false"
-ARG GRADLE_VERSION="7.2.2"
-
-# ARG JAVA_VERSION="11.0.12.hs-adpt"
-# ARG JAVA_VERSION="8.0.372-tem"
-RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \
-    && if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi
-# install Java
-
-# RUN if ["${INSTALL_JAVA}" = "true"]; then su  vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install java \"${JAVA_VERSION}\""; fi
-
-USER vscode
-WORKDIR /home/vscode
-ARG FLUTTER_VERSION="3.13.5"
-ENV ANDROID_HOME=/home/vscode/androidsdk \
-    FLUTTER_HOME=/home/vscode/flutter
-
-RUN wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip \
-    && mkdir -p $ANDROID_HOME/cmdline-tools/latest \
-    && unzip commandlinetools-linux-*.zip -d $ANDROID_HOME \
-    && rm -f commandlinetools-linux-*.zip \
-    && mv $ANDROID_HOME/cmdline-tools/bin $ANDROID_HOME/cmdline-tools/latest \
-    && mv $ANDROID_HOME/cmdline-tools/lib $ANDROID_HOME/cmdline-tools/latest
-
-RUN echo "export ANDROID_HOME=$ANDROID_HOME" >> /home/vscode/.bashrc \
-    && echo 'export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools:$PATH' >> /home/vscode/.bashrc
-
-ENV PATH=$PATH:$FLUTTER_HOME/bin:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/emulator
-# Install Android Image version 30
-RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-33"
-# RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "system-images;android-30;google_apis;x86_64"
-# RUN echo no | $ANDROID_HOME/cmdline-tools/latest/bin/avdmanager create avd -n avd28 -k "system-images;android-30;google_apis;x86_64"
-
-# Install flutter
-RUN git clone --branch ${FLUTTER_VERSION} https://github.com/flutter/flutter.git ${FLUTTER_HOME} \
-    && cd ${FLUTTER_HOME} \
-    && ./bin/flutter precache \
-    && ./bin/flutter doctor
-
-# # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
-# ARG NODE_VERSION="lts/*"
-# RUN if [ "${NODE_VERSION}" != "none" ]; then umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1; fi

+ 0 - 49
flutter/.devcontainer/devcontainer.json

@@ -1,49 +0,0 @@
-// java8 + android env
-// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
-// https://github.com/microsoft/vscode-dev-containers/tree/v0.233.0/containers/java-8
-{
-	"name": "Java 16",
-	"image": "jianboy/flutter-dev-container:3.7.7",
-	// "build": {
-	// 	"dockerfile": "Dockerfile",
-	// 	"args": {
-	// 		// Use the VARIANT arg to pick a Debian OS version: buster, bullseye
-	// 		// Use bullseye when running on local arm64/Apple Silicon.
-	// 		"VARIANT": "buster",
-	// 		// Options
-	// 		"INSTALL_MAVEN": "true",
-	// 		"INSTALL_GRADLE": "true",
-	// 		"NODE_VERSION": "lts/*"
-	// 	}
-	// },
-
-	// Set *default* container specific settings.json values on container create.
-	"settings": {
-		"java.home": "/docker-java-home",
-		"java.import.gradle.java.home": "/usr/local/sdkman/candidates/java/current",
-		"java.configuration.runtimes": [{
-			"default": true,
-			"name": "JavaSE-11",
-			"path": "/usr/local/sdkman/candidates/java/current"
-		}]
-	},
-	
-	// Add the IDs of extensions you want installed when the container is created.
-	"extensions": [
-		"vscjava.vscode-java-pack",
-		"dart-code.dart-code",
-		"dart-code.flutter"
-	],
-
-	// Use 'forwardPorts' to make a list of ports inside the container available locally.
-	// "forwardPorts": [],
-
-	// Use 'postCreateCommand' to run commands after the container is created.
-	// "postCreateCommand": "java -version",
-
-	// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
-	"remoteUser": "vscode",
-	"features": {
-		"docker-in-docker": "latest"
-	}
-}

+ 1 - 1
flutter/.github/workflows/android-build.yml

@@ -13,7 +13,7 @@ jobs:
         os: [ubuntu-latest]
     runs-on: ${{matrix.os}}
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       - name: Setup Java JDK
         uses: actions/setup-java@v2

+ 10 - 2
flutter/.github/workflows/gh-pages.yml

@@ -9,6 +9,14 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
+
       - uses: subosito/flutter-action@v1
-      - uses: erickzanardo/flutter-gh-pages@v3
+
+      # - uses: erickzanardo/flutter-gh-pages@v3
+      - name: Deploy to GitHub Pages
+        uses: JamesIves/github-pages-deploy-action@v4.6.1
+        with:
+          branch: gh-pages
+          folder: docsite/_site
+          clean: true

+ 1 - 1
flutter/.github/workflows/ios-build.yml

@@ -15,7 +15,7 @@ jobs:
       XC_WORKSPACE: ${{ 'MyApp.xcworkspace' }}
       XC_SCHEME: ${{ 'MyApp' }}
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       - name: Setup Java JDK
         uses: actions/setup-java@v2

+ 1 - 1
flutter/.github/workflows/ios-sign-file.yml

@@ -11,7 +11,7 @@ jobs:
         os: [ macos-latest]
     runs-on: ${{matrix.os}}
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       - name: Build sign ile
         run: |

+ 1 - 1
flutter/.github/workflows/main.yml

@@ -11,7 +11,7 @@ jobs:
         os: [ubuntu-latest, windows-latest, macos-latest]
     runs-on: ${{matrix.os}}
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       - name: Setup Java JDK
         uses: actions/setup-java@v2

+ 4 - 4
flutter/.github/workflows/pc-build.yml

@@ -14,7 +14,7 @@ jobs:
       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 
     steps:
-      - uses: actions/checkout@v2.3.4
+      - uses: actions/checkout@v4.3.4
 
       - name: Setup Flutter SDK
         uses: subosito/flutter-action@v1.5.3
@@ -44,7 +44,7 @@ jobs:
       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 
     steps:
-      - uses: actions/checkout@v2.3.4
+      - uses: actions/checkout@v4.3.4
 
       - name: Setup Flutter SDK
         uses: subosito/flutter-action@v1.5.3
@@ -74,7 +74,7 @@ jobs:
       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 
     steps:
-      - uses: actions/checkout@v2.3.4
+      - uses: actions/checkout@v4.3.4
 
       - name: Setup Flutter SDK
         uses: subosito/flutter-action@v1.5.3
@@ -99,7 +99,7 @@ jobs:
   #   needs: [flutter_test]
   #   runs-on: ubuntu-latest
   #   steps:
-  #     - uses: actions/checkout@v2
+  #     - uses: actions/checkout@v4
   #     - uses: actions/setup-java@v1
   #       with:
   #         java-version: "12.x"

+ 1 - 1
flutter/.ide/Dockerfile

@@ -1 +1 @@
-FROM sift-docker.pkg.coding.net/flutter-team/dev-container/dev-allinone:1.0.11-flutter
+FROM sift-docker.pkg.coding.net/flutter-team/dev-container/dev-allinone:1.0.12-flutter

+ 6 - 1
flutter/.ide/Dockerfile-Allinone-flutter

@@ -111,6 +111,8 @@ ENV PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1
 ENV PYTHON_BUILD_MIRROR_URL=https://mirrors.huaweicloud.com/python/
 # RUN pyenv install ${PYTHON_VERSION} &&  pyenv global ${PYTHON_VERSION}
 
+RUN pip install jupyter jupyterlab jupyter_contrib_nbextensions
+
 # install R
 RUN apt-get update && apt-get install -y \
     r-base r-base-dev
@@ -125,6 +127,7 @@ ENV RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
 ENV RUSTUP_DIST_ROOT=https://mirrors.ustc.edu.cn/rust-static
 
 RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+ENV PATH="$HOME/.cargo/bin:$PATH"
 
 # # install .net core 6.0
 # RUN wget http://ftp.us.debian.org/debian/pool/main/i/icu/libicu67_67.1-1_amd64.deb && \
@@ -209,7 +212,9 @@ RUN curl -fsSL https://code-server.dev/install.sh | sh &&\
     code-server --install-extension vscjava.vscode-spring-initializr &&\
     echo done
 
-# code-server --install-extension ms-python.vscode-pylance &&\
+# install manual
+# docker run -it --rm -v /workspace:/workspaces sift-docker.pkg.coding.net/flutter-team/dev-container/dev-allinone:1.0.12-flutter /bin/bash
+RUN code-server --install-extension ms-python.vscode-pylance-2024.6.103.vsix
 # code-server --install-extension ms-dotnettools.csharp &&\
 COPY ./frp /opt/frp
 

+ 0 - 0
nodejs/.ide/Dockerfile-java → flutter/.ide/Dockerfile-java


+ 0 - 0
nodejs/.ide/Dockerfile-node → flutter/.ide/Dockerfile-node


+ 0 - 0
nodejs/.ide/Dockerfile-php → flutter/.ide/Dockerfile-php


+ 0 - 0
nodejs/.ide/Dockerfile-python → flutter/.ide/Dockerfile-python


+ 0 - 72
flutter/build.sh

@@ -1,72 +0,0 @@
-#!/bin/bash
-# @Contact :   liuyuqi.gov@msn.cn
-# @Time    :   2023/03/19 19:11:52
-# @License :   (C)Copyright 2022 liuyuqi.
-# @Desc    :   build apk
-###############################################################################
-source /etc/profile
-
-export JAVA_HOME=/usr/local/openjdk-11
-# export JAVA_HOME=/root/.sdkman/candidates/java/21.0.1-ms/
-# source "$HOME/.sdkman/bin/sdkman-init.sh"
-# sdk list
-# sdk install 8.0.392-librca
-# sdk default 8.0.392-librca
-
-# flutter
-export PUB_HOSTED_URL=https://pub.flutter-io.cn
-export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
-
-# cd /opt/flutter
-# git checkout 2.0.5 
-# git checkout 3.7.9 
-# git checkout 3.13.8
-# flutter doctor
-
-# cd /workspace/flutter_you
-# flutter build apk
-# flutter build apk --debug
-# flutter pub get
-
-# android
-# cd /workspace/packagehunter
-# chmod +x gradlew
-# ./gradlew assembleDebug
-# ./gradlew cleanBuildCache
-
-# aapt package -f \
-# -M AndroidManifest.xml \ 
-# -I "$ANDROID_HOME/platforms/android-N/android.jar" \
-# -S res/ \
-# -J gen/ \
-# -m \
-
-# java
-# mvn clean package -Dmaven.test.skip=true
-
-# node
-# cd 
-# yarn && yarn build
-# yarn && yarn dev
-
-# go
-# cd 
-# go build
-
-# python
-# pip install -r requirements.txt
-# python main.py
-
-# docker
-cd /workspace/blog
-docker compose -f "docker-compose.debug.yml" down 
-docker compose -f "docker-compose.debug.yml" up -d --build
-docker compose  -f "docker-compose.debug.yml" up -d --build node_container
-# docker exec -it java_container /bin/sh
-docker exec -it node_container /bin/bash
-
-cd /app/qihang.ecom.erp/framework
-mvn package && mvn install
-
-cd /app/qihang.ecom.erp/ecerp-api
-mvn spring-boot:run

+ 0 - 25
go/.dockerignore

@@ -1,25 +0,0 @@
-**/.classpath
-**/.dockerignore
-**/.env
-**/.git
-**/.gitignore
-**/.project
-**/.settings
-**/.toolstarget
-**/.vs
-**/.vscode
-**/*.*proj.user
-**/*.dbmdl
-**/*.jfm
-**/bin
-**/charts
-**/docker-compose*
-**/compose*
-**/Dockerfile*
-**/node_modules
-**/npm-debug.log
-**/obj
-**/secrets.dev.yaml
-**/values.dev.yaml
-LICENSE
-README.md

+ 2 - 2
go/.github/workflows/main.yml

@@ -11,7 +11,7 @@ jobs:
     runs-on: [ ubuntu-latest ]
     if: github.ref=='refs/heads/master' || github.ref=='refs/heads/main' || starts-with(github.ref, 'refs/tags/')
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
       - uses: actions/setup-go@v1
       - name: Test
         run: |
@@ -44,7 +44,7 @@ jobs:
         id: go
 
       - name: Check out code into the Go module directory
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
 
       - name: cache
         id: cache

+ 0 - 29
go/README.md

@@ -1,29 +0,0 @@
-# go 构建
-
-```
-# 构建镜像
-docker build -t jianboy/go-build:1.20 .
-docker run -it --rm -v /workspace/caddy:/workspaces jianboy/go-build:1.20
-
-alias go='docker run -it --rm -v /workspace/caddy:/workspaces jianboy/go-build:1.20'
-
-
-# 构建项目
-git clone https://github.com/caddyserver/caddy
-docker run -it --rm -v /workspace:/workspaces jianboy/go-build:1.20
-cd caddy/cmd/caddy/
-go build -o caddy
-
-GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o caddy
-
-docker build -t jianboy/go-build:1.21 .
-
-git clone https://gitee.com/dromara/mayfly-go
-docker run -it --rm -v /workspace/mayfly-go/server:/workspaces jianboy/go-build:1.21
-
-go mod download
-GO111MODULE=on CGO_ENABLED=0 GOOS=linux \
-    go build -a \
-    -o mayfly-go main.go
-
-```

+ 0 - 18
go/docker-compose.debug.yml

@@ -1,18 +0,0 @@
-version: '3.4'
-
-services:
-  githubactionscreator:
-    image: githubactionscreator
-    build:
-      context: .
-      dockerfile: ./Dockerfile
-    environment:
-      JAVA_OPTS: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005,quiet=y
-    ports:
-      - 3000:3000
-      - 5005:5005
-    logging:
-      driver: 'json-file'
-      options:
-        max-size: '10m'
-        max-file: '1'

+ 1 - 1
ios/.github/workflows/build.yml

@@ -14,7 +14,7 @@ jobs:
     runs-on: macOS-latest
     steps:
       - name: Check out branch
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
 
       - name: Swift, Objective-C - Carthage
         uses: actions/cache@v2

+ 0 - 25
java/.dockerignore

@@ -1,25 +0,0 @@
-**/.classpath
-**/.dockerignore
-**/.env
-**/.git
-**/.gitignore
-**/.project
-**/.settings
-**/.toolstarget
-**/.vs
-**/.vscode
-**/*.*proj.user
-**/*.dbmdl
-**/*.jfm
-**/bin
-**/charts
-**/docker-compose*
-**/compose*
-**/Dockerfile*
-**/node_modules
-**/npm-debug.log
-**/obj
-**/secrets.dev.yaml
-**/values.dev.yaml
-LICENSE
-README.md

+ 1 - 1
java/.github/workflows/main.yml

@@ -13,7 +13,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Check out code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
 
       - name: Set up JDK 1.8
         uses: actions/setup-java@v2

+ 0 - 29
java/README.md

@@ -1,29 +0,0 @@
-# Java
-
-Dockerfile-build 包含 maven,gradle,ant,java 等工具。
-
-Gradle本地库 `/home/gradle/.gradle`
-Maven本地仓库挂载 `/var/maven/repository`
-
-## Uage
-
-install java, gradle, maven, ant, etc.
-
-java version:
-- 8
-- 11
-- 14
-- 15
-- 16
-- 17
-
-gradle version:
-- 6.8.3
-- 7.0.2
-
-maven version:
-- 3.6.3
-
-ant version:
-- 1.10.9
-

+ 6 - 1
java/docker-compose.debug.yml

@@ -11,4 +11,9 @@ services:
     ports:
       - 3000:3000
       - 5005:5005
-    command: ["/bin/sh", "-c", "while true; do sleep 1000; done"]
+    command: ["/bin/sh", "-c", "while true; do sleep 1000; done"]
+    logging:
+      driver: 'json-file'
+      options:
+        max-size: '10m'
+        max-file: '1'

+ 16 - 0
java/docker-compose.yml

@@ -35,6 +35,22 @@ services:
     environment:
       - H2_OPTIONS=-ifNotExists
 
+  adminer:
+    image: adminer:latest
+    ports:
+      - 8080:8080
+  
+  sqlserver:
+    container_name: db_sqlserver
+    # image: mcr.microsoft.com/mssql/server:2019-latest
+    image: microsoft/mssql-server-linux:2017-latest
+    environment:
+      - ACCEPT_EULA=Y
+      - SA_PASSWORD=Aa_12345678
+      - MSSQL_SA_PASSWORD=Aa_12345678
+    ports:
+      - 1433:1433
+
 networks:
   default:
     external:

+ 1 - 1
nodejs/.github/react/.github/workflows/main.yml

@@ -16,7 +16,7 @@ jobs:
     steps:
 
     - name: Check out branch
-      uses: actions/checkout@v2
+      uses: actions/checkout@v4
 
     - name: Use Node.js ${{ matrix.node-version }}
       uses: actions/setup-node@v1

+ 2 - 2
nodejs/.github/react/.github/workflows/react_go.yml

@@ -24,7 +24,7 @@ jobs:
     steps:
 
     - name: Check out branch
-      uses: actions/checkout@v2
+      uses: actions/checkout@v4
 
     - name: Use Node.js ${{ matrix.node-version }}
       uses: actions/setup-node@v1
@@ -49,7 +49,7 @@ jobs:
       id: go
 
     - name: Check out branch
-      uses: actions/checkout@v2
+      uses: actions/checkout@v4
 
     - name: Download dependencies
       run: |

+ 1 - 1
nodejs/.github/workflows/main.yml

@@ -14,7 +14,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Check out branch
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
 
       - name: Get npm cache directory
         id: npm-cache-dir

+ 0 - 1
nodejs/.ide/Dockerfile

@@ -1 +0,0 @@
-FROM sift-docker.pkg.coding.net/flutter-team/dev-container/dev-allinone:1.0.4

+ 0 - 85
nodejs/.ide/Dockerfile-Allinone

@@ -1,85 +0,0 @@
-FROM openjdk:11 as builder
-
-ENV MAVEN_VERSION=3.9.5 \
-    GRADLE_VERSION=7.3.3
-
-RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
-RUN sed -i s@/security.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
-RUN apt-get update
-
-# install gradle
-RUN wget https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip -P /tmp
-RUN unzip -d /opt/gradle /tmp/gradle-*.zip && rm -rf /tmp/gradle-*.zip
-ENV GRADLE_HOME=/opt/gradle/gradle-${GRADLE_VERSION}
-ENV PATH=$PATH:$GRADLE_HOME/bin
-
-# install maven
-RUN wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -P /tmp
-RUN unzip -d /opt/maven /tmp/apache-maven-*.zip
-ENV MAVEN_HOME=/opt/maven/apache-maven-${MAVEN_VERSION}
-ENV PATH=$PATH:$MAVEN_HOME/bin
-
-# install python3.8
-# RUN apt-get update && \
-#     apt-get install -y python3.8
-RUN mkdir -p ~/.pip
-RUN echo '\n\
-    [global] \n\
-    trusted-host=mirrors.aliyun.com \n\
-    index-url=https://mirrors.aliyun.com/pypi/simple/ \n\
-    ' > ~/.pip/pip.conf
-
-RUN wget http://fileshare.yoqi.me/d/DevFiles/Develop/Python/get-pip.py?sign=17C5fjx9l5VpBJ6FCHonje5nEEkylSINsPlKsASVkRc=:1702263152 -O get-pip.py
-RUN python3 get-pip.py
-
-# install go1.21
-RUN wget https://go.dev/dl/go1.21.4.linux-amd64.tar.gz && \
-    tar -C /usr/local -xzf go1.21.4.linux-amd64.tar.gz
-ENV PATH=$PATH:/usr/local/go/bin
-RUN export GOPROXY="https://goproxy.io,direct"
-
-# install nodejs20
-RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
-RUN apt-get install -y nodejs
-RUN npm config set registry http://registry.npm.taobao.org --global
-RUN npm install yarn pnpm
-
-LABEL email="liuyuqi<liuyuqi.gov@msn.cn>"
-WORKDIR /workspaces
-# RUN mvn package
-
-RUN apt-get install -y wget unzip openssh-server
-RUN ln -s /usr/bin/python3.9  /usr/bin/python
-
-# 指定字符集支持命令行输入中文(根据需要选择字符集)
-ENV LANG C.UTF-8
-ENV LANGUAGE C.UTF-8
-
-# set path
-RUN echo '\n\
-    export PATH=$PATH:$GRADLE_HOME/bin \n\
-    export JAVA_HOME=/usr/local/openjdk-11 \n\
-    export PATH=$PATH:$JAVA_HOME/bin \n\
-    export PATH=$PATH:$MAVEN_HOME/bin \n\
-    export PATH=$PATH:/usr/local/go/bin \n\
-    export GOPROXY="https://goproxy.io,direct" \n\
-    ' >> ~/.bashrc
-
-
-# install vscode and extension
-RUN curl -fsSL https://code-server.dev/install.sh | sh &&\
-    code-server --install-extension redhat.vscode-yaml &&\
-    code-server --install-extension orta.vscode-jest &&\
-    code-server --install-extension dbaeumer.vscode-eslint &&\
-    code-server --install-extension ms-python.python &&\
-    code-server --install-extension ms-azuretools.vscode-docker &&\
-    code-server --install-extension mhutchie.git-graph &&\
-    code-server --install-extension ardisaurus.gitflow-actions-sidebar &&\
-    code-server --install-extension golang.go &&\
-    code-server --install-extension Vue.volar &&\
-    code-server --install-extension eamodio.gitlens &&\
-    echo done
-
-VOLUME [ "/workspaces" ]
-
-CMD [ "/bin/bash" ]

+ 0 - 38
nodejs/README.md

@@ -1,38 +0,0 @@
-# nodejs
-
-## Dockerfile
-
-常见的vue等前后端分离项目,buider层构建,再用base层运行。排除不必要的构建环境。
-
-## Dockerfile-front-backend
-
-前后端都是nodejs项目,且前后端都编译运行。
-
-* 前端编译生成放入./public目录
-* 后端tsup编译生成放入./build目录
-* 运行 esno ./build/index.js启动nodejs项目
-
-
-
-```
-# 构建镜像
-docker build -t jianboy/node-build:20 .
-
-docker build -t jianboy/dev-allinone:1.0.1 .
-
-# 构建项目
-git clone https://gitee.com/dromara/mayfly-go
-docker run -it --rm -v /workspace:/workspaces jianboy/node-build:20
-
-yarn build
-
-
-docker build -t sift-docker.pkg.coding.net/flutter-team/dev-container/dev-allinone:1.0.4 .
-
-
-docker build -t sift-docker.pkg.coding.net/flutter-team/dev-container/dev-allinone:1.0.5-flutter -f '.ide/Dockerfile-allinone-flutter'.
-
-
-vscode://vscode-remote/ssh-remote+coding-ci-fc8-1hilhaeop-001%2344201d6d-d571-47fc-9836-7520ca2a61d7-imo@ci.coding.net:2201/workspace/
-
-```

+ 18 - 0
package.json

@@ -0,0 +1,18 @@
+{
+  "name": "flutter_docs",
+  "version": "1.0.1",
+  "description": "总结 github action, gitlab ci/cd, gitpod 等",
+  "main": "index.js",
+  "devDependencies": {
+    "vitepress": "^1.3.0",
+    "vue": "^3.4.27"
+  },
+  "scripts": {
+    "docs:dev": "vitepress dev docs",
+    "docs:build": "vitepress build docs",
+    "docs:preview": "vitepress preview docs"
+  },
+  "type": "module",
+  "author": "",
+  "license": "ISC"
+}

+ 0 - 24
php/.dockerignore

@@ -1,24 +0,0 @@
-**/.classpath
-**/.dockerignore
-**/.env
-**/.git
-**/.gitignore
-**/.project
-**/.settings
-**/.toolstarget
-**/.vs
-**/.vscode
-**/*.*proj.user
-**/*.dbmdl
-**/*.jfm
-**/bin
-**/charts
-**/docker-compose*
-**/compose*
-**/Dockerfile*
-**/node_modules
-**/npm-debug.log
-**/obj
-**/secrets.dev.yaml
-**/values.dev.yaml
-README.md

+ 1 - 1
php/.github/workflows/main.yml

@@ -14,7 +14,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Check out branch
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
 
       - name: Get Composer Cache Directory
         id: composer-cache

+ 31 - 10
php/deploy/docker-compose.debug.yml

@@ -18,16 +18,16 @@ services:
     depends_on:
       - mysql
       - redis
-  
+
   phpmyadmin:
     image: phpmyadmin/phpmyadmin:5.2.1-fpm-alpine
     ports:
-        - '8080:80'
+      - '8080:80'
     restart: always
     environment:
-        PMA_HOST: mysql
+      PMA_HOST: mysql
     depends_on:
-        - mysql
+      - mysql
 
   mysql:
     container_name: mysql-container
@@ -44,22 +44,43 @@ services:
       - 3306:3306
     networks:
       - app-network
-  
+
   redis:
-    container_name: redis-container
     image: redis:7.2.3
+    container_name: redis-container
     restart: unless-stopped
-    volumes:
-      - ./redis:/data
+    environment:
+      - ALLOW_EMPTY_PASSWORD=yes
     ports:
       - 6379:6379
+    volumes:
+      - ./redis:/data
     networks:
       - app-network
-  
+    # command: [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
+    logging:
+      driver: 'json-file'
+      options:
+        max-size: '30m'
+        max-file: '1'
+
+  redis-commander:
+    container_name: infisical-dev-redis-commander
+    image: rediscommander/redis-commander:latest
+    restart: always
+    depends_on:
+      - redis
+    environment:
+      - REDIS_HOSTS=local:redis:6379
+    ports:
+      - "8085:8081"
+    networks:
+      - infisical-dev
+
   volumes:
     mysql:
     redis:
-  
+
   networks:
     app-network:
       driver: bridge

+ 0 - 20
php/deploy/docker-compose.yml

@@ -1,20 +0,0 @@
-version: '3.4'
-
-services:
-  app:
-    image: githubactionscreator
-    build:
-      context: .
-      dockerfile: ./Dockerfile
-  
-  nginx:
-    image: imageName
-  
-  redis:
-    image: imageName
-  
-  mysql:
-    image: imageName
-  
-  php:
-    image: imageName

+ 61 - 16
php/deploy/redis/redis.conf

@@ -1,28 +1,73 @@
-daemonize no
-pidfile /var/run/redis.pid
+bind 127.0.0.1 -::1
+protected-mode yes
 port 6379
-protected-mode no
+tcp-backlog 511
 timeout 0
-loglevel verbose
+tcp-keepalive 300
+daemonize no
+pidfile /var/run/redis_6379.pid
+loglevel notice
+logfile ""
 databases 16
-save 900 1
-save 300 10
-save 60 10000
+always-show-logo no
+set-proc-title yes
+proc-title-template "{title} {listen-addr} {server-mode}"
+save 20 3
+stop-writes-on-bgsave-error yes
 rdbcompression yes
+rdbchecksum yes
 dbfilename dump.rdb
+rdb-del-sync-files no
 dir ./
-slave-serve-stale-data yes
-requirepass 123456
-appendonly yes
+replica-serve-stale-data yes
+replica-read-only yes
+repl-diskless-sync yes
+repl-diskless-sync-delay 5
+repl-diskless-sync-max-replicas 0
+repl-diskless-load disabled
+repl-disable-tcp-nodelay no
+replica-priority 100
+acllog-max-len 128
+lazyfree-lazy-eviction no
+lazyfree-lazy-expire no
+lazyfree-lazy-server-del no
+replica-lazy-flush no
+lazyfree-lazy-user-del no
+lazyfree-lazy-user-flush no
+oom-score-adj no
+oom-score-adj-values 0 200 800
+disable-thp yes
+appendonly no
+appendfilename "appendonly.aof"
+appenddirname "appendonlydir"
 appendfsync everysec
 no-appendfsync-on-rewrite no
 auto-aof-rewrite-percentage 100
 auto-aof-rewrite-min-size 64mb
+aof-load-truncated yes
+aof-use-rdb-preamble yes
+aof-timestamp-enabled no
+ 
 slowlog-log-slower-than 10000
-slowlog-max-len 1024
-list-max-ziplist-entries 512
-list-max-ziplist-value 64
+slowlog-max-len 128
+latency-monitor-threshold 0
+notify-keyspace-events ""
+hash-max-listpack-entries 512
+hash-max-listpack-value 64
+list-max-listpack-size -2
+list-compress-depth 0
 set-max-intset-entries 512
-zset-max-ziplist-entries 128
-zset-max-ziplist-value 64
-activerehashing yes
+zset-max-listpack-entries 128
+zset-max-listpack-value 64
+hll-sparse-max-bytes 3000
+stream-node-max-bytes 4096
+stream-node-max-entries 100
+activerehashing yes
+client-output-buffer-limit normal 0 0 0
+client-output-buffer-limit replica 256mb 64mb 60
+client-output-buffer-limit pubsub 32mb 8mb 60
+hz 10
+dynamic-hz yes
+aof-rewrite-incremental-fsync yes
+rdb-save-incremental-fsync yes
+jemalloc-bg-thread yes

+ 52 - 0
php/php74xc/Dockerfile

@@ -0,0 +1,52 @@
+FROM php:7.4-fpm
+RUN sed -i 's/deb.debian.org/mirrors.163.com/g' /etc/apt/sources.list
+# COPY sources.list.strech /etc/apt/sources.list
+RUN apt-get update \
+    && apt-get upgrade -y \
+    && apt-get install --assume-yes --no-install-recommends --quiet \
+    build-essential \
+    libmagickwand-dev
+
+RUN apt-get install -y nano \
+    && apt-get install -y libfreetype6-dev \
+    && apt-get install -y zlib1g-dev \
+    && apt-get install -y libzip-dev \
+    && apt-get install -y libjpeg62-turbo-dev \
+    && apt-get install -y libpng-dev \
+    && apt-get install -y zip \
+    && apt-get install -y git \
+    && apt-get install -y supervisor \
+    && apt-get install -y mariadb-client \
+    && docker-php-ext-install bcmath \
+    && docker-php-ext-install ctype \
+    && docker-php-ext-configure gd \
+    && docker-php-ext-install gd mysqli zip pdo pdo_mysql exif pcntl bcmath opcache \
+    && docker-php-ext-enable mysqli pdo pdo_mysql exif pcntl bcmath gd
+
+# pdo_pgsql need specify correct PostgreSQL installation path
+
+RUN pecl install imagick \
+    && docker-php-ext-enable imagick
+
+RUN pecl install mongodb
+RUN echo "extension=mongodb.so" > $PHP_INI_DIR/conf.d/mongodb.ini
+
+RUN pecl install redis
+RUN echo "extension=redis.so" > $PHP_INI_DIR/conf.d/redis.ini
+
+# xdebug 3.1.6
+RUN pecl install xdebug-3.1.6 \
+    && docker-php-ext-enable xdebug
+
+RUN php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
+RUN php composer-setup.php
+RUN mv composer.phar /usr/local/bin/composer
+RUN composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
+
+RUN apt-get clean all
+
+EXPOSE 9000
+WORKDIR /var/www/html
+
+CMD service supervisor start \
+    && php-fpm

+ 14 - 0
php/php74xc/docker-compose.yml

@@ -0,0 +1,14 @@
+version: '3.7'
+services:
+
+  php:
+    container_name: "php-fpm"
+    # depends_on:
+    #   - redis
+    #   - mysql
+    build:
+      context: ./
+      dockerfile: ./Dockerfile
+    volumes:
+      - ../backend:/var/www/html/
+    restart: on-failure

Some files were not shown because too many files changed in this diff