Access
- Open your browser:
https://<SERVER-IP> - Accept the browser certificate warning because the installation uses a self-signed TLS certificate.
- Authentication is required (Basic Auth popup)
- Authentication method: HTTP Basic Auth
- The login credentials are stored securely in:
/root/.cloudzy-creds
Adding Files
- Place files and folders you want to share into:
/root/directory-lister/files - Directory Lister reads this directory directly, so newly added files appear automatically without restarting the application.
Important Files & Directories
- Install Path:
/root/directory-lister - Listed Files:
/root/directory-lister/files - Docker Compose File:
/root/directory-lister/docker-compose.yml - Environment File:
/root/directory-lister/.env - Credentials:
/root/directory-lister/.credentials - Nginx Config:
/etc/nginx/sites-available/directory-lister - Basic Auth File:
/etc/nginx/.htpasswd-directory-lister - TLS Certificate:
/etc/nginx/ssl/directory-lister.crt - TLS Private Key:
/etc/nginx/ssl/directory-lister.key
Service Management
View running containers:
docker compose -f /root/directory-lister/docker-compose.yml ps
Restart Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml restart
View Directory Lister logs:
cd /root/directory-lister && docker compose logs -f
Stop Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml stop
Start Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml start
Recreate Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml up -d
Check Nginx status:
systemctl status nginx
Restart Nginx:
systemctl restart nginx
Reload Nginx:
systemctl reload nginx
Validate the Nginx configuration:
nginx -t
Enabling HTTPS with a Domain
1. Point your domain to the server IP.
2. Edit /etc/nginx/sites-available/directory-lister and replace both server_name _; directives with your domain (e.g. server_name yourdomain.com;).
3. Install Certbot:
apt install -y certbot python3-certbot-nginx
4. Obtain a Let's Encrypt certificate:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Edit /etc/nginx/sites-available/directory-lister and update the ssl_certificate and ssl_certificate_key directives to use your Let's Encrypt certificate.
Before:
ssl_certificate /etc/nginx/ssl/directory-lister.crt;
ssl_certificate_key /etc/nginx/ssl/directory-lister.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. Access Directory Lister at https://yourdomain.com.
Disable HTTP Basic Auth in Nginx (Optional)
To make Directory Lister publicly accessible without authentication, follow the steps below to disable HTTP Basic Auth.
Edit the Nginx site file: /etc/nginx/sites-available/directory-lister
Remove or comment out these lines:
auth_basic "Directory Lister";
auth_basic_user_file /etc/nginx/.htpasswd-directory-lister;
Reload Nginx:
systemctl restart nginx
Notes
- Directory Lister runs in Docker behind NGINX.
- Public access is protected using HTTP Basic Authentication.
- Listed files are stored in
/root/directory-lister/files. - The application container only has read access to the files directory.