Local development environment for CreativeCommons.org.
index is the product name for the CreativeCommons.org website.
This repository has the configuration required to run the CreativeCommons.org website in a local Docker development environment.
The CreativeCommons.org website is comprised of five components that are split into two categories:
- dynamic component:
- WordPress
- static components:
- Chooser
- FAQ
- Legal Tools (licenses and public domain dedications)
- Platform Toolkit
The Creative Commons team is committed to fostering a welcoming community. This project and all other Creative Commons open source projects are governed by our Code of Conduct. Please report unacceptable behavior to conduct@creativecommons.org per our reporting guidelines.
See CONTRIBUTING.md.
The docker-compose.yml file defines the following
containers:
- index-composer - A Dependency Manager for PHP
- This container does not have a persistent service. Expect the following
message when you start the services:
index-composer exited with code 0
- This container does not have a persistent service. Expect the following
message when you start the services:
- index-phpmyadmin - Database administration
- index-wpcli - The command line interface for WordPress
- This container does not have a persistent service. Expect the following
message when you start the services:
index-wpcli exited with code 0
- This container does not have a persistent service. Expect the following
message when you start the services:
- index-web - Web server (WordPress and static HTML components)
- index-wpdb - Database server for WordPress
- Ensure the following repositories are cloned adjacent to this repository:
PARENT_DIR ├── cc-legal-tools-data ├── chooser ├── dev-index-env ├── faq └── mp - Create the
.envfile:cp .env.example .env
- Update
.envto set desired values for variables (WP_VERSION,WP_MOD_TYPE,WP_MOD_NAME, etc.) - Build/start Docker:
docker compose up
- Wait for build and initialization to complete
- Setup WordPress:
./setup-wordpress.sh
- Optionally: manually activate/configure
wordfencein the GUI for now.- TODO: Script help here
| Component | URL |
|---|---|
| Chooser | /choose |
| FAQ | /faq |
| Licenses | /licenses |
| Platform Toolkit | /platform/toolkit |
| Public Domain | /publicdomain |
| WordPress | / (default) |
Also see config/web-sites-available/000-default.conf.
| Name | Version |
|---|---|
| WordPress | 6.3 |
Also see .env.example.
| Name | Version |
|---|---|
| Advanced Custom Fields | 6.1.8 |
| Advanced Custom Fields: Menu Chooser | 1.1.0 |
| Classic Editor | 1.6.3 |
| Redirection | 4.9.2 |
| Tablepress | 1.14 |
| Wordfence | 7.10.3 |
| WordPress Imorter | 0.8.1 |
Also see config/composer/composer.json.
| Name | Version |
|---|---|
| Vocabulary Theme | 0.8.0 |
Also see config/composer/composer.json.
COPYING: All the content within this repository is dedicated to
the public domain under the CC0 1.0 Universal (CC0 1.0) Public Domain
Dedication.
