Skip to content

Commit 00cb83a

Browse files
committed
First pass at README
1 parent 942384a commit 00cb83a

File tree

1 file changed

+120
-0
lines changed

1 file changed

+120
-0
lines changed

README.md

+120
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# VIP Codespaces
2+
3+
A development environment for WordPress VIP sites using GitHub Codespaces and VS Code Remote Containers.
4+
5+
## Overview
6+
7+
VIP Codespaces provides a containerized development environment for WordPress VIP sites, making it easy to set up and maintain a consistent development environment across teams. It leverages GitHub Codespaces and VS Code (and forks) Remote Containers to provide a seamless development experience.
8+
9+
## Features
10+
11+
- **WordPress Development Environment**: Pre-configured with WordPress, MariaDB, Nginx, and PHP
12+
- **WordPress Integration**: Includes VIP Go mu-plugins and VIP CLI
13+
- **Development Tools**: Includes tools like WP-CLI, XDebug, phpMyAdmin, and Mailpit
14+
- **Customizable**: Configure PHP version, WordPress version, and other settings
15+
- **Elasticsearch Support**: Optional Elasticsearch integration
16+
- **Memcached Support**: Optional Memcached integration
17+
- **Cron Support**: Configurable WordPress cron jobs
18+
19+
## Getting Started
20+
21+
### Prerequisites
22+
23+
- GitHub account with access to GitHub Codespaces
24+
- OR other IDEs supporting Dev Containers
25+
26+
### Using with GitHub Codespaces
27+
28+
1. Add the `.devcontainer` configuration to your WordPress VIP project
29+
2. Start a new Codespace from your repository
30+
3. Wait for the environment to build and initialize
31+
4. Access your WordPress site at the forwarded port (typically port 80)
32+
33+
### Using with VS Code/Cursor/Windsurf Remote Containers
34+
35+
1. Add the `.devcontainer` configuration to your WordPress VIP project
36+
2. Open the project in VS Code
37+
3. Click on the Remote Containers extension icon and select "Reopen in Container"
38+
4. Wait for the environment to build and initialize
39+
5. Access your WordPress site at localhost
40+
41+
## Configuration
42+
43+
The development environment can be customized through the `devcontainer.json` file. Available options include:
44+
45+
- PHP version
46+
- WordPress version
47+
- WordPress domain
48+
- WordPress multisite configuration
49+
- VIP Go mu-plugins integration
50+
- Development tools (Xdebug, phpMyAdmin, Mailpit, etc.)
51+
- Elasticsearch and Memcached support
52+
- Cron configuration
53+
54+
Example configuration:
55+
56+
```json
57+
{
58+
"name": "VIP Development Environment",
59+
"image": "ghcr.io/automattic/vip-codespaces/alpine-base:latest",
60+
"features": {
61+
"ghcr.io/automattic/vip-codespaces/nginx:latest": {},
62+
"ghcr.io/automattic/vip-codespaces/php:latest": {
63+
"version": "8.0"
64+
},
65+
"ghcr.io/automattic/vip-codespaces/mariadb:latest": {},
66+
"ghcr.io/automattic/vip-codespaces/wordpress:latest": {
67+
"version": "latest",
68+
"multisite": "false"
69+
},
70+
"ghcr.io/automattic/vip-codespaces/vip-go-mu-plugins:latest": {
71+
"enabled": "true"
72+
}
73+
}
74+
}
75+
```
76+
77+
## Available Features
78+
79+
The environment is built using a modular approach with various features that can be enabled or disabled:
80+
81+
- **base**: Base feature for VIP Codespaces
82+
- **nginx**: Nginx web server
83+
- **php**: PHP with configurable version
84+
- **mariadb**: MariaDB database server
85+
- **wordpress**: WordPress core
86+
- **wp-cli**: WordPress CLI
87+
- **vip-go-mu-plugins**: WordPress VIP MY-plugins
88+
- **vip-cli**: VIP CLI
89+
- **elasticsearch**: Elasticsearch server
90+
- **memcached**: Memcached server
91+
- **xdebug**: Xdebug for PHP debugging
92+
- **phpmyadmin**: phpMyAdmin for database management
93+
- **mailpit**: Mail testing tool
94+
- **cron**: Cron job support
95+
96+
## Port Forwarding
97+
98+
The environment forwards several ports for accessing different services:
99+
100+
- **80**: WordPress application
101+
- **81**: phpMyAdmin
102+
- **8025**: Mailpit web interface
103+
- **9003**: Xdebug
104+
105+
## Contributing
106+
107+
Contributions to VIP Codespaces are welcome. Please follow the standard GitHub workflow:
108+
109+
1. Fork the repository
110+
2. Create a feature branch
111+
3. Make your changes
112+
4. Submit a pull request
113+
114+
## License
115+
116+
This project is licensed under the terms of the GPL v2+ license.
117+
118+
## Support
119+
120+
For support with VIP Codespaces, please open an issue on the GitHub repository.

0 commit comments

Comments
 (0)