About DockerHub
The DockerHub integration connects Serval to Docker Hub, the container image registry. Once connected with a Docker Hub username and a Personal Access Token (PAT), Serval can list the repositories in your namespace, read repository details, browse and inspect image tags, and grant a team access to a repository. The username you configure is stored with the connection itself, so Serval always knows which namespace it is working with. Organization management (members, teams, invites) is handled by the separate DockerHub Organization integration. Authentication: Username + Personal Access Token (PAT). Docker Hub does not accept a raw PAT on API calls, so Serval automatically exchanges your username and PAT for a short-lived access token and refreshes it just before it expires. Your PAT is stored encrypted and is never exposed to workflows. Data sync: On-demand only. There is no background sync or data ingestion - Serval calls Docker Hub live whenever a workflow or health check needs it.What the DockerHub integration enables
Get your credentials
You need a Docker Hub Personal Access Token created under the account whose username you will enter in Serval. Ideally this is a dedicated service account added to your organization with the minimum role needed. See the official Docker Hub personal access tokens guide for details.Log in to Docker Hub
Open the token settings
Generate a new token
Set the expiration date and access permissions
Public Repo Read, Read & Write, or Repo:Read appear elsewhere on this page, choose Read to cover the read scopes and add Write to cover Read & Write.Copy the token
Connect in Serval
Open the DockerHub integration in Serval
Enter the Username (required)
Enter the Personal Access Token (required)
Public Repo Read scope; use Read & Write for full repository management. Submitting without a token is rejected by Serval with an error that includes “Personal Access Token is required.”Enter an Instance Name (required)
Save the connection
Verifying the connection
When the connection is created, Serval verifies it by listing the repositories in your namespace. The integration also ships three named health checks you can run at any time. Validate DockerHub API Connection - confirms your stored credentials can be exchanged for a working access token by listing your namespace’s repositories.- Success: Successfully authenticated with DockerHub as “[username]” ([number] repositories in namespace).
- Failure: Unable to authenticate with DockerHub. Verify the username and Personal Access Token, and confirm the PAT has not been revoked. If the error message mentions
token issued from personal access token is not allowed, the endpoint being called requires an Organization Access Token (OAT) — use thedockerhub-orgintegration for those operations.
- Success: Successfully listed repositories in the [username] namespace ([number] total).
- Failure: Unable to list DockerHub repositories. Ensure the Personal Access Token has at least the
Public Repo Readscope, and that the configured username matches a real DockerHub namespace.
- Success: Successfully fetched tag listing for “[namespace]/[repository]” ([number] tags).
- Failure: Unable to fetch tag listings. This typically indicates the PAT lacks
Repo:Readscope, or the repository in the namespace is private and the PAT does not have access to it.
Gotchas and troubleshooting
Organization management is a different integration
Organization management is a different integration
Errors mentioning 'token issued from personal access token is not allowed'
Errors mentioning 'token issued from personal access token is not allowed'
Editing the connection keeps existing values for blank fields
Editing the connection keeps existing values for blank fields
A green tag-access check does not always prove tag access
A green tag-access check does not always prove tag access
Repository description updates and tag deletions are not supported
Repository description updates and tag deletions are not supported
Pulling and pushing container images is out of scope
Pulling and pushing container images is out of scope
Rotate your PAT on a schedule
Rotate your PAT on a schedule
Need help? Contact support@serval.com for assistance with your DockerHub integration.

