Skip to content
This repository was archived by the owner on Sep 9, 2025. It is now read-only.
This repository was archived by the owner on Sep 9, 2025. It is now read-only.

Correct Way to Configure SSL for MedCatTrainer #96

@jamboNum5

Description

@jamboNum5

I'm fairly new to Docker, but I was hoping to ask someone who might know a little more whether this is best way of running MedCATtrainer using SSL.

After making amendments to nginx/site-enabled/medcattrainer, I was expecting the changes to flow through when I started up the container. I logged into the container and checked over the nginx conf for medcat, and my changes hadn't come through. I don't know if there is a docker command to rebuild and get this file situ.

However, I could only get SSL working after I manually mapped the nginx config through to the container using the settings below:

Any advice on the correct/advised way would be great.

  • Is this optimal way of configuring SSL?
  • Should docker actually be updating the nginx.conf file given it is in the medcat file directory?
  • Have I missed a step somewhere?

Amended docker-compose.yml:

  nginx:
    container_name: medcattrainer_nginx
    image: cogstacksystems/medcat-trainer-nginx:v2.3.7
    restart: always
    volumes:
      - api-media:/home/api/media
      - api-static:/home/api/static
      # Mapped SSL certs to location in container
      - /etc/pki/tls/cert.pem:/etc/ssl/private/cert.pem
      - /etc/pki/tls/private.key:/etc/ssl/private/private.key
      # SSL config would only work if I manually mapped the nginx.conf file from medCat to the container
      - /home/locuser/MedCATtrainer/nginx/sites-enabled/medcattrainer:/etc/nginx/sites-enabled/medcattrainer
    expose:
      - 443
      - 8000
    ports:
      - "${MCTRAINER_PORT:-8001}:8000"
      - 443:8000

Amended Nginx medcattrainer conf:

server {
    # added SSL 
    listen 8000 ssl;
    server_name somewhere.com localhost;
    ... # other config inbetween

    # Basic SSL Conf
    ssl_certificate /etc/ssl/private/cert.pem; 
    ssl_certificate_key /etc/ssl/private/private.key;
    ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions