Access
- Open the PdfDing URL:
https://<SERVER-IP> - Self-signed SSL certificate is used, so a browser warning is expected on first visit.
- Sign up to create your first account.
Control Registration
User registration is enabled by default.
To disable new user registrations, edit:
nano /root/pdfding/.env
Set:
DISABLE_USER_SIGNUP=TRUE
Apply the changes:
cd /root/pdfding
docker compose up -d
Admin Account
Admin users can view and delete users.
Creating an admin user is optional. To grant administrator privileges to an existing user, run the following command on the server:
docker exec -it pdfding python pdfding/manage.py make_admin -e YOUR_EMAIL
Admin users can also grant administrator privileges to other users through the UI.
Alternatively, create a new admin account directly:
docker exec -it pdfding python pdfding/manage.py createsuperuser
Important Files and Directories
- Install path:
/root/pdfding - Compose file:
/root/pdfding/docker-compose.yml - Environment file:
/root/pdfding/.env - Database volume:
/var/lib/docker/volumes/pdfding_sqlite_data - Media volume:
/var/lib/docker/volumes/pdfding_media - Nginx config:
/etc/nginx/sites-available/pdfding - SSL certificate:
/etc/nginx/ssl/pdfding.crt - SSL private key:
/etc/nginx/ssl/pdfding.key
Service Management
View running containers:
docker compose -f /root/pdfding/docker-compose.yml ps
Restart PdfDing:
docker compose -f /root/pdfding/docker-compose.yml restart
View PdfDing logs:
cd /root/pdfding && docker compose logs -f
Stop PdfDing:
docker compose -f /root/pdfding/docker-compose.yml stop
Start PdfDing:
docker compose -f /root/pdfding/docker-compose.yml start
Recreate PdfDing:
docker compose -f /root/pdfding/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/pdfding 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 youremail@example.com -d yourdomain.com
5. Edit /etc/nginx/sites-available/pdfding and update the ssl_certificate and ssl_certificate_key directives to use your Let's Encrypt certificate.
Before:
ssl_certificate /etc/nginx/ssl/pdfding.crt;
ssl_certificate_key /etc/nginx/ssl/pdfding.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. Edit /root/pdfding/.env and update HOST_NAME from <SERVER_IP> to your domain (e.g. HOST_NAME=yourdomain.com).
8. Recreate the services:
cd /root/pdfding && docker compose up -d
9. Access PdfDing at https://yourdomain.com.