The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →The shortest supported way to run Pingvin Share on a VPS is Docker Compose. Point a domain at the server, place an HTTPS reverse proxy in front of the container, set TRUST_PROXY=true, and persist both ./data and ./data/images. Those two mounts contain the application data and uploaded image assets; omitting either can make a container recreation destructive. For large files, avoid relying on Pingvin Share’s built-in reverse proxy and use Docker with an external proxy such as Caddy or Nginx.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
One important status caveat comes first: the original Pingvin Share repository says it has been archived since June 29, 2025. Check the maintained Pingvin Share X fork, its release tags, image owner, security notices, and migration notes before pinning an image for production.
As an Amazon Associate I earn from qualifying purchases.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsWhat you need before installing
A VPS does not need a published minimum CPU, memory, disk, or bandwidth specification for Pingvin Share. Size it from the files you expect to store, retention periods, and the number of simultaneous uploads and downloads. Storage and outbound bandwidth usually become the practical constraints before the application itself.
- A supported Linux VPS with Docker Engine and the Docker Compose plugin.
- A DNS A or AAAA record for the hostname you will use, pointing to the VPS address.
- Firewall access for SSH and for the HTTP and HTTPS ports used by your reverse proxy.
- A way to make regular backups of the VPS storage, especially the Pingvin Share data directories.
- A strong administrator password and a plan to keep the host and container images updated.
Do not publish the container’s administrative interface directly to the internet without a deliberate access-control plan. Restrict SSH to the addresses or network you need, and expose only the reverse proxy’s public ports.
#1 Best Overall
- Entry-level NAS Personal Storage:UGREEN NAS DH2300 is your first and best NAS made easy. It is designed for beginners who want a simple, private way to store videos, photos and personal files, which is intuitive for users moving from cloud storage or external drives and move away from scattered date across devices. This entry-level NAS 2-bay perfect for personal entertainment, photo storage, and easy data backup (doesn't support Docker or virtual machines).
- Set Your Devices Free, Expand Your Digital World: This unified storage hub supports massive capacity up to 64TB.*Storage drives not included. Stop Deleting, Start Storing. You can store 22 million 3MB images, or 2 million 30MB songs, or 43K 1.5GB movies or 67 million 1MB documents! UGREEN NAS is a better way to free up storage across all your devices such as phones, computers, tablets and also does automatic backups across devices regardless of the operating system—Window, iOS, Android or macOS.
- The Smarter Long-term Way to Store: Unlike cloud storage with recurring monthly fees, a UGREEN NAS enclosure requires only a one-time purchase for long-term use. For example, you only need to pay $459.98 for a NAS, while for cloud storage, you need to pay $719.88 per year, $2,159.64 for 3 years, $3,599.40 for 5 years. You will save $6,738.82 over 10 years with UGREEN NAS! *NAS cost based on DH2300 + 12TB HDD; cloud cost based on 12TB plan (e.g. $59.99/month).
- Blazing Speed, Minimal Power: Equipped with a high-performance processor, 1GbE port, and 4GB RAM on Board, this NAS handles multiple tasks with ease. File transfers reach up to 125MB/s—a 1GB file takes only 8 seconds. Don't let slow clouds hold you back; they often need over 100 seconds for the same task. The difference is clear.
- Let AI Better Organize Your Memories: UGREEN NAS uses AI to tag faces, locations, texts, and objects—so you can effortlessly find any photo by searching for who or what's in it in seconds. It also automatically finds and deletes similar or duplicate photo, backs up live photos and allows you to share them with your friends or family with just one tap. Everything stays effortlessly organized, powered by intelligent tagging and recognition.
Understand the deployment layout
Pingvin Share’s documented container listens on port 3000. The Compose example maps that port to the host and stores persistent content in two bind mounts:
./datamaps to/opt/app/backend/data. This is where the application database and other backend state live../data/imagesmaps to/opt/app/frontend/public/img. This preserves uploaded image assets that are served by the web interface.
The configuration reference uses a SQLite URL of file:../data/pingvin-share.db?connection_limit=1 and sets DATA_DIRECTORY=./data. In other words, the local directory next to your Compose file is the persistence boundary. A new container with the same image but without those mounts is not a recovery strategy.
The documentation also identifies backend port 8080. Treat it as an application-internal port unless the version you deploy explicitly requires another arrangement; route public traffic through the supported web entry point rather than opening internal services in the firewall.
Install Docker and prepare the VPS
Install Docker Engine and the Docker Compose plugin using the package instructions for your Linux distribution. Confirm that both commands work before downloading the application:
docker --version
docker compose version
Create a dedicated directory for the service. Keeping the Compose file, data, and image assets together makes backup and inspection straightforward:
mkdir -p ~/pingvin-share
cd ~/pingvin-share
Use a separate filesystem or volume when the expected share size is substantial. Monitor free space and inode usage; a full volume can stop new uploads even while the container itself appears healthy.
Rank #2
- 【Advanced Home Data & Media Hub】For advanced home users who need phone backup, file storage, and centralized data management. Centralize family photos, 4K videos, movies, computer backups, and personal files in one place while running multiple apps for home entertainment and everyday data management. Suitable for households with growing digital libraries and multiple NAS use cases.
- 【Built for Creators, Media Servers & Advanced Apps】Powered by the Intel N100 Quad-Core CPU, 8GB DDR5 RAM, 2.5GbE networking, and dual M.2 NVMe slots, DXP2800 handles large files and heavier workloads with ease. Run Docker, virtual machines, and media server applications compatible with Plex—ideal for content creators, tech enthusiasts, and advanced home users managing 4K videos, RAW photos, personal media libraries, and multiple NAS apps.
- 【Up to 80TB for Growing Digital Libraries】 Supports up to 80TB of storage using two HDD bays and two M.2 NVMe SSD slots for family photos, movies, RAW photos, 4K videos, work files, and device backups. AI photo management supports recognition of people, objects, scenes, and locations, album organization, and duplicate photo detection. HDDs and SSDs are not included.
- 【AI-powered Home Surveillance】Turn DXP2800 into a centralized home surveillance hub by connecting compatible network cameras and storing recordings locally on your NAS. AI-powered features include Face Recognition, People Detection, and Pet Detection, helping advanced home users review important events more efficiently while managing home surveillance and personal data in one place.
- 【One data Center Across Your Devices】Keep files from desktops, laptops, phones, tablets, and other devices together instead of scattered across cloud accounts and external drives. Access, back up, organize, and share data across Windows, macOS, Android, iOS, web browsers, and compatible smart TVs—ideal for creators and advanced home users working across multiple devices.
Deploy with Docker Compose
The official installation path is to download a Compose file and run docker compose up -d. The following sequence is an operational example:
-
Download the Compose definition:
curl -O https://raw.githubusercontent.com/stonith404/pingvin-share/main/docker-compose.ymlThe original repository is archived, so review the file, image owner, and release status before using it unchanged. For a production deployment, pin a reviewed release or a maintained fork rather than silently following an unreviewed moving tag.
-
Start the service in the background:
docker compose up -d -
Check that the container is running:
docker compose ps -
Inspect startup output if the state is not
running:docker compose logs --tail=200
A minimal Compose definition based on the documented example looks like this:
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchservices:
pingvin-share:
image: stonith404/pingvin-share
ports:
- "3000:3000"
environment:
TRUST_PROXY: "false"
volumes:
- "./data:/opt/app/backend/data"
- "./data/images:/opt/app/frontend/public/img"
The example’s default TRUST_PROXY=false is appropriate only when clients connect directly to the application. You will change it when a reverse proxy terminates TLS in front of Pingvin Share. Keep the two volume mappings even if you later change the image tag.
Verify the local service
From the VPS, the installation documentation describes the site as listening at http://localhost:3000. Use a local request or an SSH tunnel to verify the application before adding DNS and TLS. If the page does not load, check container logs, port conflicts, and ownership or write permissions on ~/pingvin-share/data and ~/pingvin-share/data/images.
Rank #3
- Your Personal Streaming Server - Build your own Netflix-style media library and stream 4K movies, shows and photos to any device without monthly fees
- Create Your Own Cloud - Store your entire photo, video and music collection; access from anywhere with fast 282 MB/s transfer speeds
- Creator-Grade Backup Solution - Protect your irreplaceable content with automated backups to cloud services, external drives and remote NAS
- Multi-Layered Data Protection - Combine RAID redundancy, automated backups and snapshot technology to prevent data loss from any cause
- Smart Home Surveillance - Support up to 30 IP cameras with AI detection, instant alerts and secure remote monitoring
Connect a domain and add HTTPS
For a public service, terminate TLS at Caddy, Nginx, Traefik, or another reverse proxy. Create the DNS record first, then configure the proxy to forward the complete Pingvin Share application path to the container on port 3000. “Complete path” matters: forwarding only the landing page while omitting API, authentication, upload, or static-asset routes produces a site that appears partially functional but fails during sign-in or transfer.
When a proxy is in front, set:
TRUST_PROXY=true
This tells Pingvin Share to trust the proxy’s forwarded connection information so HTTPS requests and client addresses are interpreted correctly. Set it only when the service is actually behind a proxy you control; do not enable it on a directly exposed container without understanding the trust boundary.
Recommended Free Tools
External Caddy or Nginx proxy
Configure a virtual host for your chosen hostname, obtain a certificate through the proxy, and proxy requests to the Docker service. Set the proxy’s request-body limit, buffering behavior, and read and write timeouts for the largest files you intend to accept. These settings are proxy-specific, so there is no universal safe number: a limit smaller than your share size will reject uploads before Pingvin Share sees them.
If you disable Pingvin Share’s bundled Caddy layer with CADDY_DISABLED=true, the configuration reference requires the external proxy to map all application paths correctly. Test the home page, account login, share creation, downloading, image loading, and an upload after every proxy change.
Do not expose two competing public entry points
Once the external proxy is working, restrict direct access to port 3000 with the VPS firewall or bind it only to a private interface where practical. Leaving both the proxy and an unprotected public port available creates a second route that may bypass TLS policy, logging, or access controls.
Persist data and build a backup plan
Back up both directories, not just the database file:
Rank #4
- Entry-level NAS Home Storage: The UGREEN NAS DH4300 Plus is an entry-level 4-bay NAS that's ideal for home media and vast private storage you can access from anywhere and also supports Docker but not virtual machines. You can record, store, share happy moment with your families and friends, which is intuitive for users moving from cloud storage, or external drives to create your own private cloud, access files from any device.
- Smart Photo Backup & AI Album: Automatically back up photos and videos from your phone in real time and keep growing family memories organized with AI-powered photo albums. Semantic search, custom learning, and recognition of people, objects, pets, and similar photos help you quickly find the moments you want. Duplicate photo removal also helps keep your library organized—ideal for families and users with large photo collections.
- User-Friendly App & Easy Setup: Connect quickly via NFC, set up simply and share files fast on Windows, macOS, Android, iOS, web browsers, and smart TVs. You can access data remotely from any of your mixed devices. What's more, UGREEN NAS enclosure comes with beginner-friendly user manual and video instructions to ensure you can easily take full advantage of its features.
- More Cost-effective Storage Solution: Unlike cloud storage with recurring monthly fees, A UGREEN NAS enclosure requires only a one-time purchase for long-term use. For example, you only need to pay $629.99 for a NAS, while for cloud storage, you need to pay $719.88 per year, $1,439.76 for 2 years, $2,159.64 for 3 years, $7,198.80 for 10 years. You will save $6,568.81 over 10 years with UGREEN NAS! *NAS cost based on DH4300 Plus + 12TB HDD; cloud cost based on 12TB plan (e.g. $59.99/month).
- Your Data, You Control:No third-party clouds, no hidden access, UGREEN NAS provides a more secure and private data storage solution. It stores data locally on your private hard drives and does automatic backups. Thus, you can keep full control over it. The advanced encryption is TRUSTe certified in the United States and is awarded the first (and only) ETSI EN 303 645 certification mark for NAS products by TÜV SÜD Group.
~/pingvin-share/data
~/pingvin-share/data/images
The first contains the SQLite database and backend state; the second contains frontend image assets. A backup that omits image assets can restore accounts and share metadata while leaving broken or missing visual content.
Stop or quiesce before a consistent copy
For a small installation, stop the Compose project briefly before copying the directories, then start it again:
docker compose down
# copy or snapshot ./data and ./data/images to backup storage
docker compose up -d
If downtime is unacceptable, use a backup method that can produce a consistent SQLite copy and capture both directories in the same backup window. Keep more than one backup generation and store at least one copy outside the VPS.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Test restoration before an incident
- Provision a temporary host or isolated directory.
- Use the same Compose definition and image version used by the backup.
- Restore
dataanddata/imageswith their directory structure intact. - Start the stack and verify login, existing shares, downloads, and images.
- Record the image tag, environment variables, and restore commands for the next operator.
Do not assume that a newer image can always read an older database. Upgrade one reviewed version at a time and retain a rollback copy.
Handle large uploads correctly
Pingvin Share’s installation guide warns that its built-in reverse proxy is “not optimized for uploading large files.” The documented remedy is the Docker installation or an external reverse proxy, with a Caddy example in the project. A VPS deployment should therefore place a deliberately configured external proxy in front of the container when large transfers are central to your use case.
Proxy settings that affect upload success
- Request-body limit: set it above the largest permitted share, with room for multipart overhead.
- Timeouts: slow connections need longer read and write timeouts than small-file sites.
- Buffering: decide whether the proxy should buffer uploads or stream them, based on available disk and memory.
- Temporary space: confirm that both the proxy and Docker host have enough room for their handling of an in-progress transfer.
- Connection limits: concurrent uploads consume bandwidth, file descriptors, and storage I/O; size them for your real transfer pattern.
Test with a file near your intended maximum over a connection representative of your users. Check the proxy log, container log, resulting share, and downloaded checksum. Do not advertise a maximum file size until the complete path—from browser to proxy to container to persistent storage—has accepted it successfully.
Best Value
- Value NAS with RAID for centralized storage and backup for all your devices. Check out the LS 700 for enhanced features, cloud capabilities, macOS 26, and up to 7x faster performance than the LS 200.
- Connect the LinkStation to your router and enjoy shared network storage for your devices. The NAS is compatible with Windows and macOS*, and Buffalo's US-based support is on-hand 24/7 for installation walkthroughs. *Only for macOS 15 (Sequoia) and earlier. For macOS 26, check out our LS 700 series.
- Subscription-Free Personal Cloud – Store, back up, and manage all your videos, music, and photos and access them anytime without paying any monthly fees.
- Storage Purpose-Built for Data Security – A NAS designed to keep your data safe, the LS200 features a closed system to reduce vulnerabilities from 3rd party apps and SSL encryption for secure file transfers.
- Back Up Multiple Computers & Devices – NAS Navigator management utility and PC backup software included. NAS Navigator 2 for macOS 15 and earlier. You can set up automated backups of data on your computers.
Optional scanning and storage integrations
ClamAV
ClamAV is optional. When enabled, Pingvin Share can be pointed at a ClamAV service with CLAMAV_HOST and CLAMAV_PORT. The documented defaults are host 127.0.0.1 for a local service, or clamav in a Docker network, and port 3310. Ensure the container can resolve and reach that host; a wrong hostname causes scanning failures or blocked uploads, depending on the application behavior.
Identity and object storage
The project lists OIDC, LDAP, local storage, S3, expiration dates, visitor limits, and password-protected shares as capabilities. They are optional features, not prerequisites for a basic VPS deployment. Introduce one integration at a time, document its credentials and callback or endpoint settings, and test a complete share lifecycle after changing storage or authentication.
Choose an image with the project’s current status in mind
The original README labels the project “Project Archived” and dates the archive to June 29, 2025. That does not make an existing deployment disappear, but it changes how you should handle updates, security fixes, and image provenance.
Pingvin Share X presents itself as a fork, documents Docker Compose installation, and publishes a beta image channel. Its standalone installation documentation requires Node.js 22 or newer, while the original standalone documentation required Node.js 16 or newer. Those Node requirements apply to standalone mode, not to the Docker path described above.
| Decision point | Original Pingvin Share | Pingvin Share X |
|---|---|---|
| Maintenance status | Archived; README states the archive date is June 29, 2025. | Fork presenting current installation material; verify its present maintenance activity. |
| Container image | stonith404/pingvin-share in the documented Compose example. |
Current image namespace and tags should be verified in the fork’s own release documentation. |
| Standalone Node.js requirement | Node.js 16 or newer. | Node.js 22 or newer. |
| Release channel | Original repository is archived. | Beta image channel is published. |
| Existing data and configuration | Existing files belong to the original deployment. | Drop-in compatibility and migration steps are not established by the material cited here; require a project-specific migration document before switching. |
Before changing images, check the owner, immutable release tags, security advisories, database migration notes, and rollback procedure. Keep a tested backup of both persistence directories and do not treat a fork as automatically compatible merely because it uses a similar name.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Operate and update the service safely
Routine checks
- Run
docker compose psafter reboots and updates. - Review
docker compose logsfor repeated upload, database, proxy, or scanning errors. - Watch disk usage in the data and image directories.
- Confirm that HTTPS certificates renew and that DNS still points to the intended VPS.
- Perform a small upload and download test after proxy, image, or firewall changes.
Updating an image
Read the release notes and migration guidance first, make a fresh backup, then pull and recreate deliberately:
docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail=200
If the new container fails, stop before repeatedly recreating it. Compare the image tag, environment variables, mount paths, and database error in the logs; restore the prior image and data backup if the release requires an unsupported migration.
Troubleshooting by symptom
The browser cannot connect
- Confirm the container is running with
docker compose ps. - Check that port 3000 is not already occupied.
- Test locally on the VPS before testing through DNS.
- Verify firewall rules and that the proxy points to the correct upstream port.
Login works but uploads fail
- Check the proxy request-body limit and timeout.
- Inspect available disk space in the VPS and any proxy temporary directory.
- Confirm
TRUST_PROXY=truewhen TLS terminates at the proxy. - Review both proxy and Pingvin Share logs for a rejected request or upstream timeout.
Shares load but images are missing
Verify that ./data/images is mounted to /opt/app/frontend/public/img, is writable by the container, and was included in the backup or restore. A database-only restore cannot recreate omitted image files.
The service loses data after recreation
Inspect the running container’s mounts and the host directory. If either bind mount was removed or pointed at a new empty path, the replacement container is using non-persistent storage. Stop the service, correct the paths, and restore the last known-good backup before accepting new uploads.
Quick Recap
Production checklist
- Docker Engine and Compose plugin installed and tested.
- Dedicated service directory with both persistent mounts.
- DNS record resolves to the VPS.
- HTTPS reverse proxy forwards every application path.
TRUST_PROXY=trueis set only behind that proxy.- Direct public access to port 3000 is restricted.
- Proxy upload limits and timeouts match your intended file sizes.
- Backups include
dataanddata/imagesand have been restored in a test. - Image owner, tag, fork status, and migration notes have been reviewed.
- ClamAV, OIDC, LDAP, or S3 are enabled only when configured and tested.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

