lk/data/soft_https.md

1.9 KiB

title tags
Soft Serve through https
data
git

http Setup

In this example, the port used is 23231, but it can be anything. Open /var/lib/soft-serve/data/config.yaml and make sure the http section looks like this:

# The HTTP server configuration.
http:
  # The address on which the HTTP server will listen.
  listen_addr: ":23232"

  # The path to the TLS private key.
  tls_key_path: ""

  # The path to the TLS certificate.
  tls_cert_path: ""

  # The public URL of the HTTP server.
  # This is the address that will be used to clone repositories.
  # Make sure to use https:// if you are using TLS.
  public_url: "http://localhost:23232"

Restart the soft-serve service, then check it's working by cloning from localhost:

git clone http://localhost:23232/${some_repo}.git

https Setup

Put this file at /etc/nginx/sites-enabled/$DOMAIN.tld, then set up standard certificates with nginx.

(replace ${DOMAIN_NAME} with your domain's name).

 server {
     listen 80;
     server_name ${DOMAIN_NAME};
                                                                                        
     location / {
         proxy_pass http://localhost:23232;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     }
                                                                                        
     return 301 https://$server_name$request_uri;
}
                                                                                        
 server {
     listen 443 ssl;
     server_name ${DOMAIN_NAME};

     location / {
         proxy_pass http://localhost:23232;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     }
}