PicApport has been written in the Java programming language.
The good news: The PicApport server runs on almost every modern operating system platform .
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 | 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 | yes *2,*3 |
since 10.2*2 | yes | yes | yes | yes*2 | 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. | |||||
*3: Remarks for Java version 16 and later For Java version 16 or higher, PicApport version 10.2 or higher must be used. (Release of 10.2 is expected in November 2021) For all PicApport versions before 10.2 a Java version smaller than 16 must be used. IMPORTANT for Add-ons: To use PicApport add-ons on Java versions >= 16, Goovy with at least version 3.0.9 (apache-groovy-binary-3.0.9.zip) must be installed in the .picapport/groovy directory (delete old apache-groovy-*.zip) see also |
Hardware Requirements for the Server
Photo collections are real data monsters. Depending on the number of photos and concurrent users we recommend at least 1024 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 -Xmx2048m
)
Only here you can see how much memory the PicApport server can really use. The line looks e.g. like this:
MSG @ 13:04:19.646 java.runtime totalMemory=1073mb maxMemory=14520mb freeMemory=1057mb processors=16
We recommend for maxMemory at least 1024mb better much more (this depends of course on the number of concurrent users, number of photos etc.)
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® 2x2,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 | Zwei Server auf einem 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.
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. Backup remarks Regular backup recommended 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. Dynamic data Regular backup recommended Regular backup recommended Contains xml-files of saved dynamic collections. .picapport/themes 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 Directory for temporary files during user uploads. example_en.pathes Regular backup recommended E.g Likes and MyTags introduced inThe PicApport directories
Directory Name Content .picapport Dynamic configuration data
Server configuration. Documentation of the parameters see: PicApport-Server Guide
Keystore. Generated automatically if SSL is configured.
Internal lock file (used to prevent that server is started multiple times)
Optional license file for commercial users.picapport/cache Generated Contains the optional photo cache of PicApport. see also parameter foto.jpg. usecache and foto.jpg.cache.path. .picapport/db
is started. If it does not exist it will be
generated.
All contents of the database are generated exclusively from the photo metadata. The db directory therefore must not be saved..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 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
Subdirectories:Configuration data Contains theme adjustments for commercial use. .picapport/thesaurus Dynamic data
.picapport/uploadtemp Temporary data .picapport/users Dynamic data
version 7 will be stored here.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
Eine detaillierte Beschreibung der Verzeichnisstruktur findet sich hier: Die Verzeichnisstruktur des PicApport Servers