Skip to content

Commit 4288219

Browse files
authored
Merge branch '5.4-dev' into atum-logout
2 parents 19eeafb + d4be2a6 commit 4288219

File tree

1,844 files changed

+49369
-17552
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,844 files changed

+49369
-17552
lines changed

.appveyor.yml

Lines changed: 0 additions & 82 deletions
This file was deleted.

.devcontainer/Dockerfile

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Start from the official PHP 8.2 image with Apache
2+
FROM php:8.2-apache-bookworm
3+
4+
# Install system dependencies, Node.js, Composer, and Cypress dependencies
5+
RUN apt-get update && apt-get install -y \
6+
# System tools and git
7+
git \
8+
unzip \
9+
curl \
10+
sudo \
11+
# PHP extensions dependencies
12+
libpng-dev \
13+
libonig-dev \
14+
libxml2-dev \
15+
libzip-dev \
16+
# MySQL client AND server
17+
default-mysql-client \
18+
default-mysql-server \
19+
# Cypress dependencies
20+
xvfb \
21+
libgtk2.0-0 \
22+
libgtk-3-0 \
23+
libgbm-dev \
24+
libnotify-dev \
25+
libnss3 \
26+
libxss1 \
27+
libasound2 \
28+
libxtst6 \
29+
xauth \
30+
libldap2-dev \
31+
libgd-dev \
32+
&& \
33+
# Install the required PHP extensions for Zip and MySQL
34+
docker-php-ext-install zip mysqli gd ldap && \
35+
# Install Node.js (LTS version)
36+
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \
37+
apt-get install -y nodejs && \
38+
# Install Composer globally
39+
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
40+
# Install Xdebug
41+
pecl install xdebug && \
42+
# Clean up apt cache to reduce image size
43+
apt-get clean && rm -rf /var/lib/apt/lists/*
44+
45+
# After installing everything
46+
RUN sed -i 's|/var/www/html|/workspaces/joomla-cms|g' /etc/apache2/sites-available/000-default.conf \
47+
&& sed -i 's|/var/www/html|/workspaces/joomla-cms|g' /etc/apache2/apache2.conf
48+
49+
# Enable Apache's rewrite module and set the ServerName to prevent warnings
50+
RUN a2enmod rewrite \
51+
&& echo "ServerName localhost" >> /etc/apache2/apache2.conf
52+
53+
RUN apt-get update && apt-get install -y ssl-cert && \
54+
a2enmod ssl && \
55+
a2ensite 000-default && \
56+
a2ensite default-ssl && \
57+
sed -i 's|/var/www/html|/workspaces/joomla-cms|g' /etc/apache2/sites-available/default-ssl.conf && \
58+
echo '<Directory /workspaces/joomla-cms>\n Options Indexes FollowSymLinks\n AllowOverride All\n Require all granted\n</Directory>' >> /etc/apache2/sites-available/default-ssl.conf
59+
60+
# Create a custom PHP configuration file to enable file uploads and a log directory
61+
RUN mkdir -p /var/log/ && \
62+
touch /var/log/php_errors.log && \
63+
chown -R www-data:www-data /var/log/ && \
64+
chmod 766 /var/log/php_errors.log && \
65+
echo "upload_tmp_dir = /tmp" > /usr/local/etc/php/conf.d/custom-php.ini && \
66+
echo "post_max_size = 64M" >> /usr/local/etc/php/conf.d/custom-php.ini && \
67+
echo "upload_max_filesize = 64M" >> /usr/local/etc/php/conf.d/custom-php.ini && \
68+
echo "log_errors = On" >> /usr/local/etc/php/conf.d/custom-php.ini && \
69+
echo "error_log = /var/log/php_errors.log" >> /usr/local/etc/php/conf.d/custom-php.ini && \
70+
echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/custom-php.ini

.devcontainer/devcontainer.json

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"name": "Joomla Dev Environment",
3+
"dockerComposeFile": "docker-compose.yml",
4+
"service": "app",
5+
"workspaceFolder": "/workspaces/joomla-cms",
6+
"features": {
7+
"ghcr.io/devcontainers/features/desktop-lite:1": {}
8+
},
9+
"portsAttributes": {
10+
"443" : {
11+
"label": "Web Server (Joomla & phpmyadmin)",
12+
"onAutoForward": "silent"
13+
},
14+
"6080": {
15+
"label": "Cypress GUI",
16+
"onAutoForward": "silent"
17+
},
18+
"8025": {
19+
"label": "Mailpit Web UI",
20+
"onAutoForward": "openPreview"
21+
}
22+
},
23+
"forwardPorts": [80, 443, 6080, 8025],
24+
"postCreateCommand": "bash ./.devcontainer/post-create.sh",
25+
"customizations": {
26+
"vscode": {
27+
"extensions": [
28+
"xdebug.php-debug",
29+
"bmewburn.vscode-intelephense-client",
30+
"esbenp.prettier-vscode"
31+
],
32+
"settings": {
33+
"launch": {
34+
"version": "0.2.0",
35+
"configurations": [
36+
{
37+
"name": "Listen for Xdebug",
38+
"type": "php",
39+
"request": "launch",
40+
"port": 9003,
41+
"log": false
42+
}
43+
]
44+
}
45+
}
46+
}
47+
},
48+
"remoteUser": "root"
49+
}

.devcontainer/docker-compose.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
services:
2+
app:
3+
build:
4+
context: .
5+
dockerfile: Dockerfile
6+
volumes:
7+
- ..:/workspaces/joomla-cms:cached
8+
- ./xdebug.ini:/usr/local/etc/php/conf.d/99-xdebug.ini
9+
ports:
10+
- "80:80"
11+
- "443:443"
12+
- "3306:3306"
13+
- "6080:6080"
14+
command: sleep infinity
15+
16+
mysql:
17+
image: mysql:8.0
18+
command: --default-authentication-plugin=mysql_native_password
19+
restart: unless-stopped
20+
environment:
21+
MYSQL_ROOT_PASSWORD: root
22+
MYSQL_DATABASE: test_joomla
23+
MYSQL_USER: joomla_ut
24+
MYSQL_PASSWORD: joomla_ut
25+
volumes:
26+
- "mysql-data:/var/lib/mysql"
27+
28+
mailpit:
29+
image: axllent/mailpit:latest
30+
restart: unless-stopped
31+
ports:
32+
- "8025:8025"
33+
34+
volumes:
35+
mysql-data:

0 commit comments

Comments
 (0)