PicApport Installation Guide
PicApport has been written in the Java programming language.
The good news: The PicApport server runs on almost every modern operating system.
The bad news: Because of the high number of installation options for us it’s not possible to document all installation details for all operating systems.
We are happy to receive any information or experience with the installation of PicApport that we can publish and share with other users.
Thanks to some PicApport users we have already received a lot of information that we publish in this guide.
Supported Java-Runtime Version
PicApport Version | Java 8.x | Java | Java | Java |
---|---|---|---|---|
7.2.x and older | yes | – | – | – |
7.3.0 | yes | yes | yes | – |
7.x, 8.x and 9.0 | yes | yes | yes | yes*1 |
since 9.1*2 | yes | yes | yes | yes*2 |
*1: Remarks for Java version 11 and later Example start command for picapport.jar with Java 11: java -cp d:\java\FX\javafx-sdk-11\lib\*;picapport.jar -Xms2048m -Xmx2048m de.contecon.picapport.PicApport | ||||
*2: Remarks for the PicApport-Server-GUI introduced in PicApport version 9.1 (picapport-headless.jar is not affected) Since version 9.1 the PicApport-Server-GUI runs without Java FX which was removed from Java Runtime since Java 11. |
Hardware Requirements for the Server
Photo collections are real data monsters. Depending on the number of photos and concurrent users we recommend at least 512 MB free memory for the server.
We strongly recommend a 64-Bit JVM.
Important
If PicApport is not installed with the Windows-Installer then the memory configuration must be set while starting the PicApport Server. (e.g. java -Xms512m -Xmx1024m
)
For examples see: PicApport-Server Guide or How can I control the memory that PicApport uses?
Oracle documentation see: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
Experience values (reported by PicApport users) | ||||||
---|---|---|---|---|---|---|
Memory settings | Java-JM | Operating system | PicApport Version | Number of photos | Concurrent users | Remarks |
Version 8.0.x | ||||||
-Xms512m -Xmx1024m | openjdk version „1.8.0_222“ OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~16.04.1-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode) | OS: Linux Mint Mate 18.3 64bit Sylvia 8GB / Intel J3355 Celeron® 2×2,0GHz | V8.0.00 PicApport-headless.jar | 1000-5000 | 2-10 | Sync-Software Seafile 55% memory usage without accesses |
Version 7.3.0 | ||||||
-Xmx800m -Dstorage.diskCache.bufferSize=1024 | Java(TM) SE Runtime Environment (build 1.8.0_72-b15) | Debian GNU/Linux 8 (jessie) Intel(R) Pentium(R) CPU G620 @ 2.60GHz 4 GB Memory | 7.3.0 | 95.521 | Send in by user toz.info@gmail.com Start command used for PicApport: $ ulimit -n 500000 && java -Xmx800m -Dstorage.diskCache.bufferSize=1024 -Duser.home=/opt/picapport -jar headless_v730.jar -pserver.port=8080 -probot.root.0.path=/mnt/pics/Bilder/ -pgui.enabled=true -pupload.path=“\$YYYY\$-\$MM\$-\$DD\$/\$TITLE\$“ -pclient.folder.sort=name | |
Before Version 7.3.0 | ||||||
-Xms4048m -Xmx4048m -XX:MaxDirectMemorySize=2g Even if these values work fine for 10 users, | Oracle java version „1.8.0_111“ Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode) | Windows 10 pro 64bit | 6.3.00 | 1.000.000 | 10 | All 1.000.000 photos have been stored on a USB3 connected magnetic harddisk.
|
-Xms2048m -Xmx2048m -XX:MaxDirectMemorySize=2g Even if these values work fine for 10 users, | Oracle java version „1.8.0_111“ | Windows 10 pro 64bit Intel(R) Core(TM) i7-4900MQ CPU 2.80GHz RAM 16GB | 6.2.2 | 400.000 | 10 | All 400.000 photos have been stored on a USB3 connected magnetic harddisk.
|
-Xms512m -Xmx1024m | Oracle Java JRE 1.8.0_102, 64bit | Ubuntu 16.04 LTS, Desktop-Version | 6.2 | 25.000 | 4 | |
-Xms2048m -Xmx2048m | Oracle jre1.8.0_91 64-Bit | Windows 10 Windows 10 | 6.2 6.2 | 50.000 7.000 | 4 10 | Two server installed on one PC |
-Xms1024m -Xmx2048m -Xss4m -XX:MaxMetaspaceSize=128m | 32-Bit | QNAP NAS TS-653 Pro with 8 GB RAM | 6.1 | 100.000 | 100.800 photos and about 11.500 generated thumbnails: 2 hours from start until NotifyStopCrawl. another 3 hours for initial thumbnail creation so far. Almost one GB for the database. |
Installation under Windows
For the installation under Windows we provide a comfortable installer. See Installation of PicApport on a Windows System.
More advanced users or administrators can install PicApport as a Windows service (Daemon). See Installation of PicApport as a Windows-Service.
Of course you can also run PicApport with an existing Java installation under Windows.
ar dapibus leo.
Installation under Linux
- Installation of PicApport under Linux
Contains documentation and downloads
Installation on NAS-Systems
- Installation of PicApport on a QNAP NAS-Server
Contains documentation (pdf) and a qpkg package.
Installation under OS X
Installation in a Docker-Container
The directory structure of the PicApport Server
By default PicApport stores all variable data-files below the home-directory of the current user in the directory .picapport. The name and location of this directory can be changed. See also: PicApport-Server Guide.
Under Windows this is normaly C:\Users\YOUR-USERID\.picapport
Under Linux this is normaly /home/YOUR-USERID/.picapport
If PicApport is started for the first time on a server, this directory will be created automatically and populated with standard default values.
The PicApport directories
Directory Name | Backup remarks | Content |
---|---|---|
Directory Name | Backup remarks | Content |
.picapport | Dynamic configuration data Regular backup recommended |
|
.picapport/cache | Generated | Contains the optional photo cache of PicApport. see also parameter foto.jpg. usecache and foto.jpg.cache.path. |
.picapport/db | Can be deleted anytime before server | Contains the database of PicApport. If not present, the directory and its contents is created automatically when the server starts. |
.picapport/designs | Configuration data | Contains optional designs. See: PicApport – Designs |
.picapport/groovy | PicApport Add-Ons | Contains the Groovy runtime environment and the installed add-ons. See PicApport Add-on Guide |
.picapport/logfiles | Logfiles | Contains server log-files |
.picapport/maildef | Configuration data | Contains configuration files of email subsystem. |
.picapport/photosync | Dynamic data Regular backup recommended | Contains the syncedPhotoIDs.txt file. The IDs that have already been transferred are saved there for the PicApport PhotoSync app. |
.picapport/plugins | Configuration data | Contains optional plugins. See PicApport Plug-in Guide |
.picapport/queries | Dynamic data Regular backup recommended | Contains xml-files of saved dynamic collections.
|
.picapport/themes | Configuration data | Contains theme adjustments for commercial use. |
.picapport/thesaurus | Dynamic data Regular backup recommended | Optional directory. Contains one or more synonym dictionaries. The directory must be created manually. Valid synonym dictionaries are UTF-8 encoded text files with the file extension .pathes Changes to synonym dictionaries or new files are registered and applied each time a crawler is run. A documented sample file can be downloaded via the following link: example_en.pathes |
.picapport/uploadtemp | Temporary data | Directory for temporary files during user uploads. example_en.pathes |
.picapport/users | Dynamic data Regular backup recommended E.g Likes and MyTags introduced in | Contains all files required for the user-management: See PicApport – Usermanagement |
Important
PicApport requires unlimited write access to the directory .picapport.
- Create, change and delete files
- Create, change and delete subdirectories
A detailed description of the directory can be found here: The Directory Structure of the PicApport Server