Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ doner Public

Managed pinned versions in Dockerfiles (`doner`: DOcker maintaiNER)

License

Notifications You must be signed in to change notification settings

KyleKing/doner

Repository files navigation

Doner

Automated Dockerfile version updater that keeps your container images and dependencies fresh, tested, and production-ready.

Installation

Homebrew (coming soon)

brew install kyleking/tap/doner

From source

go install github.com/kyleking/doner/cmd/doner@latest

Binary releases

Download from GitHub Releases.

Usage

CLI

# Check for updates (dry-run, looks for ./Dockerfile by default)
doner check

# Check specific Dockerfile
doner check -f docker/api/Dockerfile

# Test with example fixtures
doner check -f test/fixtures/simple-python.Dockerfile

# Update Dockerfile with latest versions and validate
doner update -f Dockerfile

# Update without Docker build validation
doner update -f Dockerfile --skip-build

# Update with build but skip healthcheck
doner update -f Dockerfile --skip-healthcheck

GitHub Action

name: Check Dockerfile Updates
on:
  schedule:
    - cron: '0 10 * * 1'
  workflow_dispatch:

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: kyleking/doner@v1
        with:
          command: check
          file: docker/api/Dockerfile

Comment Directive Syntax

Add directives above Dockerfile instructions to control version updates:

# Example from https://docs.astral.sh/uv/guides/integration/aws-lambda/

# doner: uv:0.9.#
FROM ghcr.io/astral-sh/uv:0.9.26 AS uv

# doner: python:3.13.#
FROM public.ecr.aws/lambda/python:3.13 AS builder

# Example from https://github.com/elves/elvish

# doner: golang:1.#.#-alpine*
FROM golang:1.22-alpine3.19 as builder

# doner: alpine:3.#
FROM alpine:3.19

Version Patterns

  • 3.13.# - Pin major.minor, allow patch updates
  • 3.#.# - Pin major, allow minor+patch
  • #.#.# - Allow any version
  • * - Wildcard for suffixes (alpine3.21 -> alpine3.22)
  • ignore - Skip version checking

License

MIT

About

Managed pinned versions in Dockerfiles (`doner`: DOcker maintaiNER)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages