mirror of
https://github.com/phpbb/phpbb.git
synced 2025-01-17 14:18:24 +01:00
[ticket/17086] Add devcontainer configuration for Codespaces
PHPBB3-17086
This commit is contained in:
parent
83b53690b5
commit
6e45a2361d
20
.devcontainer/Dockerfile
Normal file
20
.devcontainer/Dockerfile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# Debian version
|
||||||
|
ARG VARIANT="buster"
|
||||||
|
FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}
|
||||||
|
|
||||||
|
# Install PHP
|
||||||
|
RUN apt-get -y update
|
||||||
|
RUN apt-get -y install php php-xml php-mbstring php-curl php-zip php-xdebug
|
||||||
|
|
||||||
|
# Install Composer
|
||||||
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||||
|
|
||||||
|
# Install MySQL
|
||||||
|
RUN apt-get -y install mysql-server php-mysql
|
||||||
|
|
||||||
|
# Xdebug
|
||||||
|
ADD resources/xdebug.ini /etc/php/8.1/apache2/conf.d/xdebug.ini
|
||||||
|
|
||||||
|
# Configure Apache
|
||||||
|
RUN echo "Listen 8080" >> /etc/apache2/ports.conf && \
|
||||||
|
a2enmod rewrite
|
37
.devcontainer/devcontainer.json
Normal file
37
.devcontainer/devcontainer.json
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// 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.238.1/containers/ubuntu
|
||||||
|
{
|
||||||
|
"name": "Ubuntu",
|
||||||
|
"build": {
|
||||||
|
"dockerfile": "Dockerfile",
|
||||||
|
// Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04
|
||||||
|
// Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon.
|
||||||
|
"args": { "VARIANT": "ubuntu-22.04" }
|
||||||
|
},
|
||||||
|
|
||||||
|
// Configure tool-specific properties.
|
||||||
|
"customizations": {
|
||||||
|
// Configure properties specific to VS Code.
|
||||||
|
"vscode": {
|
||||||
|
"settings": {
|
||||||
|
// Allow Xdebug to listen to requests from remote (or container)
|
||||||
|
"remote.localPortHost": "allInterfaces"
|
||||||
|
},
|
||||||
|
//"devPort": {},
|
||||||
|
// Specify which VS Code extensions to install (List of IDs)
|
||||||
|
"extensions": ["xdebug.php-debug"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||||
|
"forwardPorts": [80, 9003],
|
||||||
|
|
||||||
|
// Use 'postCreateCommand' to run commands after the container is created.
|
||||||
|
"postStartCommand": "bash .devcontainer/resources/setup.sh",
|
||||||
|
|
||||||
|
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
||||||
|
"remoteUser": "vscode",
|
||||||
|
"features": {
|
||||||
|
"github-cli": "latest"
|
||||||
|
}
|
||||||
|
}
|
38
.devcontainer/resources/phpbb-config.yml
Normal file
38
.devcontainer/resources/phpbb-config.yml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
installer:
|
||||||
|
admin:
|
||||||
|
name: admin
|
||||||
|
password: mypassword
|
||||||
|
email: admin@example.org
|
||||||
|
|
||||||
|
board:
|
||||||
|
lang: en
|
||||||
|
name: My Board
|
||||||
|
description: My amazing new phpBB board
|
||||||
|
|
||||||
|
database:
|
||||||
|
dbms: mysqli
|
||||||
|
dbhost: 127.0.0.1
|
||||||
|
dbport: 3306
|
||||||
|
dbuser: phpbb
|
||||||
|
dbpasswd: phpbb
|
||||||
|
dbname: phpbb
|
||||||
|
table_prefix: phpbb_
|
||||||
|
|
||||||
|
email:
|
||||||
|
enabled: false
|
||||||
|
smtp_delivery : ~
|
||||||
|
smtp_host: ~
|
||||||
|
smtp_port: ~
|
||||||
|
smtp_auth: ~
|
||||||
|
smtp_user: ~
|
||||||
|
smtp_pass: ~
|
||||||
|
|
||||||
|
server:
|
||||||
|
cookie_secure: false
|
||||||
|
server_protocol: http://
|
||||||
|
force_server_vars: false
|
||||||
|
server_name: localhost
|
||||||
|
server_port: 80
|
||||||
|
script_path: /
|
||||||
|
|
||||||
|
extensions: []
|
44
.devcontainer/resources/setup.sh
Normal file
44
.devcontainer/resources/setup.sh
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# setup.sh
|
||||||
|
# Commands to install and configure phpBB
|
||||||
|
|
||||||
|
# Start MySQL
|
||||||
|
echo "[Codespaces] Start MySQL"
|
||||||
|
sudo service mysql start
|
||||||
|
|
||||||
|
# Start Apache
|
||||||
|
echo "[Codespaces] Start Apache"
|
||||||
|
sudo service apache2 start
|
||||||
|
|
||||||
|
# Add SSH key
|
||||||
|
echo "[Codespaces] Add SSH key"
|
||||||
|
echo "$SSH_KEY" > /home/vscode/.ssh/id_rsa && chmod 600 /home/vscode/.ssh/id_rsa
|
||||||
|
|
||||||
|
# Create a MySQL user to use
|
||||||
|
echo "[Codespaces] Create MySQL user"
|
||||||
|
sudo mysql -u root<<EOFMYSQL
|
||||||
|
CREATE USER 'phpbb'@'localhost' IDENTIFIED BY 'phpbb';
|
||||||
|
GRANT ALL PRIVILEGES ON *.* TO 'phpbb'@'localhost' WITH GRANT OPTION;
|
||||||
|
CREATE DATABASE IF NOT EXISTS phpbb;
|
||||||
|
EOFMYSQL
|
||||||
|
|
||||||
|
# Download dependencies
|
||||||
|
echo "[Codespaces] Install Composer dependencies"
|
||||||
|
composer install --no-interaction
|
||||||
|
|
||||||
|
# Symlink the webroot so it can be viewed
|
||||||
|
echo "[Codespaces] Create Symlink of webroot"
|
||||||
|
sudo rm -rf /var/www/html
|
||||||
|
sudo ln -s /workspaces/phpbb/phpBB /var/www/html
|
||||||
|
|
||||||
|
# Copy phpBB config
|
||||||
|
echo "[Codespaces] Copy phpBB configuration"
|
||||||
|
cp /workspaces/phpbb/.devcontainer/resources/phpbb-config.yml /workspaces/phpbb/phpBB/install/install-config.yml
|
||||||
|
|
||||||
|
# Install phpBB
|
||||||
|
echo "[Codespaces] Run phpBB CLI installation"
|
||||||
|
cd /workspaces/phpbb/phpBB && composer install --no-interaction
|
||||||
|
sudo php /workspaces/phpbb/phpBB/install/phpbbcli.php install /workspaces/phpbb/phpBB/install/install-config.yml
|
||||||
|
rm -rf /workspaces/phpbb/phpBB/install
|
||||||
|
|
||||||
|
# Finished
|
||||||
|
echo "[Codespaces] phpBB installation completed"
|
10
.devcontainer/resources/xdebug.ini
Normal file
10
.devcontainer/resources/xdebug.ini
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
zend_extension=xdebug.so
|
||||||
|
|
||||||
|
[xdebug]
|
||||||
|
xdebug.mode=develop,debug
|
||||||
|
xdebug.discover_client_host=1
|
||||||
|
xdebug.client_port=9003
|
||||||
|
xdebug.start_with_request=yes
|
||||||
|
xdebug.log='/var/log/xdebug/xdebug.log'
|
||||||
|
xdebug.connect_timeout_ms=2000
|
||||||
|
xdebug.idekey=VSCODE
|
18
.vscode/launch.json
vendored
Normal file
18
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Listen for Xdebug",
|
||||||
|
"type": "php",
|
||||||
|
"request": "launch",
|
||||||
|
"port": 9003,
|
||||||
|
"pathMappings": {
|
||||||
|
"/var/www/html": "${workspaceRoot}/phpBB/"
|
||||||
|
},
|
||||||
|
"log": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"php.debug.ideKey": "VSCODE"
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user