Skip to content

Traefik v3 Swarm Example - #423

Open
jnovack wants to merge 4 commits into
Joxit:mainfrom
jnovack:traefik-swarm-example
Open

jnovack wants to merge 4 commits into
Joxit:mainfrom
jnovack:traefik-swarm-example

Conversation

@jnovack

@jnovack jnovack commented Apr 23, 2025 •

Copy link
Copy Markdown

This PR combines (and supercedes) the ideas of #380, #396 and #419 and updates the example to use Traefik v3.

It is designed to be a "detailed quickstart" for a homelab or development environment and can easily be broken apart for larger more-production environments.

For the most part, this configuration file is about configuring Traefik and the support containers, and less about configuring this container.

I have followed your commit naming convention and files are linted and documented as much as possible to be helpful for those who wish to modify the configuration.

Features:

  • Unauthenticated PULLs
  • Authenticated PUSH/DELETEs
  • Single URL (registry and ui on the same domain, e.g. https://registry.contoso.com)
  • Let's Encrypt enabled
  • Authenticated Traefik Dashboard

Unfortunately, there were just too many updates and changes to continue the work of any other committers and extend their PRs. I did however, add a few names to the Contributors list of the README.md file as a consolation.

@jnovack
jnovack force-pushed the traefik-swarm-example branch 2 times, most recently from bdd727e to d152646 Compare April 24, 2025 01:51
@jnovack
jnovack force-pushed the traefik-swarm-example branch from d152646 to acbdea2 Compare April 24, 2025 03:19

@Joxit Joxit left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thank you for you contribution. I added some comments 😄

Comment thread examples/traefik/swarm.yml Outdated
Comment thread examples/traefik/swarm.yml Outdated
Comment thread examples/traefik/swarm.yml
networks:
- frontend

### Redis Container

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If redis is not required for the example to work, please remove it too.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The registry uses redis. I wanted to make a fully functional example that you can "one-click" and you can be up and running, almost zero configuration. In that light, I propose to keep.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The minimal configuration does not need redis, the basic configuration is using volume disk. Redis is used as a blobdescriptor cache that can be replaced by a simple inmemory cache

@jnovack
jnovack requested a review from Joxit June 6, 2025 13:59

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants