Skip to content

Installation

SeedSync requires installation on a local machine. Nothing needs to be installed on the remote server.

Requirements

Remote Server

Requirements for the remote server are:

  • Linux-based system (64-bit)
  • SSH access

Local Machine

The following table describes the installation method supported for each platform.

Docker Image Deb Package
Linux/Ubuntu 64-bit ✅️
Raspberry Pi (v2, v3, v4)
Windows
MacOS

Select the section for your platform:

Docker Image (Linux/Ubuntu, Raspberry Pi)

  1. Run the docker image with the following command:

    docker run \
       -p 8800:8800 \
       -v <downloads directory>:/downloads \
       -v <config directory>:/config \
       ipsingh06/seedsync
    

    where

    • <downloads directory> refers to the location on host machine where downloaded files will be placed
    • <config directory> refers to the location on host machine where config files will be placed
    • both these directories must already exist

    By default the docker image is run under the default user (uid=1000). To run as a different user, include the option --user <uid>:<gid>.

    If you receive errors related to locale when connecting to the remote server, then also include the following options.

    -e LC_ALL=en_US.UTF-8 -e LANG=en_US.UTF-8

  2. Access application GUI by going to http://localhost:8800 in your browser.

  3. Go to the Settings page and fill out the required information. Under the Local Directory setting, enter /downloads.

  4. While password-based login is supported, key-based authentication is highly recommended! See the Key-Based Authentication Setup section for details.

Docker Image (Windows)

SeedSync supports Windows via the Docker container.

  1. Install Docker on Windows.

  2. Docker for Windows if you have Windows 10 Pro or above

  3. Docker Toolbox if you have Windows 10 Home or below

  4. Make sure you can successfully run the Hello World app in Docker.

  5. Open the Docker terminal and run the SeedSync image with the following command:

    docker run \
       -p 8800:8800 \
       -v <downloads directory>:/downloads \
       -v <config directory>:/config \
       ipsingh06/seedsync
    

    where

    • <downloads directory> refers to the location on host machine where downloaded files will be placed
    • <config directory> refers to the location on host machine where config files will be placed
    • both these directories must already exist

    Note

    The Windows host machine path is specified as /c/Users/...

  6. Access application GUI to verify SeedSync is running. Docker on Windows may not forward port to the local host. We need to find the IP address of the container.

  7. Open a new Docker terminal and run the command:

    docker-machine ip
    192.168.100.17
    
  8. Open <ip address>:8800 in your browser. In this example that would be http://192.168.100.17:8800

  9. Verify that SeedSync dashboard loads.

  10. Go to the Settings page and fill out the required information. Under the Local Directory setting, enter /downloads.

  11. While password-based login is supported, key-based authentication is highly recommended! See the Key-Based Authentication Setup section for details.

Post-Install Setup

SeedSync's web-based GUI can be accessed at http://localhost:8800. Or in case of docker, whatever host port you specified in the -p <port>:8800 option.

You may also access it from another device by replacing 'localhost' with the IP address or hostname of the machine where it is installed.

Password-less/Key-based Authentication Setup

Password-based access to your remote server is highly unsecure. It is strongly recommended that you set up key-based authentication.

  1. You will need to generate a public-private key pair. Here is a simple tutorial that walks you through this process.

    Note

    Make sure the access is set up for the user under which SeedSync is running.

    Note

    If you're using docker, also see the Using SSH Keys with Docker section.

  2. Before continuing, verify the password-less access by SSH'ing into your remote server in a terminal:

    ssh <remote user>@<remote server>
    

    You should be able to log in to the remote server without being prompted for a password

  3. Update the settings

    1. Access the web GUI and choose the Settings page from the menu.
    2. Replace your password in the "Server Password" field with anything else (it can't be empty).
    3. Select "Use password-less key-based authentication".
    4. Restart SeedSync

Using SSH Keys with Docker

  1. Generate a SSH private/public key pair if you haven't already. Here is a simple tutorial that walks you through this process.

  2. Include the following option with your docker command:

    -v <path to .ssh directory>:/home/seedsync/.ssh
    

    Most commonly this should be:

    -v ~/.ssh:/home/seedsync/.ssh
    

Note

If you are running the docker guest with a non-standard user using the --user option, then you must make sure that your .ssh directory is also readable by that user.

Deb Package (Linux/Ubuntu)

  1. Download the deb package from the latest release

  2. Install the deb package:

    sudo dpkg -i <deb file>
    
  3. During the first install, you will be prompted for a user name: Install prompt for username This is the user under which the SeedSync service will run. The transferred files will be owned by this user. It is recommended that you set this to your user (and NOT root).

  4. After the installation is complete, verify that the application is running by going to http://localhost:8800 in your browser.

  5. Go to the Settings page and fill out the required information. While password-based login is supported, key-based authentication is highly recommended! See the Key-Based Authentication Setup section for details.