# CryptPad

Collaborative office suite with end-to-end encryption for documents, spreadsheets and more.

- Replaces: [Google Docs](https://openlogs.fyi/alternatives/google-docs)
- Summary: Paid online document editing services, such as Google Docs.
- Stack: JavaScript (language)
- Deployment: docker_compose
- License: AGPL-3.0 (osi) [source](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/LICENSE)
- Business model: unknown. The README at the pinned commit does not state a business model, so it stays unknown. ([source](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/readme.md), read 2026-10-22)
- Difficulty: easy. 1 service, 8 volume mounts, no env values to set, no elevated host access. Heuristic score 2 of 11: easy.
- Requirements: not stated
- Repository: [cryptpad/cryptpad](https://github.com/cryptpad/cryptpad)

## Install

1. Docker with the Compose plugin ([source](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/docker-compose.yml))

   ```text
   A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
   ```

2. Save the compose file as docker-compose.yml ([source](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/docker-compose.yml))

   ```yaml
   # SPDX-FileCopyrightText: 2023 XWiki CryptPad Team <contact@cryptpad.org> and contributors
   #
   # SPDX-License-Identifier: AGPL-3.0-or-later
   
   ---
   services:
     cryptpad:
       image: "cryptpad/cryptpad:latest"
       hostname: cryptpad
       read_only: true
   
       environment:
         - CPAD_MAIN_DOMAIN=https://your-main-domain.com
         - CPAD_SANDBOX_DOMAIN=https://your-sandbox-domain.com
   
         # Check out the following README:
         # https://github.com/cryptpad/cryptpad/tree/main/www/common/onlyoffice/README.md
         # Read and accept the license before uncommenting the following line:
         # https://github.com/Euro-Office/web-apps/raw/refs/heads/main/LICENSE.txt
         # - CPAD_INSTALL_OFFICE=yes
   
       volumes:
         - ./data/blob:/cryptpad/blob
         - ./data/block:/cryptpad/block
         - ./customize:/cryptpad/customize
         - ./data/data:/cryptpad/data
         - ./data/files:/cryptpad/datastore
         - ./onlyoffice-dist:/cryptpad/www/common/onlyoffice/dist
         - ./onlyoffice-conf:/cryptpad/onlyoffice-conf
         - ./config:/cryptpad/config
         - type: tmpfs
           target: /tmp
   
       ports:
         - "3000:3000"
   
       ulimits:
         nofile:
           soft: 1000000
           hard: 1000000
   ```

3. Start it ([source](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/docker-compose.yml))

   ```bash
   docker compose up -d
   ```

4. Open the app ([source](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/docker-compose.yml))

   ```text
   Open http://localhost:3000. The compose file publishes host port 3000 for the cryptpad service.
   ```

Compose file check: config_ok on 2026-10-22.

## Gotchas and maintenance

### Gotchas

- Some images use the latest tag or no tag: Images without a pinned version: cryptpad: cryptpad/cryptpad:latest. A later pull can get a different version. ([source](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/docker-compose.yml), checked 2026-10-22)
- The compose file publishes host ports: Host ports: 3000 (cryptpad). A port without a host address listens on all host network interfaces. ([source](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/docker-compose.yml), checked 2026-10-22)
- The compose file mounts host folders: Host paths mounted into containers: ./data/blob at /cryptpad/blob (cryptpad), ./data/block at /cryptpad/block (cryptpad), ./customize at /cryptpad/customize (cryptpad), ./data/data at /cryptpad/data (cryptpad), ./data/files at /cryptpad/datastore (cryptpad), ./onlyoffice-dist at /cryptpad/www/common/onlyoffice/dist (cryptpad), ./onlyoffice-conf at /cryptpad/onlyoffice-conf (cryptpad), ./config at /cryptpad/config (cryptpad). ([source](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/docker-compose.yml), checked 2026-10-22)

### Signals

Computed from a GitHub snapshot taken 2026-10-22.

- Open issues and pull requests: 356
- Stars: 8022, forks: 866
- Last push: 2026-10-21 (0 days ago)
- Latest release: 2026.10.0 on 2026-10-21 (0 days ago)

## Sources

- [Repository: https://github.com/cryptpad/cryptpad](https://github.com/cryptpad/cryptpad)
- [License: https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/LICENSE](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/LICENSE)
- [Business model: https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/readme.md](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/readme.md)
- [Compose file: https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/docker-compose.yml](https://github.com/cryptpad/cryptpad/blob/b08114cc4afe99129bb41ce96f39c39324d29ebf/docker-compose.yml)

---
Canonical: https://openlogs.fyi/tools/cryptpad  
Last updated: 2026-10-22
