Skip to content

Local development environment for CreativeCommons.org (product name: index)

License

Notifications You must be signed in to change notification settings

creativecommons/index-dev-env

Repository files navigation

index-dev-env

Local development environment for CreativeCommons.org.

index is the product name for the CreativeCommons.org website.

Overview

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

Code of Conduct

CODE_OF_CONDUCT.md:

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.

Contributing

See CONTRIBUTING.md.

Docker containers

The docker-compose.yml file defines the following containers:

  1. 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
  2. index-phpmyadmin - Database administration
  3. 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
  4. index-web - Web server (WordPress and static HTML components)
  5. index-wpdb - Database server for WordPress

Setup

  1. Ensure the following repositories are cloned adjacent to this repository:
    PARENT_DIR
    ├── cc-legal-tools-data
    ├── chooser
    ├── dev-index-env
    ├── faq
    └── mp
    
  2. Create the .env file:
    cp .env.example .env
  3. Update .env to set desired values for variables (WP_VERSION, WP_MOD_TYPE, WP_MOD_NAME, etc.)
  4. Build/start Docker:
    docker compose up
  5. Wait for build and initialization to complete
  6. Setup WordPress:
    ./setup-wordpress.sh
  7. Optionally: manually activate/configure wordfence in the GUI for now.
    • TODO: Script help here

Dev component URLs

Component URL
Chooser /choose
FAQ /faq
Licenses /licenses
Platform Toolkit /platform/toolkit
Public Domain /publicdomain
WordPress / (default)
WordPress Admin /wp-admin/

Also see config/web-sites-available/000-default.conf.

WordPress versions

Core

Name Version
WordPress 6.3

Also see .env.example.

Plugins

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.

Themes

Name Version
Vocabulary Theme 0.11.0

Also see config/composer/composer.json.

Copying

CC0 1.0 Universal (CC0 1.0) Public Domain Dedication button

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.

About

Local development environment for CreativeCommons.org (product name: index)

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •