Merge branch 'master' into patch-35
This commit is contained in:
@@ -38,8 +38,8 @@ COMPOSE_PROJECT_NAME=laradock
|
||||
### PHP Version ###########################################
|
||||
|
||||
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM).
|
||||
# Accepted values: 8.4 - 8.3 - 8.2 - 8.1 - 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
|
||||
PHP_VERSION=8.3
|
||||
# Accepted values: 8.5 - 8.4 - 8.3 - 8.2 - 8.1 - 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
|
||||
PHP_VERSION=8.4
|
||||
|
||||
### Phalcon Version ###########################################
|
||||
|
||||
@@ -108,6 +108,7 @@ SHELL_OH_MY_ZSH_ALIASES=false
|
||||
### WORKSPACE #############################################
|
||||
|
||||
WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest
|
||||
WORKSPACE_ALLOW_RELEASE_INFO_CHANGE=false
|
||||
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
|
||||
WORKSPACE_COMPOSER_VERSION=2
|
||||
WORKSPACE_COMPOSER_AUTH_JSON=false
|
||||
@@ -199,7 +200,7 @@ WORKSPACE_SSH_PORT=2222
|
||||
WORKSPACE_INSTALL_FFMPEG=false
|
||||
WORKSPACE_INSTALL_AUDIOWAVEFORM=false
|
||||
WORKSPACE_INSTALL_WKHTMLTOPDF=false
|
||||
WORKSPACE_WKHTMLTOPDF_VERSION=0.12.6-1
|
||||
WORKSPACE_WKHTMLTOPDF_VERSION=0.12.6.1-3
|
||||
WORKSPACE_INSTALL_GNU_PARALLEL=false
|
||||
WORKSPACE_INSTALL_AST=true
|
||||
WORKSPACE_BROWSERSYNC_HOST_PORT=3000
|
||||
|
||||
2
.github/workflows/build-deploy-docs.yml
vendored
2
.github/workflows/build-deploy-docs.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
contents: write # to push pages branch (peaceiris/actions-gh-pages)
|
||||
|
||||
if: github.repository == 'laradock/laradock'
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
defaults:
|
||||
|
||||
3
.github/workflows/main-ci.yml
vendored
3
.github/workflows/main-ci.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php_version: [ "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3", "8.4" ]
|
||||
php_version: [ "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3", "8.4", "8.5" ]
|
||||
service: [ php-fpm, php-worker, workspace ]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -42,6 +42,7 @@ jobs:
|
||||
sed -i -- 's/RDKAFKA=true/RDKAFKA=false/g' .env
|
||||
sed -i -- 's/MAILPARSE=true/MAILPARSE=false/g' .env
|
||||
sed -i -- 's/OCI8=true/OCI8=false/g' .env
|
||||
sed -i -- 's/PYTHON=true/PYTHON=false/g' .env
|
||||
sed -i -- 's/V8JS=true/V8JS=false/g' .env
|
||||
sed -i -- 's/AUDIOWAVEFORM=true/AUDIOWAVEFORM=false/g' .env
|
||||
sed -i -- 's/SSDB=true/SSDB=false/g' .env
|
||||
|
||||
@@ -4,7 +4,7 @@ import type * as Preset from '@docusaurus/preset-classic';
|
||||
|
||||
const config: Config = {
|
||||
title: 'Laradock',
|
||||
tagline: 'Full PHP development environment on Docker.',
|
||||
tagline: 'A Docker setup that lets you run a full PHP development environment in seconds.',
|
||||
favicon: 'laradock.ico',
|
||||
|
||||
// Set the production url of your site here
|
||||
@@ -123,7 +123,7 @@ const config: Config = {
|
||||
// ],
|
||||
// },
|
||||
],
|
||||
copyright: `Copyright © 2016 - ${new Date().getFullYear()} - Laradock - By <a href="https://zalt.me" target="_blank" rel="noopener noreferrer">Mahmoud Zalt</a>.`,
|
||||
copyright: `Copyright © 2015 - ${new Date().getFullYear()} - Laradock - By <a href="https://zalt.me" target="_blank" rel="noopener noreferrer">Mahmoud Zalt</a>.`,
|
||||
},
|
||||
prism: {
|
||||
theme: prismThemes.github,
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
"typecheck": "tsc"
|
||||
},
|
||||
"dependencies": {
|
||||
"@sista/ai-assistant-react": "^3.3.21",
|
||||
"@docusaurus/core": "3.3.0",
|
||||
"@docusaurus/preset-classic": "3.3.0",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"@sista/ai-assistant-react": "^2.2.0",
|
||||
"clsx": "^2.0.0",
|
||||
"prism-react-renderer": "^2.3.0",
|
||||
"react": "^18.0.0",
|
||||
|
||||
@@ -1,121 +0,0 @@
|
||||
import React, { useEffect } from "react";
|
||||
import { useHistory } from "react-router-dom";
|
||||
import { AiAssistantButton, useAiAssistant } from "@sista/ai-assistant-react";
|
||||
|
||||
const AiAssistant = () => {
|
||||
const { registerFunctions } = useAiAssistant();
|
||||
const history = useHistory();
|
||||
|
||||
const navigateToPage = ({ page }) => {
|
||||
history.push(`/${page}`);
|
||||
};
|
||||
|
||||
const navigateToExternalUrl = ({ url }) => {
|
||||
window.location.href = url;
|
||||
};
|
||||
|
||||
const goToNextPage = () => {
|
||||
const nextPageButton = document.querySelector(
|
||||
"a.pagination-nav__link.pagination-nav__link--next"
|
||||
) as HTMLElement;
|
||||
if (nextPageButton) {
|
||||
nextPageButton.click();
|
||||
}
|
||||
};
|
||||
|
||||
const goToPreviousPage = () => {
|
||||
const previousPageButton = document.querySelector(
|
||||
"a.pagination-nav__link.pagination-nav__link--prev"
|
||||
) as HTMLElement;
|
||||
if (previousPageButton) {
|
||||
previousPageButton.click();
|
||||
}
|
||||
};
|
||||
|
||||
const switchTheme = () => {
|
||||
const themeToggle = document.querySelector(
|
||||
'button[title^="Switch between dark and light mode"][class*="ColorModeToggle-styles-module"]'
|
||||
) as HTMLElement;
|
||||
if (themeToggle) {
|
||||
themeToggle.click();
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
const aiFunctions = [
|
||||
{
|
||||
function: {
|
||||
handler: navigateToPage,
|
||||
description:
|
||||
"Go to a specific page. Navigate to a page. Internal pages. This is what the user often wants, when asking for navigation. Each page contains info about the specific topic, as you can tell from the page name.",
|
||||
parameters: {
|
||||
type: "object",
|
||||
properties: {
|
||||
page: {
|
||||
type: "string",
|
||||
description: "The page to navigate to.",
|
||||
enum: [
|
||||
"/?page=home",
|
||||
"docs/intro/",
|
||||
|
||||
"docs/getting-started",
|
||||
"docs/usage",
|
||||
"docs/help",
|
||||
"docs/related-projects",
|
||||
"docs/contributing",
|
||||
],
|
||||
},
|
||||
},
|
||||
required: ["page"],
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
function: {
|
||||
handler: navigateToExternalUrl,
|
||||
description: "Navigate to an external URL.",
|
||||
parameters: {
|
||||
type: "object",
|
||||
properties: {
|
||||
url: {
|
||||
type: "string",
|
||||
description:
|
||||
"The URL to navigate to. For 'Github' go to 'https://github.com/laradock/laradock'. For 'Sista' go to 'https://smart.sista.ai/?utm_source=docs_laradock&utm_medium=ai_assistant&utm_campaign=user_request_for_navigation'.",
|
||||
},
|
||||
},
|
||||
required: ["url"],
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
function: {
|
||||
handler: goToNextPage,
|
||||
description:
|
||||
"Navigate to the next page. Go to the next page. Click on the next page. Next. Next Page.",
|
||||
},
|
||||
},
|
||||
{
|
||||
function: {
|
||||
handler: goToPreviousPage,
|
||||
description:
|
||||
"Navigate to the previous page. Go to the previous page. Click on the previous page. Previous. Previous Page.",
|
||||
},
|
||||
},
|
||||
{
|
||||
function: {
|
||||
handler: switchTheme,
|
||||
description:
|
||||
"Turn On / Off the light. Change theme color. Switches between dark and light modes. Toggle the theme.",
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
if (registerFunctions) {
|
||||
registerFunctions(aiFunctions);
|
||||
}
|
||||
}, [registerFunctions]);
|
||||
|
||||
return <AiAssistantButton />;
|
||||
};
|
||||
|
||||
export default AiAssistant;
|
||||
@@ -10,11 +10,11 @@ type SponsorItem = {
|
||||
|
||||
const SponsorList: SponsorItem[] = [
|
||||
{
|
||||
link: "https://smart.sista.ai/?utm_source=docs_laradock&utm_medium=sponsor&utm_campaign=landing_page_welcome",
|
||||
link: "https://smart.sista.ai/?utm_source=laradock&utm_medium=sponsor_banner&utm_campaign=landing_page",
|
||||
imageUrl: "/img/sponsors/sista-ai-logo.png",
|
||||
description: (
|
||||
<>
|
||||
<b>Make Your Apps Smarter with a Plug-and-Play AI Voice Assistant.</b>
|
||||
<b>Plug-and-Play <a href="https://smart.sista.ai/?utm_source=laradock&utm_medium=sponsor_banner&utm_campaign=landing_page" target="_blank" style={{ color: '#8098f8' }}>AI Agents</a> for Apps & Websites</b>
|
||||
</>
|
||||
),
|
||||
},
|
||||
@@ -25,12 +25,25 @@ function Sponsor({ link, imageUrl, description }: SponsorItem) {
|
||||
<div className={clsx("col col--12")}>
|
||||
<div className="text--center">
|
||||
<a href={link} target="_blank" rel="noopener noreferrer">
|
||||
<img src={imageUrl} className={sponsorsStyles.sponsorImg} role="img" />
|
||||
<img
|
||||
src={imageUrl}
|
||||
className={sponsorsStyles.sponsorImg}
|
||||
role="img"
|
||||
style={{
|
||||
maxWidth: '100%',
|
||||
minWidth: '350px',
|
||||
height: 'auto'
|
||||
}}
|
||||
/>
|
||||
</a>
|
||||
</div>
|
||||
<div className="text--center padding-horiz--md">
|
||||
|
||||
<p>{description}</p>
|
||||
<p style={{
|
||||
fontSize: 'clamp(1rem, 2vw, 1.2em)',
|
||||
lineHeight: 1.5,
|
||||
margin: '1rem 0'
|
||||
}}>{description}</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -4,7 +4,10 @@ import styles from './styles.module.css';
|
||||
export default function WelcomePage() {
|
||||
return (
|
||||
<section className={styles.welcome}>
|
||||
<h1>Fully Dockerized PHP Environment, Ready to Go!</h1>
|
||||
<div className={styles.heroContent}>
|
||||
<h1>Full PHP Dev Environment For Docker</h1>
|
||||
</div>
|
||||
<div className={styles.overlay} />
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -8,15 +8,38 @@
|
||||
/* background-position: center 40%; */
|
||||
color: white;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
.welcome h1 {
|
||||
font-size: 3.5rem;
|
||||
color: #242526;
|
||||
font-weight: 800;
|
||||
text-shadow: 2px 4px 8px rgba(255, 255, 255, 0.8);
|
||||
font-size: 3.7rem;
|
||||
color: #fff;
|
||||
font-family: "Inter", "Segoe UI", Arial, sans-serif;
|
||||
font-weight: 900;
|
||||
text-shadow: 0 6px 32px rgba(204, 30, 69, 0.5),
|
||||
0 1.5px 0 rgb(125, 87, 194, 0.5);
|
||||
margin: 0;
|
||||
padding: 0 20px;
|
||||
letter-spacing: 2px;
|
||||
line-height: 1.1;
|
||||
letter-spacing: 2.5px;
|
||||
line-height: 1.08;
|
||||
transition: transform 0.3s ease-in-out;
|
||||
}
|
||||
[data-theme="dark"] .welcome h1 {
|
||||
color: var(--ifm-color-primary);
|
||||
}
|
||||
.heroContent {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
.overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.25);
|
||||
z-index: 1;
|
||||
pointer-events: none;
|
||||
}
|
||||
[data-theme="dark"] .overlay {
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ function HomepageHeader() {
|
||||
<Heading as="h1" className="hero__title">
|
||||
{siteConfig.title}
|
||||
</Heading>
|
||||
<p className="hero__subtitle">{siteConfig.tagline}</p>
|
||||
<p className="hero__subtitle" style={{ maxWidth: '480px' }}>{siteConfig.tagline}</p>
|
||||
<div className={styles.buttons}>
|
||||
<Link
|
||||
className={clsx("button", styles.bigColorfulButton)}
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
import React from "react";
|
||||
import OriginalLayout from "@theme-original/Layout";
|
||||
import AiAssistant from "../components/AiAssistant";
|
||||
import { AiAssistantProvider } from "@sista/ai-assistant-react";
|
||||
import { AiAssistantProvider, AiAssistantButton } from "@sista/ai-assistant-react";
|
||||
const config = require("../config");
|
||||
|
||||
const Layout = (props) => {
|
||||
return (
|
||||
<OriginalLayout {...props}>
|
||||
{props.children}
|
||||
<AiAssistant />
|
||||
<AiAssistantButton />
|
||||
</OriginalLayout>
|
||||
);
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
66
README-zh.md
66
README-zh.md
@@ -76,6 +76,9 @@ cp .env.example .env
|
||||
(1)配置DockerHub镜像加速,[链接](https://www.runoob.com/docker/docker-mirror-acceleration.html)
|
||||
(2) 修改.env
|
||||
```
|
||||
# Windows 设置
|
||||
COMPOSE_PATH_SEPARATOR=;
|
||||
DOCKER_SYNC_STRATEGY=unison
|
||||
# 开启ubuntu国内源
|
||||
CHANGE_SOURCE=true
|
||||
# composer镜像源
|
||||
@@ -84,8 +87,23 @@ WORKSPACE_COMPOSER_REPO_PACKAGIST=https://mirrors.aliyun.com/composer/
|
||||
WORKSPACE_NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
|
||||
# npm镜像源
|
||||
WORKSPACE_NPM_REGISTRY=https://registry.npmmirror.com
|
||||
# 时区设置
|
||||
WORKSPACE_TIMEZONE=PRC
|
||||
# or
|
||||
# WORKSPACE_TIMEZONE=Asia/Shanghai
|
||||
```
|
||||
(3) 修改其他容器的时区
|
||||
相关容器路径如下:
|
||||
- `.\laradock\php-worker\Dockerfile`
|
||||
- `.\laradock\mysql\Dockerfile`
|
||||
|
||||
如有需要,请将上面各 `Dockerfile` 时区(china)修改成如下:
|
||||
|
||||
```Dockerfile
|
||||
ARG TZ=PRC
|
||||
# or
|
||||
# ARG TZ=Asia/Shanghai
|
||||
```
|
||||
3. 运行这些容器。
|
||||
```bash
|
||||
docker-compose up -d nginx mysql redis
|
||||
@@ -98,7 +116,7 @@ docker-compose up -d nginx mysql redis
|
||||
<a name="features"></a>
|
||||
### 特点
|
||||
|
||||
- 在 PHP 版本:7.0,5.6.5.5...之中可以简单切换。
|
||||
- 在 PHP 版本:8.4,8.2,...,7.0,5.6.5.5...之中可以简单切换。
|
||||
- 可选择你最喜欢的数据库引擎,比如:MySQL, Postgres, MariaDB...
|
||||
- 可运行自己的软件组合,比如:Memcached, HHVM, Beanstalkd...
|
||||
- 所有软件运行在不同的容器之中,比如:PHP-FPM, NGINX, PHP-CLI...
|
||||
@@ -594,57 +612,15 @@ PHP-CLI 拓展应该安装到 `workspace/Dockerfile`.
|
||||
|
||||
<a name="Change-the-PHP-FPM-Version"></a>
|
||||
### 修改 PHP-FPM 版本
|
||||
默认运行 **PHP-FPM 7.0** 版本.
|
||||
默认运行 **PHP-FPM 8.3** 版本.
|
||||
|
||||
>PHP-FPM 负责服务你的应用代码,如果你是计划运行您的应用程序在不同 PHP-FPM 版本上,则不需要更改 PHP-CLI 版本。
|
||||
|
||||
#### A) 切换版本 PHP `7.0` 到 PHP `5.6`
|
||||
|
||||
1 - 打开 `docker-compose.yml`。
|
||||
|
||||
2 - 在PHP容器的 `Dockerfile-70` 文件。
|
||||
|
||||
3 - 修改版本号, 用 `Dockerfile-56` 替换 `Dockerfile-70` , 例如:
|
||||
|
||||
```txt
|
||||
php-fpm:
|
||||
build:
|
||||
context: ./php-fpm
|
||||
dockerfile: Dockerfile-70
|
||||
```
|
||||
|
||||
4 - 最后重建PHP容器
|
||||
|
||||
```bash
|
||||
docker-compose build php
|
||||
```
|
||||
|
||||
> 更多关于PHP基础镜像, 请访问 [PHP Docker官方镜像](https://hub.docker.com/_/php/).
|
||||
|
||||
|
||||
#### B) 切换版本 PHP `7.0` 或 `5.6` 到 PHP `5.5`
|
||||
我们已不在本地支持 PHP5.5,但是你按照以下步骤获取:
|
||||
|
||||
1 - 克隆 `https://github.com/laradock/php-fpm`.
|
||||
|
||||
2 - 重命名 `Dockerfile-56` 为 `Dockerfile-55`.
|
||||
|
||||
3 - 编辑文件 `FROM php:5.6-fpm` 为 `FROM php:5.5-fpm`.
|
||||
|
||||
4 - 从 `Dockerfile-55` 构建镜像.
|
||||
|
||||
5 - 打开 `docker-compose.yml` 文件.
|
||||
|
||||
6 - 将 `php-fpm` 指向你的 `Dockerfile-55` 文件.
|
||||
|
||||
|
||||
<a name="Change-the-PHP-CLI-Version"></a>
|
||||
### 修改 PHP-CLI 版本
|
||||
默认运行 **PHP-CLI 7.0** 版本
|
||||
默认运行 **PHP-CLI 8.3** 版本
|
||||
|
||||
>说明: PHP-CLI 只用于执行 Artisan 和 Composer 命令,不服务于你的应用代码,这是 PHP-FPM 的工作,所以编辑 PHP-CLI 的版本不是很重要。
|
||||
PHP-CLI 安装在 Workspace 容器,改变 PHP-CLI 版本你需要编辑 `workspace/Dockerfile`.
|
||||
现在你必须手动修改 PHP-FPM 的 `Dockerfile` 或者创建一个新的。 (可以考虑贡献功能).
|
||||
|
||||
<a name="Install-xDebug"></a>
|
||||
### 安装 xDebug
|
||||
|
||||
@@ -111,6 +111,7 @@ services:
|
||||
- INSTALL_OCI8=${WORKSPACE_INSTALL_OCI8}
|
||||
- INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS}
|
||||
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
|
||||
- WORKSPACE_ALLOW_RELEASE_INFO_CHANGE=${WORKSPACE_ALLOW_RELEASE_INFO_CHANGE}
|
||||
- COMPOSER_VERSION=${WORKSPACE_COMPOSER_VERSION}
|
||||
- COMPOSER_AUTH_JSON=${WORKSPACE_COMPOSER_AUTH_JSON}
|
||||
- COMPOSER_REPO_PACKAGIST=${WORKSPACE_COMPOSER_REPO_PACKAGIST}
|
||||
@@ -1666,7 +1667,7 @@ services:
|
||||
### Docker-in-Docker ################################################
|
||||
docker-in-docker:
|
||||
restart: always
|
||||
image: docker:20.10-dind
|
||||
image: docker:29-dind
|
||||
environment:
|
||||
DOCKER_TLS_SAN: DNS:docker-in-docker
|
||||
privileged: true
|
||||
|
||||
@@ -108,11 +108,7 @@ RUN set -eux; \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
cd /tmp && \
|
||||
if [ ${IMAGEMAGICK_VERSION} = "latest" ]; then \
|
||||
if [ ${LARADOCK_PHP_VERSION} = "8.4" ]; then \
|
||||
git clone --branch develop https://github.com/Imagick/imagick; \
|
||||
else \
|
||||
git clone https://github.com/Imagick/imagick; \
|
||||
fi; \
|
||||
git clone https://github.com/Imagick/imagick; \
|
||||
else \
|
||||
git clone --branch ${IMAGEMAGICK_VERSION} https://github.com/Imagick/imagick; \
|
||||
fi && \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
ARG MYSQL_VERSION
|
||||
ARG MYSQL_VERSION=latest
|
||||
FROM mysql:${MYSQL_VERSION}
|
||||
|
||||
#####################################
|
||||
|
||||
@@ -168,6 +168,8 @@ RUN apk add --no-cache --virtual .build-deps \
|
||||
&& tar xzf nginx-dav-ext-module.tar.gz \
|
||||
&& curl -fSL https://github.com/google/ngx_brotli/archive/master.tar.gz -o ngx_brotli.tar.gz \
|
||||
&& tar xzf ngx_brotli.tar.gz \
|
||||
&& curl -fSL https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz -o ngx_brotli_deps.tar.gz \
|
||||
&& tar xzf ngx_brotli_deps.tar.gz -C ngx_brotli-master/deps/brotli --strip-components=1 \
|
||||
&& curl -fSL https://github.com/yaoweibin/ngx_http_substitutions_filter_module/archive/master.tar.gz -o ngx_http_substitutions_filter_module.tar.gz \
|
||||
&& tar xzf ngx_http_substitutions_filter_module.tar.gz \
|
||||
&& curl -fSL https://github.com/FRiCKLE/ngx_cache_purge/archive/master.tar.gz -o ngx_cache_purge.tar.gz \
|
||||
|
||||
@@ -220,7 +220,7 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
# https://xdebug.org/docs/compat
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install xdebug-3.4.1; \
|
||||
pecl install xdebug-3.5.0; \
|
||||
else \
|
||||
pecl install xdebug-3.1.6; \
|
||||
fi; \
|
||||
@@ -679,7 +679,7 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
|
||||
ARG INSTALL_IONCUBE=false
|
||||
|
||||
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
||||
if [ ${LARADOCK_PHP_VERSION} != "8.4" ] \
|
||||
if [ ${LARADOCK_PHP_VERSION} != "8.5" ] \
|
||||
&& [ ${LARADOCK_PHP_VERSION} != "8.0" ]; then \
|
||||
# Install the php ioncube loader
|
||||
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
|
||||
@@ -836,11 +836,7 @@ RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
cd /tmp && \
|
||||
if [ ${IMAGEMAGICK_VERSION} = "latest" ]; then \
|
||||
if [ ${LARADOCK_PHP_VERSION} = "8.4" ]; then \
|
||||
git clone --branch develop https://github.com/Imagick/imagick; \
|
||||
else \
|
||||
git clone https://github.com/Imagick/imagick; \
|
||||
fi; \
|
||||
git clone https://github.com/Imagick/imagick; \
|
||||
else \
|
||||
git clone --branch ${IMAGEMAGICK_VERSION} https://github.com/Imagick/imagick; \
|
||||
fi && \
|
||||
@@ -879,11 +875,13 @@ RUN if [ ${INSTALL_SMB} = true ]; then \
|
||||
|
||||
ARG INSTALL_IMAP=false
|
||||
|
||||
RUN if [ ${INSTALL_IMAP} = true ]; then \
|
||||
RUN if [ "$INSTALL_IMAP" = "true" ] \
|
||||
&& [ "$LARADOCK_PHP_VERSION" != "8.4" ] \
|
||||
&& [ "$LARADOCK_PHP_VERSION" != "8.5" ]; then \
|
||||
apt-get install -yqq libc-client-dev libkrb5-dev && \
|
||||
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
|
||||
docker-php-ext-install imap \
|
||||
;fi
|
||||
docker-php-ext-install imap; \
|
||||
fi
|
||||
|
||||
###########################################################################
|
||||
# Calendar:
|
||||
|
||||
1878
php-fpm/php8.5.ini
Normal file
1878
php-fpm/php8.5.ini
Normal file
File diff suppressed because it is too large
Load Diff
@@ -120,13 +120,9 @@ RUN set -eux; \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
cd /tmp && \
|
||||
if [ ${IMAGEMAGICK_VERSION} = "latest" ]; then \
|
||||
if [ ${LARADOCK_PHP_VERSION} = "8.4" ]; then \
|
||||
git clone --branch develop https://github.com/Imagick/imagick; \
|
||||
else \
|
||||
git clone https://github.com/Imagick/imagick; \
|
||||
fi; \
|
||||
git clone https://github.com/Imagick/imagick; \
|
||||
else \
|
||||
git clone --branch ${IMAGEMAGICK_VERSION} https://github.com/Imagick/imagick; \
|
||||
git clone --branch ${IMAGEMAGICK_VERSION} https://github.com/Imagick/imagick; \
|
||||
fi && \
|
||||
cd imagick && \
|
||||
phpize && \
|
||||
@@ -471,7 +467,9 @@ RUN if [ ${INSTALL_TAINT} = true ]; then \
|
||||
|
||||
ARG INSTALL_IMAP=false
|
||||
|
||||
RUN if [ ${INSTALL_IMAP} = true ]; then \
|
||||
RUN if [ ${INSTALL_IMAP} = true ] \
|
||||
&& [ "$LARADOCK_PHP_VERSION" != "8.4" ] \
|
||||
&& [ "$LARADOCK_PHP_VERSION" != "8.5" ]; then \
|
||||
apk add --update imap-dev && \
|
||||
docker-php-ext-configure imap --with-imap --with-imap-ssl && \
|
||||
docker-php-ext-install imap \
|
||||
|
||||
23332
react/package-lock.json
generated
23332
react/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -47,12 +47,26 @@ ENV PUID ${PUID}
|
||||
ARG PGID=1000
|
||||
ENV PGID ${PGID}
|
||||
|
||||
# Set apt-get options:
|
||||
ARG WORKSPACE_ALLOW_RELEASE_INFO_CHANGE=false
|
||||
ENV WORKSPACE_ALLOW_RELEASE_INFO_CHANGE ${WORKSPACE_ALLOW_RELEASE_INFO_CHANGE}
|
||||
|
||||
# always run apt update when start and after add new source list, then clean up at end.
|
||||
RUN set -xe; \
|
||||
apt-get update -yqq && \
|
||||
if [ ${WORKSPACE_ALLOW_RELEASE_INFO_CHANGE} = true ]; then \
|
||||
APT_GET_UPDATE_OPTIONS="--allow-releaseinfo-change"; \
|
||||
else \
|
||||
APT_GET_UPDATE_OPTIONS=""; \
|
||||
fi; \
|
||||
apt-get update -yqq ${APT_GET_UPDATE_OPTIONS} && \
|
||||
pecl channel-update pecl.php.net && \
|
||||
groupadd -g ${PGID} laradock && \
|
||||
useradd -l -u ${PUID} -g laradock -m laradock -G docker_env && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] && [ $(php -r "echo PHP_MINOR_VERSION;") != "0" ]; then \
|
||||
groupmod --new-name laradock ubuntu; \
|
||||
usermod --login laradock ubuntu --move-home --home /home/laradock; \
|
||||
else \
|
||||
groupadd -g ${PGID} laradock; \
|
||||
useradd -l -u ${PUID} -g laradock -m laradock -G docker_env; \
|
||||
fi; \
|
||||
usermod -p "*" laradock -s /bin/bash && \
|
||||
apt-get install -yqq \
|
||||
apt-utils \
|
||||
@@ -110,14 +124,14 @@ RUN sed -i 's/\r//' /root/aliases.sh && \
|
||||
echo "" >> ~/.bashrc && \
|
||||
echo "# Load Custom Aliases" >> ~/.bashrc && \
|
||||
echo "source ~/aliases.sh" >> ~/.bashrc && \
|
||||
echo "" >> ~/.bashrc
|
||||
echo "" >> ~/.bashrc
|
||||
|
||||
USER laradock
|
||||
|
||||
RUN echo "" >> ~/.bashrc && \
|
||||
echo "# Load Custom Aliases" >> ~/.bashrc && \
|
||||
echo "source ~/aliases.sh" >> ~/.bashrc && \
|
||||
echo "" >> ~/.bashrc
|
||||
echo "" >> ~/.bashrc
|
||||
|
||||
###########################################################################
|
||||
# Composer:
|
||||
@@ -351,7 +365,7 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
apt-get install -yqq pkg-config php-xml php${LARADOCK_PHP_VERSION}-xml && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install xdebug-3.4.1; \
|
||||
pecl install xdebug-3.5.0; \
|
||||
else \
|
||||
pecl install xdebug-3.1.6; \
|
||||
fi; \
|
||||
@@ -716,7 +730,7 @@ RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \
|
||||
ARG INSTALL_IONCUBE=false
|
||||
|
||||
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
||||
if [ ${LARADOCK_PHP_VERSION} != "8.4" ] \
|
||||
if [ ${LARADOCK_PHP_VERSION} != "8.5" ] \
|
||||
&& [ ${LARADOCK_PHP_VERSION} != "8.0" ]; then \
|
||||
# Install the php ioncube loader
|
||||
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
|
||||
@@ -776,7 +790,7 @@ ENV NVM_NODEJS_ORG_MIRROR ${NVM_NODEJS_ORG_MIRROR}
|
||||
RUN if [ ${INSTALL_NODE} = true ]; then \
|
||||
# Install nvm (A Node Version Manager)
|
||||
mkdir -p $NVM_DIR && \
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash \
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash \
|
||||
&& . $NVM_DIR/nvm.sh \
|
||||
&& nvm install ${NODE_VERSION} \
|
||||
&& nvm use ${NODE_VERSION} \
|
||||
@@ -1041,7 +1055,7 @@ ARG INSTALL_LARAVEL_INSTALLER=false
|
||||
|
||||
RUN if [ ${INSTALL_LARAVEL_INSTALLER} = true ]; then \
|
||||
# Install the Laravel Installer
|
||||
composer global require "laravel/installer" \
|
||||
composer global require "laravel/installer" \
|
||||
;fi
|
||||
|
||||
USER root
|
||||
@@ -1282,11 +1296,7 @@ RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
|
||||
apt-get install -y git && \
|
||||
cd /tmp && \
|
||||
if [ ${IMAGEMAGICK_VERSION} = "latest" ]; then \
|
||||
if [ ${LARADOCK_PHP_VERSION} = "8.4" ]; then \
|
||||
git clone --branch develop https://github.com/Imagick/imagick; \
|
||||
else \
|
||||
git clone https://github.com/Imagick/imagick; \
|
||||
fi; \
|
||||
git clone https://github.com/Imagick/imagick; \
|
||||
else \
|
||||
git clone --branch ${IMAGEMAGICK_VERSION} https://github.com/Imagick/imagick; \
|
||||
fi && \
|
||||
@@ -1314,10 +1324,10 @@ ARG INSTALL_TERRAFORM=false
|
||||
|
||||
RUN if [ ${INSTALL_TERRAFORM} = true ]; then \
|
||||
apt-get -yqq install sudo wget unzip \
|
||||
&& wget https://releases.hashicorp.com/terraform/0.10.6/terraform_0.10.6_linux_amd64.zip \
|
||||
&& unzip terraform_0.10.6_linux_amd64.zip \
|
||||
&& wget https://releases.hashicorp.com/terraform/1.13.3/terraform_1.13.3_linux_amd64.zip \
|
||||
&& unzip terraform_1.13.3_linux_amd64.zip \
|
||||
&& mv terraform /usr/local/bin \
|
||||
&& rm terraform_0.10.6_linux_amd64.zip \
|
||||
&& rm terraform_1.13.3_linux_amd64.zip \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@@ -1527,7 +1537,7 @@ RUN if [ ${INSTALL_POPPLER_UTILS} = true ]; then \
|
||||
USER root
|
||||
|
||||
ARG INSTALL_WKHTMLTOPDF=false
|
||||
ARG WKHTMLTOPDF_VERSION=0.12.6-1
|
||||
ARG WKHTMLTOPDF_VERSION=0.12.6.1-3
|
||||
|
||||
RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
|
||||
ARCH=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) \
|
||||
@@ -1542,8 +1552,8 @@ RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
|
||||
xfonts-base \
|
||||
xfonts-75dpi \
|
||||
wget \
|
||||
&& wget "https://github.com/wkhtmltopdf/packaging/releases/download/${WKHTMLTOPDF_VERSION}/wkhtmltox_${WKHTMLTOPDF_VERSION}.focal_${ARCH}.deb" \
|
||||
&& dpkg -i "wkhtmltox_${WKHTMLTOPDF_VERSION}.focal_${ARCH}.deb" \
|
||||
&& wget "https://github.com/wkhtmltopdf/packaging/releases/download/${WKHTMLTOPDF_VERSION}/wkhtmltox_${WKHTMLTOPDF_VERSION}.jammy_${ARCH}.deb" \
|
||||
&& dpkg -i "wkhtmltox_${WKHTMLTOPDF_VERSION}.jammy_${ARCH}.deb" \
|
||||
&& apt -f install \
|
||||
;fi
|
||||
|
||||
@@ -1697,7 +1707,7 @@ RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \
|
||||
echo "" >> ~/.zshrc && \
|
||||
echo "# Load Custom Aliases" >> ~/.zshrc && \
|
||||
echo "source ~/aliases.sh" >> ~/.zshrc && \
|
||||
echo "" >> ~/.zshrc \
|
||||
echo "" >> ~/.zshrc \
|
||||
;fi
|
||||
|
||||
USER laradock
|
||||
@@ -1706,7 +1716,7 @@ RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \
|
||||
echo "" >> ~/.zshrc && \
|
||||
echo "# Load Custom Aliases" >> ~/.zshrc && \
|
||||
echo "source ~/aliases.sh" >> ~/.zshrc && \
|
||||
echo "" >> ~/.zshrc \
|
||||
echo "" >> ~/.zshrc \
|
||||
;fi
|
||||
|
||||
USER root
|
||||
|
||||
Reference in New Issue
Block a user