How to Install Papra Document Archiving on Docker

How to Install Papra Document Archiving on Docker

Bitnesia Software Mar 25, 2026 328 ID

The stacks of physical folders in filing cabinets may be shrinking, but a new problem is emerging in our IT infrastructure: digital file chaos. Important documents are often scattered across employee laptops, buried in email attachments, or stored in unstructured drives. Retrieving a single partnership contract from two years ago can take hours.

Modern organizations need a centralized repository to store their intellectual and administrative assets. However, Enterprise Document Management System (DMS) solutions are often too complex, expensive, and difficult to learn. This is why you should consider Papra Document Archiving. This application offers the perfect balance between powerful archiving features and a clean, lightweight interface. This article will guide you in understanding Papra’s potential and how to deploy it on your own organizational server.

What is Papra?

Papra is a modern, open-source, web-based document archiving application. Its primary focus is fast access and ease of organization through a tagging system and metadata. Being self-hosted, Papra gives you full data sovereignty, eliminating the risk of your data being exposed to third-party cloud providers.

Papra’s flexibility makes it relevant across various sectors:

  1. Businesses & SMEs
    • Use Case: A centralized repository for Tax Invoices, Memorandums of Understanding (MoUs), employee payslips, and corporate legal documents. Finance and HR teams can access the same documents without having to exchange files via chat.
  2. Education (Universities/Schools)
    • Use Case: A digital repository for student theses/dissertations, diploma archives, academic transcripts, and accreditation documents. It enables quick retrieval of alumni academic records within seconds.
  3. Government Institutions
    • Use Case: Management of incoming and outgoing correspondence, archiving of local regulations, and documentation of official activities. This supports efficient Electronic-Based Government System (SPBE) initiatives.

System Requirements

To run Papra smoothly in a mid-scale production environment, prepare a VPS or server with the following specifications:

  • OS: Linux
  • CPU: 2 vCPU
  • RAM: 4 GB (Recommended to handle search cache and operating system processes).
  • Storage: Minimum 20 GB SSD (Adjust according to the estimated total size of archived documents).
  • Docker and Docker Compose

Papra Installation Steps

Install Docker & Docker Compose

Install Docker using Script: Run the following command to download and execute the automatic installation script:

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Verify Installation: Ensure Docker and Docker Compose (now integrated as a plugin) are running:

docker version
docker compose version

Papra Deployment

We will prepare the working directory and container configuration file.

Create the project directory:

mkdir -p papra/app-data/{db,documents}
chown -R 1000:1000 papra
cd papra

Create the docker-compose.yml file using a text editor such as nano:

nano docker-compose.yml

Insert the following configuration:

services:
  papra:
    image: ghcr.io/papra-hq/papra:latest
    container_name: papra
    restart: unless-stopped
    ports:
      - 1221:1221
    environment:
      - AUTH_SECRET=eKr1o6eSpHd6YRHjIezLLx8XkXk0NsvM5lErf76sDKEhVoj5
      - APP_BASE_URL=https://papra.domain.tld
    volumes:
      - ./app-data:/app/app-data
    user: 1000:1000

Run the papra service:

docker compose up -d

Verify whether the papra service is running:

docker compose ps

Example response:

CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS          PORTS                                         NAMES
7a5f0d623f97   ghcr.io/papra-hq/papra:latest   "docker-entrypoint.sâ ¦"   20 seconds ago   Up 19 seconds   0.0.0.0:1221->1221/tcp, [::]:1221->1221/tcp   papra

Setup Nginx Reverse Proxy

To make the application accessible securely via the domain papra.domain.tld, we use Nginx as the front gateway.

Create a virtual host configuration:

nano /etc/nginx/sites-available/papra.domain.tld.conf

Fill in the configuration below, making sure to replace papra.domain.tld with your actual domain.

server {
  listen 80;
  server_name papra.domain.tld;

  location / {
    proxy_pass http://127.0.0.1:1221;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    client_max_body_size 100M; 
  }
}

Enable the configuration:

ln -s /etc/nginx/sites-available/papra.domain.tld.conf /etc/nginx/sites-enabled/
systemctl restart nginx

SSL Installation with Certbot

The final step is securing the connection with HTTPS.

Request an SSL certificate:

certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--nginx -d papra.domain.tld \
--redirect

Papra Document Archiving is now accessible at https://papra.domain.tld. Proceed to create a new account, and Papra is ready to store your documents.

Conclusion

Congratulations! You now have Papra Document Archiving running on your own server, complete with SSL security at https://papra.domain.tld. The next step is to log in to the application and start designing a "Tags" structure that aligns with your organization’s workflow. Whether for business audits, academic accreditation, or government administrative compliance, Papra serves as a compact yet impactful digital archiving solution.

Did this solve your problem? Consider leaving a tip to show your appreciation!

Say Thanks with a Tip

Related Posts