Access
- Open URL:
https://<SERVER_IP> - A browser SSL warning is expected because a self-signed certificate is used.
- Accept the browser certificate warning.
- Authentication is required via HTTP Basic Auth.
- Retrieve credentials:
cat /root/.cloudzy-creds - Configure LLM provider API keys from the web interface or via the environment file.
Important Files and Directories
- Install Path:
/root/bolt-diy - Compose File:
/root/bolt-diy/docker-compose.yml - Environment File:
/root/bolt-diy/.env - Credentials File:
/root/.cloudzy-creds - Nginx Config:
/etc/nginx/sites-available/bolt-diy - Basic Auth File:
/etc/nginx/.bolt-diy.htpasswd - SSL Certificate:
/etc/nginx/ssl/bolt-diy.crt - SSL Key:
/etc/nginx/ssl/bolt-diy.key
Docker Management
Check status:
docker compose -f /root/bolt-diy/docker-compose.yml ps
View logs:
docker compose -f /root/bolt-diy/docker-compose.yml logs -f
Restart service:
docker compose -f /root/bolt-diy/docker-compose.yml restart
Stop service:
docker compose -f /root/bolt-diy/docker-compose.yml down
Start service:
docker compose -f /root/bolt-diy/docker-compose.yml up -d
NGINX Management
Test configuration:
nginx -t
Restart NGINX:
systemctl restart nginx
Reload NGINX:
systemctl reload nginx
Check status:
systemctl status nginx
Enabling SSL with a Domain
1. Point your domain to the server IP.
2. Edit Nginx config and replace both server_name _; with your domain (server_name <yourdomain.com>) for both HTTP (port 80) and HTTPS (port 443) blocks:
vim /etc/nginx/sites-available/bolt-diy
3. Install Certbot:
apt install -y certbot python3-certbot-nginx
4. Run the following command to generate a valid Let's Encrypt certificate:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Replace SSL paths in Nginx config:
vim /etc/nginx/sites-available/bolt-diy
# Before:
# ssl_certificate /etc/nginx/ssl/bolt-diy.crt;
# ssl_certificate_key /etc/nginx/ssl/bolt-diy.key;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
6. Reload Nginx to apply the changes:
systemctl reload nginx
7. Open your browser and visit: https://yourdomain.com
Notes
- Access is protected using HTTP Basic Authentication.
- TLS uses a self-signed certificate by default.
- Bolt.diy does not automatically persist all workspace and chat data.
- Opening Bolt.diy in a different browser, private/incognito window, or on another device will not show existing chats or workspaces.
- Before restarting or recreating the container, export any important chats, prompts, projects, or other data you wish to keep.
- After updating
.env, rundocker compose -f /root/bolt-diy/docker-compose.yml up -dto apply the changes. This recreates the container. - Recreating the container can result in loss of data that has not been exported or otherwise backed up.