https://github.com/adepanges/n8n-editly-ffmpeg
https://github.com/adepanges/n8n-editly-ffmpeg
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/adepanges/n8n-editly-ffmpeg
- Owner: adepanges
- Created: 2025-06-27T18:07:10.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2025-07-30T09:45:00.000Z (11 months ago)
- Last Synced: 2025-07-30T11:53:20.556Z (11 months ago)
- Language: Shell
- Size: 17.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# n8n with Worker, PostgreSQL, Redis, Browserless and Editly
⚠️ **SECURITY WARNING** ⚠️
- This setup is FOR LOCAL DEVELOPMENT ONLY
- Containers have full host access via mounted Docker socket (/var/run/docker.sock)
- NEVER run this configuration in production environments
- No authentication barriers - all services exposed directly
Starts n8n with:
- PostgreSQL as database
- Redis for queue management
- Browserless (headless Chrome) for web automation
- Editly for video editing
- Separate worker container for offloading executions
## Start
To start all services:
```bash
docker-compose up -d
```
If any version of image is changed, you must rebuild the images:
```bash
docker-compose up --build -d
```
To stop:
```bash
docker-compose stop
```
## Configuration
**IMPORTANT:** Change all default credentials in the [`.env`](.env) file before starting!
### Core Services
- PostgreSQL database credentials in `.env`:
- POSTGRES_DB
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_NON_ROOT_USER
- POSTGRES_NON_ROOT_PASSWORD
- n8n configuration:
- ENCRYPTION_KEY (required for credential encryption)
- N8N_LICENSE_ACTIVATION_KEY (optional)
- Executions stored for 24 hours (EXECUTIONS_DATA_MAX_AGE)
### Additional Services
- Browserless:
- Runs on port 1000
- Access token set via TOKEN environment variable
- Change default token (currently 'sapidelman')
- Editly:
- Mounts ./data directory for video file access
- Uses custom Dockerfile with FFmpeg
- Redis:
- Used for queue management
- Data persisted in redis_storage volume
## Usage Examples
### Using Editly via Docker
1. For JSON files with relative paths:
```bash
docker exec editly sh -c "cd /var/data/editly/examples/ && editly audio1.json5 --out /var/data/audio1.mp4"
```
2. For JSON files with absolute paths:
```bash
docker exec editly sh -c "editly /var/data/editly/examples/audio1.json5 --out /var/data/audio1.mp4"
```
Note: Output files will be saved to the mounted ./data directory on host
3. Using Editly from n8n Execute Command node:
```json
{
"command": "docker exec editly sh -c \"cd /var/data/editly/examples/ && editly audio1.json5 --out /var/data/audio1.mp4\"",
"parameters": {}
}
```

## Security Considerations
- Docker socket mounting gives containers full host control
- All services run as root user
- No network isolation between containers
- Browserless token should be changed from default
- Encryption key should be strong and kept secret