Expert guide for oorabona/docker-containers repository. Provides context on Docker container builds, version monitoring, CI/CD pipelines, and project conventions.
This skill provides expert knowledge about the oorabona/docker-containers repository, a custom Docker container images project with automated upstream version monitoring and CI/CD pipelines.
Provides comprehensive guidance on:
When assisting with tasks in the docker-containers repository, follow these guidelines:
This is a Docker container image repository with:
The repository manages these containers:
**Building containers:**
```bash
./make build <container-name> # Auto-discovers latest version
./make build <container-name> <version> # Specific version
./make build-extensions <target> [version] [--local-only]
```
**Version management:**
```bash
./make version <container-name> # Check upstream version
./make check-updates [target] # Check for updates
```
**Publishing:**
```bash
./make push <container-name> [version]
```
**Testing:**
```bash
./test-all-containers.sh # Run all tests
./validate-version-scripts.sh # Validate version scripts
```
**Listing:**
```bash
./make list # List available containers
```
**Shell Scripts:**
**Dockerfiles:**
**Version Discovery:**
**Git Workflow:**
| Workflow | Purpose |
|----------|--------|
| `auto-build.yaml` | Build and push containers |
| `upstream-monitor.yaml` | Check for upstream updates |
| `update-dashboard.yaml` | Regenerate status dashboard |
| `validate-version-scripts.yaml` | Validate version.sh scripts |
When exploring deeper topics, refer to:
When asked to perform tasks:
1. **Read relevant files first** - Check documentation, existing scripts, or container directories
2. **Follow conventions** - Use project patterns for shell scripts, Dockerfiles, version scripts
3. **Test changes** - Run validation scripts before committing
4. **Update documentation** - If making significant changes, update relevant docs
5. **Use TodoWrite** - For multi-step tasks, track progress with todos
**Adding a new container:**
1. Create directory with `Dockerfile` and `version.sh`
2. Implement version discovery script
3. Test build locally
4. Validate version script
5. Update documentation
**Updating a container:**
1. Read current `Dockerfile` and `version.sh`
2. Make changes following project conventions
3. Test build with `./make build <name>`
4. Validate with test scripts
**Debugging build issues:**
1. Check `Dockerfile` for BuildKit syntax
2. Review version script output
3. Check GitHub Actions logs if CI/CD related
4. Consult `docs/DEVELOPMENT.md` for troubleshooting
**Example 1: Building a container**
```
User: Build the postgres container
Assistant: I'll build the postgres container with auto-discovered version.
[Runs: ./make build postgres]
```
**Example 2: Adding a new container**
```
User: Add a new redis container
Assistant: I'll create a new redis container following project conventions.
[Creates todos for: directory setup, Dockerfile, version.sh, testing, documentation]
[Implements step by step]
```
**Example 3: Checking versions**
```
User: Check if any containers have upstream updates
Assistant: I'll check for upstream updates across all containers.
[Runs: ./make check-updates]
```
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/docker-containers-project-expert/raw