Skip to content

007revad/Synology_app_mover

Repository files navigation

Synology app mover

Donate committers.top badge

Description

Easily move Synology packages from one volume to another volume

You just select the package and the destination volume and the script will stop the app, move it, update the symlinks then start the app.

Handy for moving packages to an SSD volume, or to another volume so you can delete the original volume.

NEW Now includes Backup and Restore modes.

  • Supports DSM 7. Not fully tested with DSM 6.
  • If backing up to a USB drive the partition's file system should be ext3, ext4 of btrfs.

Packages confirmed working

NOTE: Just in case, you should backup your docker compose files or portainer stacks.

Click here to see list

The icons in this table are Copyright © 2004-2024 Synology Inc. or Copyright the 3rd party package developer.

Package Center Name System Name Result
Active Backup for Business ActiveBackup OK
Active Backup for Google Workspace ActiveBackup-GSuite OK
Active Backup for Microsoft 365 ActiveBackup-Office365 OK
Advanced Media Extensions CodecPack OK
AntiVirus by McAfee AntiVirus-McAfee OK
AntiVirus Essential AntiVirus OK
Apache HTTP Server 2.4 Apache2.4 OK
Audio Station AudioStation OK
AvrLogger AvrLogger OK - community package link
Bitdefender for MailPlus BitDefenderForMailPlus OK I think
C2 Identity LDAP Server C2IdentityLDAPAgent OK
Central Management System CMS OK
Channels DVR ChannelsDVR OK - 3rd party package link
Cloud Sync CloudSync OK
Container Manager ContainerManager OK
DNS Server DNSServer OK
Docker Docker OK
Document Viewer DocumentViewer OK
Download Station DownloadStation OK
Emby Server EmbyServer OK
exFAT Access exFAT-Free OK
FFmpeg ffmpeg# OK - community package
Git git OK - community package
Git Server Git OK
Glacier Backup GlacierBackup OK - Need to run backup task again
Hyper Backup HyperBackup OK
Hyper Backup Vault HyperBackupVault OK
LDAP Server DirectoryServer OK
LogAnalysis LogAnalysis OK - community package link
Log Center LogCenter OK
Mail Station MailStation OK
MariaDB 10 MariaDB10 OK
Media Server MediaServer OK
MediaInfo mediainfo OK - community package
MinimServer MinimServer OK
phpMyAdmin phpMyAdmin OK
Node.js Node.js_v## OK
Note Station NoteStation OK
PDF Viewer PDFViewer OK
Perl Perl OK
PHP PHP#.# OK
Plex Media Server PlexMediaServer OK
Presto File Server PrestoServer OK
Proxy Server ProxyServer OK
Python 3.9 Python3.9 OK
RADIUS Server RadiusServer OK
SMI-S Provider SynoSmisProvider OK
Snapshot Replication SnapshotReplication OK
SSO Server SSOServer OK
Storage Analyzer StorageAnalyzer OK
Surveillance Station SurveillanceStation OK
SynoCli Tools synocli-"toolname" OK - community package
Synology Application Service SynologyApplicationService OK
Synology Calendar Calendar OK
Synology Chat Server Chat OK
Synology Contacts Contacts OK
Synology Directory Server DirectoryServerForWindowsDomain OK
Synology Drive Server SynologyDrive OK
Synology Mail Server MailServer OK
Synology MailPlus MailPlus OK
Synology MailPlus Server MailPlus-Server OK I think
Synology Office Spreadsheet OK
Synology Photos SynologyPhotos OK
Tailscale Tailscale OK
Text Editor TextEditor OK
Universal Viewer UniversalViewer OK
USB Copy USBCopy see moving_extras
Video Station VideoStation OK
Virtual Machine Manager Virtualization OK
VPN Server VPNCenter OK
Web Station WebStation OK
WebDAV Server WebDAVServer OK

Packages not tested

Click here to see list

The icons in this table are Copyright © 2004-2024 Synology Inc. or Copyright the 3rd party package developer.

Package Result / Notes
Archiware P5
BRAVIA Signage Won't install in Container Manager. It checks if Docker is installed
Data Deposit Box
Diagnosis Tool
Domotz Network Monitoring
ElephantDrive
GateOne
GoodSync
IDrive
Jackett community package
Joomla
KodiExplorer
MediaWiki
Medusa community package link
MEGAcmd
Mono community package
NAKIVO Backup and Replication
NAKIVO Transporter
PACS
Photo Station DSM 6
Radarr community package
Ragic Cloud DB
Resilo Sync
Shellinabox community package
Sonarr community package
Syncthing
TeamViewer
Transmission community package
Tvheadend community package
VirtualHere
vtigerCRM
WebTools community package
Wordpress

Download the script

  1. Download the latest version Source code (zip) from https://github.com/007revad/Synology_app_mover/releases
  2. Save the download zip file to a folder on the Synology.
  3. Unzip the zip file.

Set backup location

If you want to use use the backup and restore options you need edit the included syno_app_mover.conf file to set the location to backup to.

The syno_app_mover.conf file must be in the same foller as the syno_app_mover.sh file.

Other options in syno_app_mover.conf

# buffer is used when checking if target volume has enough space
# Add 50 GB buffer so we don't fill the target volume

buffer=50

# The backuppath is only used by Backup and Restore modes
# backuppath should be in the format of /volume/sharename/folder
# For example:
# backuppath="/volume1/backups"
#
# Note: The script will create a syno_app_mover folder in backuppath

backuppath="/volume1/backups"

# Skip backup if previous backup was done less than x minutes ago
# Set to "0" to always backup
# skip_minutes is in minutes

skip_minutes=360

# exclude setting for use when auto="all" option is used to skip specified apps
# For example:
# exclude="ContainerManager"
# exclude="DownloadStation,ContainerManager,HyperBackup"
#
# Note: You need to use the app's system name
# Run syno_app_mover.sh with the --list option to see your app's system names

exclude=

# For Docker or Container Manager's container settings json exports
# Set delete_older to age in days before old exports are deleted
# Set ignored_containers to a list of containers to not export settings
# For example:
# delete_older=7
# ignored_containers="libraspeed-1,netdata"
#
# Note you need use the container's docker name. To see their names via SSH use:
# sudo docker ps -a --format "{{.Names}}"

delete_older=30
ignored_containers=

To run the script via SSH

How to enable SSH and login to DSM via SSH

sudo -s /volume1/scripts/syno_app_mover.sh

Note: Replace /volume1/scripts/ with the path to where the script is located.

Options when running the script

There are optional flags you can use when running the script:

  -h, --help            Show this help message
  -v, --version         Show the script version
      --autoupdate=AGE  Auto update script (useful when script is scheduled)
                          AGE is how many days old a release must be before
                          auto-updating. AGE must be a number: 0 or greater

      --auto=APP        Automatically backup APP (for scheduling backups)
                          APP can be a single app or a comma separated list
                          Examples:
                          --auto=radarr
                          --auto=Calender,ContainerManager,radarr

                          APP needs to be the app's system name
                          View the system names with the --list option

      --list            Display installed apps' system names

Troubleshooting

If the script won't run check the following:

  1. Make sure you download the zip file and unzipped it to a folder on your Synology (not on your computer).
  2. If the path to the script contains any spaces you need to enclose the path/scriptname in double quotes:
    sudo -s "/volume1/my scripts/syno_app_mover.sh"
  3. Make sure you unpacked the zip or rar file that you downloaded and are trying to run the syno_app_mover.sh file.
  4. Set the script file as executable:
    sudo chmod +x "/volume1/scripts/syno_app_mover.sh"

Video - moving Container Manager

video-with-title.mp4

DSM 7 screenshots

Moving a package (with dependencies)


Moving packages with shared folders


Moving a package that has a volume location setting


Moving Active Backup for Business


Backing up Audio Station


Backing up with the --auto option


Output with --list option

Credits

  • wallacebrf for extensive beta testing of syno_app_mover v3.
  • ctrlaltdelete for the code to export Container Manager/Docker container's settings.