This project provides a streamlined local development environment using Docker Compose with automatic SSL certificate management. It sets up a secure local environment with Open WebUI and Caddy as a reverse proxy.
- Docker and Docker Compose
- mkcert (for SSL certificate generation)
- make (usually pre-installed on Unix-based systems)
mkcert is required for generating trusted SSL certificates for local development.
macOS:
brew install mkcert
Linux:
sudo apt install mkcert # Ubuntu/Debian
sudo dnf install mkcert # Fedora
Windows:
choco install mkcert
- Clone this repository
- Generate SSL certificates:
make certs
- Start the services:
make start
The environment will be available at https://localhost (or https://$WEBUI_DOMAIN, if configured).
make certs
- Generate SSL certificates for local developmentmake clean
- Remove generated certificates
make start
- Start all services (alias:make up
)make stop
- Stop all services (alias:make down
)make rm
- Remove services and volumesmake logs
- View service logs in follow modemake restart
- Restart all servicesmake update
- Pull latest images and restart servicesmake status
- Show current service status
make watchtower
- Update containers using Watchtower (one-time check)
The project uses a .env
file for configuration. If it doesn't exist, it will be automatically created when running make start
.
The SSL certificates are configured for:
- Your domain (set the WEBUI_DOMAIN environment variable)
- localhost
- 127.0.0.1
- ::1 (IPv6 localhost)
The environment consists of two main services:
- Open WebUI - Main application interface
- Caddy - Reverse proxy handling SSL termination
-
Certificate Issues
- Run
make clean
followed bymake certs
to regenerate certificates - Ensure mkcert is properly installed
- Run
-
Service Won't Start
- Check if ports are available using
make status
- Review logs with
make logs
- Check if ports are available using
-
Container Updates
- Use
make update
to pull latest images - For automatic updates, consider running Watchtower as a service
- Use
-
Start the services:
make start
-
View logs while services are running:
make logs
-
When finished, stop the environment:
make stop
-
Ensure you have the latest certificates and images:
make clean certs make update
-
Test your changes thoroughly
-
Submit a pull request with a clear description of your changes
See LICENSE for details.