04d3d4b6b0114a4f0cbf3cc4b3aa408273f1d840
ONLYOFFICE Docs for Runtipi
This is a Runtipi-compatible app configuration for ONLYOFFICE Document Server. It also includes standalone docker-compose files for use without Runtipi.
Installation
Option 1: Via Runtipi App Store (if published)
- Search for "ONLYOFFICE Docs" in the Runtipi app store
- Click Install
- Configure your JWT secret and other options
- Start the app
Option 2: Manual Installation (Runtipi Custom App Store)
- Copy the
onlyoffice-docsfolder to your Runtipi custom apps directory:cp -r onlyoffice-docs /path/to/runtipi/apps/ - Restart Runtipi or refresh the app list
- Install from the UI
Option 3: Standalone Docker Compose (No Runtipi)
For standalone deployments without Runtipi:
git clone https://git.alexzaw.dev/alexz/runtipi-onlyoffice-docs.git
cd runtipi-onlyoffice-docs
# Copy and edit the environment file
cp .env.example .env
nano .env # Set JWT_SECRET at minimum
# Basic deployment (self-contained with internal PostgreSQL)
docker-compose -f docker-compose.standalone.yml up -d
# Production deployment (external Postgres/Redis/RabbitMQ)
docker-compose -f docker-compose.standalone-external-db.yml up -d
Data is stored in ./data/ relative to the compose file.
Configuration
Standalone Variables
| Variable | Default | Description |
|---|---|---|
JWT_SECRET |
required | Secret key for JWT authentication |
ONLYOFFICE_PORT |
8044 |
Port to expose |
JWT_ENABLED |
true |
Enable/disable JWT validation |
JWT_HEADER |
Authorization |
HTTP header for JWT token |
JWT_IN_BODY |
false |
Allow JWT in request body |
USE_UNAUTHORIZED_STORAGE |
false |
Accept self-signed certs |
WOPI_ENABLED |
false |
Enable WOPI protocol |
DB_PASSWORD |
onlyoffice |
PostgreSQL password (external-db only) |
Runtipi Variables
When installed via Runtipi, these are configured through the UI:
| Variable | Description |
|---|---|
ONLYOFFICE_JWT_SECRET |
Secret key for JWT authentication |
ONLYOFFICE_JWT_ENABLED |
Enable/disable JWT validation |
ONLYOFFICE_USE_UNAUTHORIZED_STORAGE |
Accept self-signed certs |
ONLYOFFICE_WOPI_ENABLED |
Enable WOPI protocol |
Integration Examples
Nextcloud Integration
- Install the ONLYOFFICE connector app in Nextcloud
- Go to Settings → ONLYOFFICE
- Configure:
- Document Editing Service address:
http://your-ip:8044orhttps://onlyoffice-docs.yourdomain.com - Secret key: Same as
JWT_SECRET
- Document Editing Service address:
Seafile Integration
Add to seahub_settings.py:
ONLYOFFICE_APIJS_URL = 'http://your-ip:8044/web-apps/apps/api/documents/api.js'
ONLYOFFICE_JWT_SECRET = 'your-jwt-secret'
File Structure
onlyoffice-docs/
├── config.json # Runtipi app configuration
├── docker-compose.yml # Runtipi compose (uses Runtipi vars)
├── docker-compose.external-db.yml # Runtipi compose with external DB
├── docker-compose.standalone.yml # Standalone compose (no Runtipi)
├── docker-compose.standalone-external-db.yml # Standalone with external DB
├── description.md # App description for Runtipi UI
├── .env.example # Example environment variables
└── README.md # This file
Data Persistence
Standalone: Data is stored in ./data/ (relative to compose file):
logs/- Application logsdata/- Certificates and configurationlib/- File cache and temporary filesdb/- PostgreSQL database (basic config)fonts/- Custom fonts
Runtipi: Data is stored in ${APP_DATA_DIR}/data/ (managed by Runtipi)
Troubleshooting
Container won't start
- Check logs:
docker logs onlyoffice-docs - Ensure port 8044 is not in use
- Verify
JWT_SECRETis set (required)
Integration issues with Nextcloud
- Ensure both services can reach each other
- If using self-signed certs, set
USE_UNAUTHORIZED_STORAGE=true - Check that JWT secrets match exactly
Performance issues
- Use the external-db compose variant
- Increase container memory limits
- Check disk I/O performance
Resources
Description
Languages
Markdown
100%