Local development environment for CreativeCommons.org (product name: index
).
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 (Vocabulary Theme)
- static components:
- Chooser
- FAQ
- Legal Tools (licenses and public domain)
- Platform Toolkit
Path label | Path | Component name | Component repositories |
---|---|---|---|
Chooser | /choose |
Chooser | chooser |
FAQ | /faq |
FAQ | faq |
Licenses | /licenses |
CC Legal Tools | cc-legal-tools-app, cc-legal-tools-data |
Platform Toolkit | /platform/toolkit |
Platform Toolkit | mp |
Public Domain | /publicdomain |
CC Legal Tools | cc-legal-tools-app, cc-legal-tools-data |
WordPress | / (default) |
Vocabulary Theme | vocabulary-theme |
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 [email protected] 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
- 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
.env
file:cp .env.example .env
- Update
.env
to 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
- Optional (CC staff only): import production data
- Ensure you have access to the production server and your local machine is properly configured to access it
- Pull production data
./staff_migrate.sh pull
- Import production data
./staff_migrate.sh import
Path label | Dev link | Stage link | Prod link |
---|---|---|---|
Chooser | Dev /choose |
Stage /choose |
Prod /choose |
FAQ | Dev /faq |
Stage /faq |
Prod /faq |
Licenses | Dev /licenses |
Stage /licenses |
Prod /licenses |
Platform Toolkit | Dev /platform/toolkit |
Stage /platform/toolkit |
Prod /platform/toolkit |
Public Domain | Dev /publicdomain |
Stage /publicdomain |
Prod /publicdomain |
WordPress | Dev / (default) |
Stage / (default) |
Prod / (default) |
WordPress Admin | Dev /wp-admin |
Stage /wp-admin |
Prod /wp-admin |
See config/web-sites-available/000-default.conf
.
Name | Version |
---|---|
WordPress | 6.3 |
Also see .env.example
.
Name | Version |
---|---|
Advanced Custom Fields | 6.2.1 |
Advanced Custom Fields: Menu Chooser | 1.1.0 |
Classic Editor | 1.6.3 |
Monster Insights Google Analytics | 8.19 |
Redirection | 5.3.10 |
Tablepress | 2.1.7 |
Wordfence | 7.10.4 |
WordPress Importer | 0.8.1 |
Yoast SEO | 21.2 |
Also see config/composer/composer.json
.
Name | Version |
---|---|
Vocabulary Theme | 1.3.3 |
Also see config/composer/composer.json
.
The staging server and production server are configured via Salt managed in the in creativecommons/sre-salt-prime repository. The list below include the specifics (is non-exhaustive):
pillars/
states/
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.