51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
# websimple-stack
|
|
|
|
Use this skill for host environment, Docker Compose, Traefik routing, and shared tooling concerns surrounding the Websimple local development environment.
|
|
|
|
The Websimple local development Docker stack is maintained in Gitea:
|
|
|
|
- https://gitea.websimple.com/docker/websimple-stack
|
|
|
|
## Config values used here
|
|
|
|
These environment variables drive stack-level operations:
|
|
|
|
- `WEBSIMPLE_STACK_PATH`: local path to the `websimple-stack` Docker project checkout.
|
|
- `WEBSIMPLE_STACK_PROTOCOL`: protocol used by local Traefik routing, `http` or `https`.
|
|
- `WEBSIMPLE_STACK_DOMAIN`: local domain suffix used by Traefik labels.
|
|
|
|
Do not hard-code these values in commands or examples. Read them from the environment. If any are missing when needed, ask the user to export them before proceeding rather than guessing.
|
|
|
|
## Environment expectations
|
|
|
|
The plugin assumes it is running on a developer machine configured for the Websimple local development stack.
|
|
|
|
### Stack and routing
|
|
|
|
- The `websimple-stack` Docker Compose project is configured and running locally.
|
|
- A wildcard `*.${WEBSIMPLE_STACK_DOMAIN}` resolves to the local IP.
|
|
- Traefik serves local stack services at `${WEBSIMPLE_STACK_PROTOCOL}://*.${WEBSIMPLE_STACK_DOMAIN}` using that wildcard domain routing.
|
|
|
|
### Required host executables
|
|
|
|
The following executables are expected to be available in the host `$PATH`:
|
|
|
|
- `mysql`
|
|
- `node`
|
|
- `pnpm`
|
|
- `php`
|
|
- `composer`
|
|
- `wp`
|
|
|
|
### MySQL access
|
|
|
|
- MySQL credentials are stored in `~/.my.cnf`.
|
|
- The `mysql` client should connect without prompting for a password.
|
|
- `/etc/hosts` contains an entry resolving `mysql`, so the DB host resolves the same way on the host as it does inside containers.
|
|
|
|
### WP-CLI defaults
|
|
|
|
- WP-CLI defaults are configured in `~/.wp-cli/config.yml`.
|
|
- DB host, user, and password defaults are already set there.
|
|
- `wp core config` workflows should only need to specify the database name.
|