-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wordpress #5
Wordpress #5
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,36 @@ | ||
# triton-wordpress | ||
# autopilot-wordpress | ||
*a Docker Compose leveraging services from many containers to create an robust WordPress envrionment* | ||
|
||
### Containerized and discoverable via Consul | ||
This project uses Consul for service discovery, and all component containers announce themselves to Consul and get the information they need about other services from Consul. This allows each container to configure itself once the services it depends on are online. It also allows each service to be scaled up to handle incoming traffic and as more services are added, the containers that consume these services will reconfigure themselves accordingly. | ||
|
||
### Project Architecure | ||
A running cluster includes the following components: | ||
|
||
- [Consul](https://www.consul.io/): used to coordinate replication and failover | ||
- [Autopilot-MySQL](https://github.com/autopilotpattern/mysql/): we're using the Autopilot-MySQL project to leverage the great features built into this container. It users MySQL5.6 via [Percona Server](https://www.percona.com/software/mysql-database/percona-server), and [`xtrabackup`](https://www.percona.com/software/mysql-database/percona-xtrabackup) for running hot snapshots. | ||
- [Manta](https://www.joyent.com/object-storage): the Joyent object store, for securely and durably storing our MySQL snapshots. | ||
- [ContainerPilot](http://containerpilot.io): included in our MySQL containers orchestrate bootstrap behavior and coordinate replication using keys and checks stored in Consul in the `onStart`, `health`, and `onChange` handlers. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. https://www.joyent.com/containerpilot Also note that Edit, you're probably on both of those, as this was copypasta from elsewhere. |
||
- [NFS](https://github.com/autpilotpattern/nfsserver/): Stores user uploaded files so these files can be shared between many WordPress containers and served to the world | ||
- [Memcached](https://github.com/autpilotpattern/memcached/): Caches often accessed data in memory so WordPress doesn't always have to access the database | ||
- [Nginx](https://github.com/autopilotpattern/nginx): Front-end load balancer for the WordPress envrionment, passes traffic from users to the WordPress containers on the back-end. | ||
|
||
### Getting started | ||
|
||
1. [Get a Joyent account](https://my.joyent.com/landing/signup/) and [add your SSH key](https://docs.joyent.com/public-cloud/getting-started). | ||
1. Install the [Docker Toolbox](https://docs.docker.com/installation/mac/) (including `docker` and `docker-compose`) on your laptop or other environment, as well as the [Joyent Triton CLI](https://www.joyent.com/blog/introducing-the-triton-command-line-tool) (`triton` replaces our old `sdc-*` CLI tools) | ||
1. [Configure Docker and Docker Compose for use with Joyent](https://docs.joyent.com/public-cloud/api-access/docker): | ||
|
||
```bash | ||
curl -O https://raw.githubusercontent.com/joyent/sdc-docker/master/tools/sdc-docker-setup.sh && chmod +x sdc-docker-setup.sh | ||
./sdc-docker-setup.sh -k us-east-1.api.joyent.com <ACCOUNT> ~/.ssh/<PRIVATE_KEY_FILE> | ||
``` | ||
### Joyent Manta configuration | ||
``` | ||
write this: | ||
needs ssh keys for manta | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I started work on improving the MySQL configuration in autopilotpattern/mysql#14 |
||
``` | ||
|
||
|
||
|
||
Check that everything is configured correctly by running `./setup.sh`. If it returns without an error you're all set. This script will create and `_env` file that includes the Triton CNS name for the Consul service. You'll want to edit this file to update the username and password for Couchbase. |
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...and the set of badges shown in autopilotpattern/mysql#15 would be great too: