# Feature OP-8362 - Add the Let's Encrypt activation in the installation wizard for SSL

Project: OpenProject
Status: specified
URL: https://community.openproject.org/work_packages/OP-8362

## Planning

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Target versions | Wish List |
| Sprint |  |
| Backlog bucket |  |
| Votes |  |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

_No work packages_

## Bugs and other work packages

_No work packages_

## Technical Details

| Attribute | Value |
| --- | --- |
| Module |  |
| Feature Flag |  |
| Requires doc change | Yes |
| Enterprise plan |  |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups |  |
| Found in mobile app version |  |
| Follow-up feedback e-mail |  |
| Accessibility | No |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager |  |
| Developers |  |
| Designer |  |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| PD (min) |  |
| PD (max) |  |
| Work |  |
| Labor costs |  |

## Description

**As** a system administrator installing OpenProject  
**I want to** be guided through the activation for Let's Encrypt  
**so that** I can easily set up SSL.

**Acceptance criteria**

  - During the wizard where it asks for SSL, add an extra option after SSL if SSL was answered with 'yes':
      - a) I have my own certificate
      - b) I want to use letsencrypt

When choosing option a) the setup should continue as it usual, asking for paths to the certificate and private key.

Chooshing option b) should skip that and instead use letsencrypt to create the certificate and configure that certificate automatically.  
Additionally this option should set up a cron-job to renew the certificate, if necessary. Although certbot-auto should do this already.

**Development notes**

This could be done using apache or alternatively using a temporary web server that's just used for the webroot-based challenge. One could do this, for instance, using `python -m http.server 80`.
