6464
6565 # Configure environment variables
6666 echo "Creating .env file..."
67- echo "PORT=80 " > .env
67+ echo "PORT=443 " > .env
6868 echo "HOST=0.0.0.0" >> .env
6969 echo "MONGO_URI=mongodb://mongodb:27017/LibreChat" >> .env
7070 echo "DOMAIN=libre.vbrl.ai" >> .env
@@ -90,10 +90,32 @@ jobs:
9090 echo "ALLOW_UNVERIFIED_EMAIL_LOGIN=true" >> .env
9191 echo "UID=0" >> .env
9292 echo "GID=0" >> .env
93+ echo "HTTPS=true" >> .env
94+ echo "HTTPS_CERT_PATH=/app/certs/cert.pem" >> .env
95+ echo "HTTPS_KEY_PATH=/app/certs/key.pem" >> .env
9396 echo "Environment file created successfully."
9497
98+ # Create SSL certificates directory if it doesn't exist
99+ mkdir -p ~/LibreChat/certs
100+
101+ # Generate self-signed SSL certificate if it doesn't exist
102+ if [ ! -f ~/LibreChat/certs/cert.pem ] || [ ! -f ~/LibreChat/certs/key.pem ]; then
103+ echo "Generating self-signed SSL certificate..."
104+ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
105+ -keyout ~/LibreChat/certs/key.pem \
106+ -out ~/LibreChat/certs/cert.pem \
107+ -subj '/CN=libre.vbrl.ai'
108+ sudo chown -R ubuntu:ubuntu ~/LibreChat/certs
109+ fi
110+
95111 # Cloudflare is already handling SSL and domain routing, no need for Nginx
96112
113+ # Update docker-compose.yml to mount certificates
114+ echo "Updating docker-compose.yml to mount certificates..."
115+ if ! grep -q "./certs:/app/certs" ~/LibreChat/docker-compose.yml; then
116+ sed -i '/- .\/logs:\/app\/api\/logs/a\\ - .\/certs:\/app\/certs' ~/LibreChat/docker-compose.yml
117+ fi
118+
97119 # Deploy with Docker Compose
98120 echo "Deploying with Docker Compose..."
99121 cd ~/LibreChat
0 commit comments