mirror of
https://github.com/esauflores/toolbox.git
synced 2026-03-09 21:03:59 +00:00
60 lines
1.7 KiB
Markdown
60 lines
1.7 KiB
Markdown
# toolbox
|
|
|
|
Custom dev-tools Docker image for local development and self-hosted deployments.
|
|
|
|
## dev-tools - base
|
|
|
|
Based on `ubuntu:24.04`. Tools are managed by [mise](https://mise.jdx.dev/) and persisted on a shared volume mounted at `/tools`.
|
|
|
|
### Tools
|
|
|
|
| Category | Tools |
|
|
| ---------------- | ------------------------------------------- |
|
|
| Runtimes | Node 24, Python 3.11, Go 1.26 |
|
|
| Package managers | uv |
|
|
| Infrastructure | kubectl, terraform, docker-cli, ansible |
|
|
| Secrets | sops, age |
|
|
| CLI utilities | just, gh, jq, yq, bat, ripgrep, fzf, direnv |
|
|
|
|
### Configuration
|
|
|
|
| Variable | Default | Description |
|
|
| -------------- | -------- | --------------------------------------------- |
|
|
| `GITHUB_TOKEN` | _(none)_ | GitHub token to increase mise API rate limits |
|
|
|
|
### Usage
|
|
|
|
```bash
|
|
docker pull git.fastwaydata.com/esauflores/dev-tools:base
|
|
```
|
|
|
|
```yaml
|
|
services:
|
|
dev-tools:
|
|
image: git.fastwaydata.com/esauflores/dev-tools:base
|
|
environment:
|
|
- GITHUB_TOKEN=${GITHUB_TOKEN}
|
|
volumes:
|
|
- dev-tools-data:/tools
|
|
|
|
volumes:
|
|
dev-tools-data:
|
|
```
|
|
|
|
On first run the container installs all tools into the volume. Once healthy, the volume can be mounted read-only in other containers:
|
|
|
|
```yaml
|
|
services:
|
|
app:
|
|
volumes:
|
|
- dev-tools-data:/tools:ro
|
|
```
|
|
|
|
Add the following to your container's `Dockerfile` to use the tools:
|
|
|
|
```dockerfile
|
|
ENV MISE_DATA_DIR="/tools/mise"
|
|
ENV MISE_CONFIG_DIR="/tools/config"
|
|
ENV PATH="/tools/bin:/tools/shims:${PATH}"
|
|
```
|