🌐 WIS2BOX with SSL on ADL Server¶
This guide explains how to configure wis2box on the same server as ADL, enabling SSL via Nginx Proxy Manager and internal communication between the two systems.
By placing wis2box and ADL on the same Docker network, you enable:
Direct internal communication between wis2box and ADL services
Centralized SSL management through Nginx Proxy Manager
Simplified configuration without exposing unnecessary ports
Prerequisites¶
wis2box installed on the same server as ADL
A domain name pointing to your server’s IP address
Step 1: Set Up Nginx Proxy Manager¶
If you have not already set up Nginx Proxy Manager, you need to do this first.
Stop wis2box before proceeding:
cd /path/to/wis2box
python3 wis2box-ctl.py stop
Now follow the SSL Setup with Nginx Proxy Manager guide to install and configure NPM.
Once NPM is running, return here to continue with the wis2box configuration.
Step 2: Update wis2box Docker Configuration¶
Open the docker-compose.override.yml file in your wis2box directory:
cd /path/to/wis2box
nano docker-compose.override.yml
Update the file with the following changes:
services:
web-proxy:
ports:
- 80
wis2box-ui:
ports:
- 9999:80
minio:
ports:
- "9000:9000"
- "9001:9001"
- "8022:8022"
deploy:
replicas: 1
mosquitto:
ports:
- 1883:1883
- 8884:8884
networks:
default:
external: true
name: adl
Key changes:
web-proxy ports: Changed from
80:80to just80. This exposes port 80 only within the Docker network, not on the host. NPM will handle external traffic and SSL termination.networks: Added the external network configuration to connect wis2box to the same Docker network as ADL and NPM.
Replace adl with your network name if you used a different name in your ADL .env file.
Step 3: Start wis2box¶
Start wis2box with the updated configuration:
python3 wis2box-ctl.py start
Verify that wis2box containers are running and connected to the correct network:
docker network inspect adl
You should see both wis2box and ADL containers listed in the network’s “Containers” section.
Step 4: Add Proxy Host in Nginx Proxy Manager¶
Open NPM in your browser at http://<your-server-ip>:81 and log in.
Navigate to “Proxy Hosts” and click “Add Proxy Host”.
Details Tab:
Field |
Value |
|---|---|
Domain Names |
|
Scheme |
|
Forward Hostname / IP |
|
Forward Port |
|
Websockets Support |
On |
SSL Tab:
Check SSL Certificate and select “Request a new SSL Certificate”
Check Force SSL
Check HTTP/2 Support
Agree to the Let’s Encrypt Terms of Service
Click “Save” to create the proxy host.
Step 5: Update wis2box URL Configuration¶
Ensure that WIS2BOX_URL and WIS2BOX_API_URL as defined in your wis2box.env points to the new HTTPS URL.
nano wis2box.env
Update the URLs:
WIS2BOX_URL=https://wis2box.yourdomain.
WIS2BOX_API_URL=https://wis2box.yourdomain.com/oapi
After updating WIS2BOX_URL and WIS2BOX_API_URL, please stop and start wis2box using wis2box-ctl.py and republish
your
data using the command wis2box metadata discovery republish:
python3 wis2box-ctl.py start
python3 wis2box-ctl.py login
wis2box metadata discovery republish
Verifying the Setup¶
Open
https://wis2box.yourdomain.comin your browserVerify that the connection is secure (padlock icon in the address bar)
Check that all wis2box functionality works correctly
Troubleshooting¶
502 Bad Gateway¶
Verify that wis2box services are running:
python3 wis2box-ctl.py statusCheck that containers are on the same network:
docker network inspect adlEnsure the Forward Hostname matches the service name in docker-compose (
web-proxy)
SSL Certificate Request Fails¶
Confirm DNS is properly configured for your domain
Check that ports 80 and 443 are accessible on your server
Review NPM logs:
docker logs nginx_proxy_manager
wis2box Features Not Working After SSL¶
Ensure
WIS2BOX_URLandWIS2BOX_API_URLare updated to usehttps://Check browser console for mixed content warnings
ADL Cannot Communicate with wis2box¶
Verify both stacks are on the same network:
docker network inspect adlUse the service name (e.g.,
web-proxy,minio) when referencing wis2box services from ADL, notlocalhost