Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Traefik (2.0) to our stack #23

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

elafarge
Copy link
Collaborator

I'm sorry, this commit contains a compilation of what I've added to
our Plex & co setup over the last two years, without commiting
anything. So... it actually contains multiple changes :/

I thought these changes would be beneficial to our pet project
Essentially, they are meant to make setup and maintainance easier than
ever before, which I think is essential if we want more people to enjoy
this stuff :D

Here's the list:

  • Traefik has been integrated to our stack. It makes the setup easier
    for everyone who just wants a working setup on a fresh new server.
    Using this integrated traefik to route traffic to containers that
    aren't part of this stack is still possible of course.
    As a result, using custom networks is not necessary any more, it
    simplifies our docker-compose.yaml file a bit.
  • I've updated to Traefik 2, which completely breaks the vast majority
    of its APIs. Docker annotations had to be rewritten.
  • I removed the traefik.toml file and entirely moved the configuration
    to CLI flags. Removing this "moving part" that had to be edited and
    could be commited by accident (with our credentials in it...) will
    make "git pulls" much much easier... and therefore encourage
    contributions I hope :)
  • The configuration just boils down to env. variables, which the README
    suggests should be put in the user's .bashrc/.zshrc (using
    docker-compose commands is therefore way simpler, no need to
    constantly use Ctrl-R any more).
  • The plex token is no more passed as an env. var. It has to be entered
    on the UI on first setup.
  • Only the HTTPs port is exposed, most browsers use https by default when
    typing URLs in the navigation bar. As a result, we now use the
    tlsChallenge (instead of http challenge): it doesn't require the
    server to listen on port 80. Only 443 is used during the ACME
    challenge.
  • Some additional folders are mounted onto plex, they are targeted at
    manual uploads from other machines (I used that to RSync music from my
    multiple computers, as well as my Pictures, which I think is a rather
    valuable feature).

@elafarge elafarge requested a review from hkaj October 14, 2019 00:02
@elafarge elafarge force-pushed the feat-integrated-traefik-2-0 branch from 7ec92ad to 1d0842e Compare October 14, 2019 01:16
@aouaki
Copy link

aouaki commented Oct 14, 2019

Hey, thanks for your PR, the rework on the README was really needed.

I think you can add a small section in the troubleshooting part explaining how to update the images (to keep Plex & co. up-to-date)

I'm sorry, this commit contains a compilation of what I've added to
our Plex & co setup over the last two years, without commiting
anything. So... it actually contains multiple changes :/

I thought these changes would be beneficial to our pet project
Essentially, they are meant to make setup and maintainance easier than
ever before, which I think is essential if we want more people to enjoy
this stuff :D

Here's the list:

- Traefik has been integrated to our stack. It makes the setup easier
  for everyone who just wants a working setup on a fresh new server.
  Using this integrated traefik to route traffic to containers that
  aren't part of this stack is still possible of course.
  As a result, using custom networks is not necessary any more, it
  simplifies our `docker-compose.yaml` file a bit.

- I've updated to Traefik 2, which completely breaks the vast majority
  of its APIs. Docker annotations had to be rewritten.

- I removed the traefik.toml file and entirely moved the configuration
  to CLI flags. Removing this "moving part" that had to be edited and
  could be commited by accident (with our credentials in it...) will
  make "git pulls" much much easier... and therefore encourage
  contributions I hope :)

- Basic auth is handled using Traefik's middleware feature (new in 2.0).
  It's not necessary to setup auth on radarr, sonarr, etc. individually
  Also, it's now possible to have multiple users instead of sharing the
  same credentials with your family and friends.

- The configuration just boils down to env. variables, which the README
  suggests should be put in the user's `.bashrc/.zshrc` (using
  `docker-compose` commands is therefore way simpler, no need to
  constantly use Ctrl-R any more).

- The plex token is no more passed as an env. var. It has to be entered
  on the UI on first setup.

- Only the HTTPs port is exposed, most browsers use https by default when
  typing URLs in the navigation bar. As a result, we now use the
  tlsChallenge (instead of http challenge): it doesn't require the
  server to listen on port 80. Only 443 is used during the ACME
  challenge.

- Some additional folders are mounted onto plex, they are targeted at
  manual uploads from other machines (I used that to RSync music from my
  multiple computers, as well as my Pictures, which I think is a rather
  valuable feature).
@elafarge elafarge force-pushed the feat-integrated-traefik-2-0 branch from 1d0842e to 1f43072 Compare October 14, 2019 23:21
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