diff --git a/CONFIGURATION.md b/CONFIGURATION.md deleted file mode 100644 index e716a93..0000000 --- a/CONFIGURATION.md +++ /dev/null @@ -1,157 +0,0 @@ -# Docmost Cloudron Configuration - -Your Docmost instance is configured with Cloudron defaults but can be customized after installation. - -## Current Configuration - -**Email**: Uses Cloudron's internal email server by default -**Storage**: Uses local storage in `/app/data/uploads` by default -**Database**: PostgreSQL (managed by Cloudron) -**Cache**: Redis (managed by Cloudron) - -## Custom Configuration - -To customize your Docmost installation, you can create a `.env` file in the app's data directory: - -### 1. Access Your App's Data Directory - -```bash -# SSH into your Cloudron server -cloudron exec --app docmost - -# Navigate to the data directory -cd /app/data - -# Copy the sample configuration -cp env.sample .env -``` - -### 2. Edit the Configuration - -```bash -# Edit the .env file -nano .env -``` - -### 3. Restart the App - -After making changes to the `.env` file, restart the app: - -```bash -cloudron restart --app docmost -``` - -## Common Customizations - -### Custom Email Server - -To use Gmail instead of Cloudron's email server: - -```bash -# In /app/data/.env -MAIL_DRIVER=smtp -SMTP_HOST=smtp.gmail.com -SMTP_PORT=587 -SMTP_USERNAME=your-email@gmail.com -SMTP_PASSWORD=your-app-password -SMTP_SECURE=true -MAIL_FROM_ADDRESS=your-email@gmail.com -MAIL_FROM_NAME="Docmost" -``` - -**Important**: Values with spaces must be quoted with double quotes. - -### S3 Storage - -To use Amazon S3 or compatible storage: - -```bash -# In /app/data/.env -STORAGE_DRIVER=s3 -AWS_S3_ACCESS_KEY_ID=your-access-key -AWS_S3_SECRET_ACCESS_KEY=your-secret-key -AWS_S3_REGION=us-east-1 -AWS_S3_BUCKET=your-bucket-name -AWS_S3_ENDPOINT=https://s3.amazonaws.com -``` - -### File Upload Limits - -To increase file upload limits: - -```bash -# In /app/data/.env -FILE_UPLOAD_SIZE_LIMIT=100MB -FILE_IMPORT_SIZE_LIMIT=100MB -``` - -### Custom Draw.io Server - -To use a self-hosted draw.io server: - -```bash -# In /app/data/.env -DRAWIO_URL=https://your-drawio-server.com -``` - -## Available Environment Variables - -See the full list of available environment variables in the [Docmost documentation](https://docmost.com/docs/self-hosting/environment-variables). - -## Troubleshooting - -### Check Current Configuration - -```bash -cloudron exec --app docmost -- env | grep -E "(MAIL|STORAGE|S3)" | sort -``` - -### View App Logs - -```bash -cloudron logs --app docmost -``` - -### .env File Format Errors - -If you see errors like `line 1: Docmost: command not found`, your .env file has syntax errors: - -1. **Values with spaces must be quoted**: - ```bash - # Wrong: - MAIL_FROM_NAME=My Company - - # Correct: - MAIL_FROM_NAME="My Company" - ``` - -2. **No spaces around equals sign**: - ```bash - # Wrong: - MAIL_DRIVER = smtp - - # Correct: - MAIL_DRIVER=smtp - ``` - -3. **Check for invalid characters**: - ```bash - # Validate your .env file: - cloudron exec --app docmost -- cat /app/data/.env - ``` - -### Reset to Defaults - -To reset to Cloudron defaults, simply remove the custom .env file: - -```bash -cloudron exec --app docmost -- rm -f /app/data/.env -cloudron restart --app docmost -``` - -## Security Notes - -- The `.env` file is stored in `/app/data/` which is included in Cloudron backups -- Database and Redis credentials are managed by Cloudron and should not be changed -- Email credentials are stored in plaintext in the `.env` file -- Consider using app-specific passwords for email providers \ No newline at end of file diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md deleted file mode 100644 index 30ef4c0..0000000 --- a/DEPLOYMENT.md +++ /dev/null @@ -1,90 +0,0 @@ -# Docmost Cloudron Package - Deployment Status - -## Current Status: 🔄 In Progress - -The Docmost Cloudron package has been successfully created with all required components but is experiencing a Redis URL parsing issue preventing startup. - -## Package Components Created ✅ - -### Core Files -- **CloudronManifest.json** - Complete app configuration with all addons -- **Dockerfile** - Production build with Node.js 20 and pnpm -- **start.sh** - Initialization script with database setup -- **nginx.conf** - Reverse proxy with WebSocket support -- **supervisord.conf** - Process management configuration -- **README.md** - Comprehensive documentation - -### Features Implemented -- ✅ PostgreSQL database integration -- ✅ Email notifications via Cloudron SMTP -- ✅ File storage in persistent directory -- ✅ Health checks and logging -- ✅ Production-ready build process -- ✅ WebSocket support for real-time collaboration -- ⚠️ Redis integration (currently blocked by URL parsing issue) - -## Current Issue 🔧 - -**Problem**: Redis URL parsing incompatibility -- **Error**: `RangeError [ERR_SOCKET_BAD_PORT]: Port should be >= 0 and < 65536. Received type number (NaN)` -- **Root Cause**: Cloudron Redis URL format differs from what Docmost expects -- **Impact**: App cannot start due to Redis validation failure - -## Build Information - -**Latest Version**: andreasdueren/docmost-cloudron:0.1.8 -**Status**: App installs and runs but returns 502 due to Redis parsing issue - -### Build Commands -```bash -# Build -cloudron build - -# Install -cloudron install --location docmost -``` - -## Next Steps 🎯 - -1. **Debug Redis URL format** - Add logging to understand Cloudron Redis URL structure -2. **Fix URL parsing** - Implement correct Redis URL transformation -3. **Test without Redis** - Investigate if Docmost can run without Redis for basic functionality -4. **Final deployment** - Complete working package - -## Repository Structure - -``` -docmost-cloudron/ -├── CloudronManifest.json # App configuration -├── Dockerfile # Container build -├── start.sh # Startup script -├── nginx.conf # Reverse proxy -├── supervisord.conf # Process management -├── env.sample # Configuration template -├── CONFIGURATION.md # User documentation -├── README.md # Documentation -└── DEPLOYMENT.md # This file -``` - -## Troubleshooting - -**For Redis URL Issues:** -```bash -# Check logs -cloudron logs --app docmost.due.ren - -# Shell into container -cloudron exec --app docmost.due.ren - -# Check Redis URL format -echo $CLOUDRON_REDIS_URL -``` - -**For Build Issues:** -```bash -# Clean build -git clean -fdx -cloudron build --tag $(date +%s) -``` - -The package is 95% complete with all infrastructure in place. Only the Redis URL compatibility issue remains to be resolved for full functionality. \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 13ed75d..99eaa97 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,7 +26,6 @@ RUN mkdir -p /tmp/data /app/data && \ COPY start.sh /app/code/ COPY nginx.conf /etc/nginx/sites-available/default COPY env.sample /app/code/env.sample -COPY CONFIGURATION.md /app/code/CONFIGURATION.md # Override nginx global logs to prevent read-only filesystem errors RUN sed -i 's|error_log /var/log/nginx/error.log;|error_log /dev/stderr;|' /etc/nginx/nginx.conf && \ diff --git a/README.md b/README.md index cae1e13..de5ad77 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ For issues related to: ## License -This Cloudron package is provided under the same license as Docmost (MIT). +This Cloudron package is provided under the same license as Docmost (AGPL-3.0). ## Version History diff --git a/start.sh b/start.sh index 2740983..4dc2b36 100644 --- a/start.sh +++ b/start.sh @@ -11,12 +11,11 @@ if [ ! -d "/app/data/client-dist" ]; then chown -R cloudron:cloudron /app/data/client-dist fi -# Copy sample .env file and documentation for user reference +# Copy sample .env file for user reference if [ ! -f "/app/data/env.sample" ]; then echo "=> Copying configuration files to /app/data/" cp /app/code/env.sample /app/data/env.sample - cp /app/code/CONFIGURATION.md /app/data/CONFIGURATION.md - chown cloudron:cloudron /app/data/env.sample /app/data/CONFIGURATION.md + chown cloudron:cloudron /app/data/env.sample fi # Initialize /app/data if it's empty (first run)