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

Implements custom ACME servers #371

Closed

Conversation

andrewmzhang
Copy link

Code mostly taken from: tashian@564e0d8

linuxserver.io


  • I have read the contributing guideline and understand that I have made the correct modifications

Description:

Implements custom ACME server. This PR introduces 2 environment variables that will allow you to point swag towards a custom ACME server (as opposed to Let's Encrypt or ZeroSSL) and to trust the custom ACME's root certificate.

Benefits of this PR and context:

Swag's ACME process is designed for issuing SSL certs to publicly available domains. With this PR, users with internal/private domains can issue SSL certs by pointing swag towards their own ACME servers. This functionality is impossible with Lets Encrypt or ZeroSSL since internal domains cannot be resolved or reached outside of their private networks.

How Has This Been Tested?

I setup a Step ACME server following the guide here[1]. Then I setup a swag docker instance on a separate device with my changes to the code. I also tested running a portainer docker instance via an nginx subdomain proxy to make sure SSL worked for both the my internal domain and internal subdomain.

Source / References:

  1. https://smallstep.com/blog/build-a-tiny-ca-with-raspberry-pi-yubikey/
  2. Closes Support custom ACME servers #186

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Thanks for opening this pull request! Be sure to follow the pull request template!

Code mostly taken from: tashian@564e0d8

Co-authored-by: Carl Tashian <[email protected]>
@LinuxServer-CI
Copy link
Contributor

I am a bot, here are the test results for this PR:
https://ci-tests.linuxserver.io/lspipepr/swag/2.6.0-pkg-2ef583d6-pr-371/index.html
https://ci-tests.linuxserver.io/lspipepr/swag/2.6.0-pkg-2ef583d6-pr-371/shellcheck-result.xml

Tag Passed
amd64-2.6.0-pkg-2ef583d6-pr-371
arm32v7-2.6.0-pkg-2ef583d6-pr-371
arm64v8-2.6.0-pkg-2ef583d6-pr-371

1 similar comment
@LinuxServer-CI
Copy link
Contributor

I am a bot, here are the test results for this PR:
https://ci-tests.linuxserver.io/lspipepr/swag/2.6.0-pkg-2ef583d6-pr-371/index.html
https://ci-tests.linuxserver.io/lspipepr/swag/2.6.0-pkg-2ef583d6-pr-371/shellcheck-result.xml

Tag Passed
amd64-2.6.0-pkg-2ef583d6-pr-371
arm32v7-2.6.0-pkg-2ef583d6-pr-371
arm64v8-2.6.0-pkg-2ef583d6-pr-371

@nemchik
Copy link
Member

nemchik commented May 22, 2023

I'm not opposed to the intention to allow custom acme servers, but I'd like to get #339 merged first.

@nemchik nemchik added the awaiting-approval Stale exempt label May 22, 2023
@andrewmzhang
Copy link
Author

Apologies, I didn't see that there was already a PR (#204) that was closed for inactivity. I mistakenly thought that tashian just never made a PR.

@nemchik
Copy link
Member

nemchik commented Jul 27, 2023

#339 has been merged, so this will need to be rebased.

@nemchik nemchik removed the awaiting-approval Stale exempt label Jul 27, 2023
@LinuxServer-CI
Copy link
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.

Copy link

This pull request is locked due to inactivity

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Support custom ACME servers
3 participants