### Start nginx service Source: https://kb.dropshare.app/how-to/how-to-set-up-dropshare-with-a-digitalocean-droplet.html Start the nginx service after installation. ```bash # service nginx start ``` -------------------------------- ### Fast Path: Clone, run setup script, start Docker, and copy SSH key Source: https://kb.dropshare.app/set-up-an-upload-connection/self-hosted.html Quick-start commands for experienced users. Requires Docker on the server. Run git clone, cd into the repo, execute ./setup.sh with your domain, then start with docker compose up -d. Finally copy the generated private key to your Mac and set its permissions. ```bash # On your server (requires Docker) git clone https://github.com/dropshareapp/dropshare-selfhosted.git cd dropshare-selfhosted ./setup.sh # Enter your domain, accept defaults docker compose up -d # Start the server # Copy the private key to your Mac scp user@server:~/dropshare-selfhosted/config/ssh/dropshare_key ~/.ssh/ chmod 600 ~/.ssh/dropshare_key ``` -------------------------------- ### Install Docker on Fedora Source: https://kb.dropshare.app/set-up-an-upload-connection/self-hosted.html Commands to install Docker and its plugins on Fedora using dnf, then start and enable the Docker service and add the current user to the docker group. ```bash # Install Docker sudo dnf -y install dnf-plugins-core sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Start and enable Docker sudo systemctl start docker sudo systemctl enable docker # Add your user to the docker group sudo usermod -aG docker $USER ``` -------------------------------- ### Install Docker on Arch Linux Source: https://kb.dropshare.app/set-up-an-upload-connection/self-hosted.html Commands to install Docker and Docker Compose on Arch Linux using pacman, then start and enable Docker and add the current user to the docker group. ```bash # Install Docker sudo pacman -S docker docker-compose # Start and enable Docker sudo systemctl start docker sudo systemctl enable docker # Add your user to the docker group sudo usermod -aG docker $USER ``` -------------------------------- ### Install markitdown with Homebrew and pipx Source: https://kb.dropshare.app/how-to/how-to-install-markitdown-to-convert-ms-office-files-to-html.html Alternative installation method for Homebrew users. Installs pipx first, then uses pipx to install markitdown. ```bash brew install pipx && pipx install markitdown ``` -------------------------------- ### Clone and Run Setup Script Source: https://kb.dropshare.app/set-up-an-upload-connection/self-hosted.html Commands to clone the Dropshare self-hosted repository and run the setup script, which prompts for domain name, SFTP username, SFTP port, upload path, and HTTP/HTTPS ports. ```bash git clone https://github.com/dropshareapp/dropshare-selfhosted.git cd dropshare-selfhosted ./setup.sh ``` -------------------------------- ### Update system and install nginx Source: https://kb.dropshare.app/how-to/how-to-set-up-dropshare-with-a-digitalocean-droplet.html Update package sources, optionally upgrade, and install nginx. ```bash # apt-get update # apt-get upgrade # apt-get install nginx ``` -------------------------------- ### Install FFmpeg with Homebrew Source: https://kb.dropshare.app/how-to/how-to-enable-gif-screen-recordings-and-install-ffmpeg.html Run this command in Terminal.app after installing Homebrew to install FFmpeg, which Dropshare uses to convert .mov screen recordings to .gif or .mp4. ```bash brew install ffmpeg ``` -------------------------------- ### Install Docker on CentOS / RHEL / Rocky Linux / AlmaLinux Source: https://kb.dropshare.app/set-up-an-upload-connection/self-hosted.html Commands to install Docker on CentOS/RHEL-based distributions using yum, then start and enable Docker and add the current user to the docker group. ```bash # Install prerequisites sudo yum install -y yum-utils # Add Docker repository sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # Install Docker sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Start and enable Docker sudo systemctl start docker sudo systemctl enable docker # Add your user to the docker group sudo usermod -aG docker $USER ``` -------------------------------- ### Install markitdown with pip3 Source: https://kb.dropshare.app/how-to/how-to-install-markitdown-to-convert-ms-office-files-to-html.html Use this command in Terminal.app to install markitdown via pip3. This is the primary installation method. ```bash pip3 install markitdown ``` -------------------------------- ### Start the Server with Docker Compose Source: https://kb.dropshare.app/set-up-an-upload-connection/self-hosted.html Command to start the Dropshare server in detached mode using Docker Compose. ```bash docker compose up -d ``` -------------------------------- ### Enable fail2ban on Linux Source: https://kb.dropshare.app/set-up-an-upload-connection/self-hosted.html Command to start the server with the fail2ban profile on Linux. ```bash docker compose --profile linux up -d ``` -------------------------------- ### Open URL with placeholders Source: https://kb.dropshare.app/how-to/how-to-use-upload-hooks.html Example URL scheme for the Open URL hook, using placeholders %fileName% and %url%. Placeholder values are URL encoded automatically. ```url things:///add?title=%fileName%¬es=%url% ``` -------------------------------- ### Example JSON 3: Array of strings Source: https://kb.dropshare.app/set-up-an-upload-connection/how-to-set-up-a-custom-api-connection.html Shows a JSON response with a 'files' array containing direct URLs. Use '%files[0]%' as the URL to file. ```json { "files": [ "http://server.com/uploads/file.png" ] } ``` -------------------------------- ### Full JSON payload example Source: https://kb.dropshare.app/how-to/how-to-use-upload-hooks.html Example of the full JSON payload sent to webhooks, shell commands, or shortcuts. Shows all fields with sample values. Note that fileSize is a number, encrypted and isScreenshot are booleans, and all other fields are strings. ```json { "event": "post-upload", "fileName": "Screenshot.png", "filePath": "/Users/you/Desktop/Screenshot.png", "fileSize": 123456, "mimeType": "image/png", "connectionKey": "…", "connectionName": "My Server", "connectionType": "sftp", "connectionTypeName": "SFTP", "url": "https://example.com/d/screenshot-a1b2c3/", "directUrl": "https://example.com/d/screenshot-a1b2c3.png", "landingPageUrl": "https://example.com/d/screenshot-a1b2c3/", "shortUrl": "https://dshre.com/abc123", "encrypted": false, "decryptionKey": "", "uploadId": "…", "uploadedTo": "d/screenshot-a1b2c3.png", "fileHash": "…", "isScreenshot": true, "date": "2026-09-26T10:32:15Z" } ``` -------------------------------- ### Example JSON 2: Array of objects Source: https://kb.dropshare.app/set-up-an-upload-connection/how-to-set-up-a-custom-api-connection.html Shows a JSON response as an array of objects, each with a 'url' property. Use '%[0].url%' as the URL to file. ```json [ { "url": "http://server.com/uploads/file.png" } ] ``` -------------------------------- ### Docker Compose commands for server management Source: https://kb.dropshare.app/set-up-an-upload-connection/self-hosted.html Commands to start, stop, view logs, and restart the self-hosted server using Docker Compose. ```bash # Start the server docker compose up -d # Stop the server docker compose down # View logs docker compose logs -f # View specific service logs docker compose logs -f sftp docker compose logs -f caddy # Restart after config changes docker compose restart ``` -------------------------------- ### Create dropshare user and set up directory Source: https://kb.dropshare.app/how-to/how-to-set-up-dropshare-with-a-digitalocean-droplet.html Create a system user 'dropshare' and set up the public_html directory with appropriate permissions. ```bash # useradd -m dropshare # cd /home/dropshare # mkdir public_html # chown dropshare:www-data public_html # chmod g+rwx public_html ``` -------------------------------- ### Enable nginx site and reload Source: https://kb.dropshare.app/how-to/how-to-set-up-dropshare-with-a-digitalocean-droplet.html Create a symbolic link to enable the dropshare site and reload nginx. ```bash # ln -s /etc/nginx/sites-available/dropshare /etc/nginx/sites-enabled/dropshare # service nginx reload ``` -------------------------------- ### Launch Dropshare with importConnection and licenseCode parameters Source: https://kb.dropshare.app/how-to/how-to-automate-the-deployment-of-dropshare-for-macos.html Starts Dropshare with launch parameters to import two connections and activate a license. Replace the file paths, passphrases, license code, and email with your own values. Requires Dropshare 5.0.4 or later. ```bash open /Applications/Dropshare.app --args -importConnection "/Users/test/test.dsconn" -importPassphrase "test" -importConnection "/Users/test/test2.dsconn" -importPassphrase "test2" -licenseCode "aaaa-bbbb-cccc-dddd-eeee" -licenseEmail "test@example.com" ``` -------------------------------- ### Verify Docker Installation Source: https://kb.dropshare.app/set-up-an-upload-connection/self-hosted.html Commands to check the installed Docker and Docker Compose versions after logging out and back in. ```bash docker --version docker compose version ```