The simplest reliable deployment is a small Ubuntu 24.04 VPS running Paperclip in Docker, with its data directory on a persistent host volume and Caddy or Nginx terminating HTTPS. Keep Paperclip on private port 3100, set authenticated public deployment variables, provide PostgreSQL and agent-provider credentials, then verify /api/health. A bare-metal install is also possible when you prefer Node.js and pnpm over Docker.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
What you need before installing Paperclip
Prepare these items before you start:
- A Linux VPS. The official deployment examples use Ubuntu 24.04. A small instance is suitable for an initial installation, but agent runners can consume additional CPU and memory as workload grows.
- A domain name whose DNS you control. Create an A record (and an AAAA record if you use IPv6) pointing to the VPS before requesting a TLS certificate.
- Firewall rules allowing inbound TCP 22 for SSH and TCP 80 and 443 for HTTP and HTTPS. Do not expose Paperclip’s application port 3100 to the internet.
- Administrative access only for initial server preparation. Run Paperclip itself as a dedicated, unprivileged
paperclipuser. - A current Docker Engine and Compose plugin if you choose the container route, or Node.js 24.11.0 or newer plus pnpm for a bare-metal install.
- Provider credentials for any agents you intend to run, such as an OpenAI API key or Anthropic API key, unless you connect a subscription or key through Paperclip’s Apps → Connections interface.
Paperclip’s first-run flow creates your first company, agent and piece of work. Both installation paths lead to that same onboarding experience.
As an Amazon Associate I earn from qualifying purchases.
Choose Docker or bare metal
Docker is the better default for a VPS that should remain small and easy to replace. Bare metal removes the container layer, but you must maintain the JavaScript runtime, package manager, process supervision and application files yourself.
| Decision point | Docker deployment | Bare-metal deployment |
|---|---|---|
| Host prerequisites | Docker Engine and Compose | Node.js 24.11.0 or newer and pnpm |
| Quick-start database | Embedded PostgreSQL inside the Paperclip data volume | Embedded PostgreSQL for a local-style install |
| Production database | Use PostgreSQL outside the application container | Use PostgreSQL outside the application process |
| Persistence | Explicit bind mount, normally ./data/docker-paperclip or a host directory mounted at /paperclip |
Paperclip’s service-owned data directory, protected by your service and backup plan |
| Upgrades and rollback | Pull or build a new image, retain the volume, and roll back to the previous image if necessary | Update the checkout and dependencies, then restart the managed process |
| Reverse proxy | Proxy to the container’s local port 3100 | Proxy to the locally bound Paperclip process |
| Runner contention | Runners may share the host initially; move busy runners to another machine later | The same co-location rule applies, but you manage each process directly |
Recommended Docker installation
1. Prepare the project directory
Connect over SSH on port 22, install Docker using your distribution’s current package instructions, and place a checked-out Paperclip project on the VPS. Run the Compose command from the project root; the quick-start file is part of the repository.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
2. Start the quick-start stack
Run the official command exactly as follows:
docker compose -f docker/docker-compose.quickstart.yml up --build
The default service listens on host port 3100. Its default persistent location is ./data/docker-paperclip, relative to the project root. You can change the port with PAPERCLIP_PORT and the data location with PAPERCLIP_DATA_DIR.
3. Confirm the local service
From the VPS, test the local endpoint before configuring DNS or TLS:
curl http://127.0.0.1:3100/api/health
A healthy instance returns a JSON response whose status is ok. If the command fails, inspect the container output before adding a reverse proxy.
4. Make the data mount non-negotiable
The mounted data directory contains the embedded PostgreSQL database, uploaded assets, the local secrets key and agent workspace data. Treat it as the instance’s state. Stopping or replacing a container while retaining this directory preserves the instance; deleting or omitting the mount starts a fresh Paperclip installation.
Use a dedicated host path outside temporary build directories for anything beyond a disposable test. Restrict its permissions to the account that runs the container, include it in backups and verify that a test restore can be read by a new container.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
5. Set public authenticated deployment variables
For an intentionally internet-facing instance, configure these values in the container environment or your Compose environment file:
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesPAPERCLIP_DEPLOYMENT_MODE=authenticatedenables the authenticated deployment mode.- Set the exposure to
publicwhen the service is deliberately reachable from the internet. PAPERCLIP_PUBLIC_URL=https://your-hostnamemust be the exact HTTPS origin visitors use.
The public URL is used for the authentication base URL, Better Auth defaults, bootstrap invite URL defaults and hostname allowlist defaults. A wrong scheme, hostname or path can produce login redirects and invite links that point back to the wrong address.
Building a production image manually
The quick-start Compose file is useful for getting a working instance. For a more controlled image lifecycle, build the production target from the project root:
docker build --target production -t paperclip:production .
Run that image with a host directory mounted at /paperclip, set HOST=0.0.0.0 so the process is reachable inside the container, and set PAPERCLIP_HOME=/paperclip so database files, assets, secrets and workspaces resolve to the mounted location. Keep the host port published only to localhost when a reverse proxy runs on the same VPS.
Do not assume that rebuilding an image carries state forward. State lives in the bind-mounted directory, not in an image layer. Keep the previous image tag until the new version has passed health and login checks, so a rollback does not require restoring data merely to undo an application change.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Bare-metal installation with Node.js
1. Create and use a dedicated account
Create a system user named paperclip, give it ownership of the application directory and switch to it before onboarding. The embedded PostgreSQL setup refuses to run as an administrative user, so running the process as root is not a workaround.
2. Install the runtime
Install Node.js 24.11.0 or newer and pnpm for that user. Confirm both binaries resolve to the intended versions before installing project dependencies. Keep the runtime under a version-management or package-maintenance policy so security updates do not silently replace it with an unsupported release.
3. Run the project’s onboarding command
From the Paperclip checkout, run the onboarding command documented for the version you installed, while logged in as paperclip. Onboarding initializes configuration and the embedded database for a local-style install. Complete the browser flow to create the first company, first agent and first work item.
Because command names can change between Paperclip releases, copy the onboarding command from the installation instructions that match your checkout rather than guessing a subcommand from an older post. The important requirements are the account, supported Node.js version and writable application home.
4. Keep the process supervised
Use your Linux service supervisor to restart Paperclip after a crash and at boot, and direct logs to a location covered by rotation. Bind the application locally and let the reverse proxy handle the public socket. Apply the same environment variables, backup policy and health checks described for the Docker deployment.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Use PostgreSQL outside the application for production
The VPS production architecture keeps PostgreSQL outside the Paperclip application container or process. Hosted PostgreSQL examples include Supabase, Neon and Fly Postgres; the provider you choose must support the availability, backups and network controls your workload requires.
Keep uploaded assets, secrets and instance configuration on the mounted PAPERCLIP_HOME volume even when the database is external. Database backups alone do not restore files uploaded to Paperclip or agent workspace data. Record the database connection settings in your secret manager or protected environment, never in a committed Compose file.
Put HTTPS in front of Paperclip
1. Point DNS first
Resolve your hostname to the VPS and wait for the record to be visible from outside your network. Certificate issuance will fail or target the wrong machine if DNS still points elsewhere.
2. Configure Caddy or Nginx as the public endpoint
Terminate TLS at Caddy or Nginx and proxy requests to Paperclip’s local listener. A minimal Nginx server block has the following shape; replace the hostname with yours and keep the upstream private:
server {
listen 80;
server_name your-hostname;
location / {
proxy_pass http://127.0.0.1:3100;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Use your proxy’s standard certificate and HTTP-to-HTTPS redirect workflow, then change the public server to listen on 443 with the issued certificate. Keep TCP 80 available for certificate validation and redirects, and allow TCP 443 for users. Do not publish 3100 in the firewall or advertise it in DNS.
Best Value
3. Verify through the public origin
After TLS is active, check the same health endpoint through the hostname:
Free tools Windows power users keep installed
One-click scans. No signup required.
curl https://your-hostname/api/health
The documented successful response is {"status":"ok"}. Also test a browser login and a bootstrap invite link; both depend on PAPERCLIP_PUBLIC_URL matching the URL users actually enter.
Connect agent credentials and adapters
The Docker image includes local Claude and Codex command-line tools, but their presence does not authenticate an agent. Supply OPENAI_API_KEY and/or ANTHROPIC_API_KEY to the environment, or connect a subscription or API key through Apps → Connections in Paperclip.
Without provider credentials, the web server can start normally while adapter checks report missing prerequisites. Check credentials before assigning work to an agent, and avoid putting API keys in shell history, source control, container images or publicly readable environment files.
Persistence, backups and recovery
What must be backed up
- The embedded PostgreSQL data directory when you use the quick-start database.
- Uploaded assets.
- The local secrets key and instance configuration.
- Agent workspace data stored under the Paperclip home directory.
- The external PostgreSQL database and its connection metadata when you run production PostgreSQL separately.
Set a recurring backup schedule
Enable your provider’s PostgreSQL backups and schedule recurring exports for company data and uploads. Keep at least one copy outside the VPS so disk loss, an account lockout or a mistaken volume deletion does not remove both production and backup data. Encrypt exports and restrict restore credentials.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Test a restore
A backup is not validated until it can be restored. Periodically provision a temporary host, restore the database and Paperclip home directory, start the application with the restored secrets, and confirm that companies, uploaded files and agent workspaces are present. Destroy the temporary host after validation.
Health checks and routine operations
- Monitor
/api/healthfor liveness from outside the VPS, not only from localhost. - Follow container output with
docker logs -f paperclipwhen diagnosing a Docker deployment. - Run Paperclip’s diagnostic command after configuration changes to detect drift.
- Review disk space and inode usage for the data volume, because uploads, logs and workspaces can grow independently of database size.
- Apply operating-system security updates, renew TLS certificates and remove unused firewall rules.
- Keep secrets such as authentication signing keys, database passwords and provider API keys out of version control.
When to move agent runners off the VPS
Runners can remain co-located with the API during an initial deployment. Watch for busy-agent heartbeats and job execution competing with web requests, database activity or reverse-proxy latency. Move runners to separate machines when that contention becomes visible, while retaining the Paperclip API and persistent data on the primary host. This split lets you add compute for agents without exposing the database volume or changing the public URL.
Typical monthly cost
A small-scale example published by Paperclip Docs on April 27, 2026 totals approximately $5–35 per month. These are illustrative figures, not a quote: verify current rates, regions and resource limits with your provider.
Quick Recap
| Component | Illustrative monthly amount | Qualification |
|---|---|---|
| VPS compute | About $5–10 | Small instance estimate from the April 27, 2026 guide |
| PostgreSQL | $0–25 | Varies from included or self-hosted to a managed database |
| 5 GB volume | About $1 | Example based on Fly.io pricing cited in that guide |
| Bandwidth | Usually low or included | Depends on provider, region and traffic |
| Total example | Approximately $5–35 | April 2026 example; not a guarantee |
Troubleshooting by symptom
| Symptom | Likely cause | Action |
|---|---|---|
| Embedded PostgreSQL refuses to start | Paperclip was started as root or another administrative account | Stop the service, switch to the dedicated paperclip user, verify directory ownership and rerun onboarding or restart. |
| Browser cannot connect, but the container is running | The process is bound locally or the reverse proxy is not forwarding | Check localhost port 3100, inspect proxy logs, confirm firewall ports 80/443 and leave 3100 private. |
| Login redirects to the wrong host | PAPERCLIP_PUBLIC_URL does not match the HTTPS hostname |
Set the complete https://your-hostname value, restart the service and retry in a fresh browser session. |
| Health check returns connection refused after a rebuild | The new container did not start, or the port override changed | Run docker logs -f paperclip, confirm PAPERCLIP_PORT, and test the bound port locally. |
| Data disappeared after recreating the container | The bind mount was omitted, moved or deleted | Restore the original data directory, mount it at the expected path and verify permissions before starting again. |
| Adapter check says a prerequisite is missing | No provider API key or connected subscription | Set the required environment variable or complete Apps → Connections, then rerun the adapter check. |
| Agents make the UI sluggish | Runner CPU or memory contention on the VPS | Reduce concurrent work temporarily and move busy runners to a separate machine. |
Security checklist before opening the hostname
- Use SSH keys, disable password login where your provider supports it and limit administrative access.
- Allow only TCP 22, 80 and 443 from the internet; keep 3100 bound to localhost or an internal network.
- Run Paperclip as the dedicated non-administrative user.
- Set authenticated deployment mode and a correct HTTPS public URL.
- Protect the Paperclip home directory, database credentials, auth signing keys and provider API keys.
- Enable PostgreSQL backups and back up uploads, secrets and workspaces as well.
- Test both local and public health checks after every upgrade.
- Retain the previous image or application release until the new version has passed login, database and agent checks.
Final deployment sequence
- Provision the Ubuntu 24.04 VPS, domain and firewall rules.
- Create the
paperclipuser and install either Docker Compose or Node.js 24.11.0-plus with pnpm. - Start the Docker quick-start stack, or run the version-matched bare-metal onboarding command as
paperclip. - Confirm the local health endpoint and verify that the persistent data directory is mounted and backed up.
- Configure authenticated public deployment variables and agent credentials.
- Point DNS to the VPS, place Caddy or Nginx in front, issue TLS and keep port 3100 private.
- Check
https://your-hostname/api/health, complete onboarding and create a test piece of work. - Enable monitoring, recurring exports and provider backups before inviting regular users.
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.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




