Page tree
Skip to end of metadata
Go to start of metadata

PicApport has been written in the Java programming language.

The good news: The PicApport server runs on almost every modern operating system platform (smile).
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 (wink).

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
9.x

Java
10.x

Java
11, 12, 13, 14, 15

Java
16  and higher

7.2.x and olderyes---
7.3.0yesyesyes-
7.x, 8.x and 9.0yesyesyes yes*1
since 9.1*2yesyesyes yes*2yes *2,*3
since 10.2*2yesyesyes yes*2yes *2

*1: Remarks for Java version 11 and later
JavaFX is no longer included in the Java Runtime as of Java11. If you use picapport.jar with the ServerGUI under Java 11 you have to integrate JavaFX separately.
(picapport-headless.jar is unaffected)
See also OpenJDK JavaFX Wiki: https://wiki.openjdk.java.net/display/OpenJFX/Main

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.
So from now on the PicApport-Server-GUI can be started on all current Java Runtime versions without JavaFX.
Only the program part for administration of e-mail accounts (very old program part) still needs JavaFX and is only available if a JavaFX is available in the classpath (see above under *1).

*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 PicApport Add-on Installation Guide

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)

Current Java runtimes have quite good default values for the memory configuration. However, we strongly recommend to check the log file after the first start of PicApport.
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
32/64 Bit

Operating systemPicApport VersionNumber of photosConcurrent usersRemarks
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

Shuttle DX30

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=1024Java(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.095.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,
for one million photos we recommend higher values

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
Intel(R) Core(TM) i7-4900MQ CPU 2.80GHz
RAM 16GB

6.3.001.000.00010

All 1.000.000 photos have been stored on a USB3 connected magnetic harddisk.
The .picapport directory was located on the built-in SSD

  • Total photo space on USB-drive: ~2,5TB
  • Size of .picapport directory including db:

-Xms2048m -Xmx2048m -XX:MaxDirectMemorySize=2g

Even if these values work fine for 10 users,
for 400.000 photos we recommend higher values

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
Intel(R) Core(TM) i7-4900MQ CPU 2.80GHz
RAM 16GB
6.2.2400.00010

All 400.000 photos have been stored on a USB3 connected magnetic harddisk.
The .picapport directory was located on the built-in SSD

  • Total photo space on USB-drive: ~920GB
  • Size of .picapport directory including db: 5,3GB

-Xms512m -Xmx1024mOracle Java JRE 1.8.0_102, 64bitUbuntu 16.04 LTS, Desktop-Version6.225.0004
-Xms2048m -Xmx2048m

Oracle jre1.8.0_91 64-Bit
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
and Intel Celeron J1900 (4 cores, 2 GHz)

6.1100.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 on NAS-Systems

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
.picapport

(warning) Dynamic configuration data

Regular backup recommended


  • picapport.properties (encoding=ISO_8859-1)
    Server configuration. Documentation of the parameters see: PicApport-Server Guide
  • picapport.ks
    Keystore. Generated automatically if SSL is configured.
  • PicApport.lck
    Internal lock file (used to prevent that server is started multiple times)
  • palicense.properties
    Optional license file for commercial users
.picapport/cacheGeneratedContains 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
is started. If it does not exist it will be
generated.

Contains the database of PicApport. If not present, the directory and its contents is created automatically when the server starts.
All contents of the database are generated exclusively from the photo metadata. The db directory therefore must not be saved.

.picapport/designsConfiguration dataContains optional designs. See: PicApport - Designs
.picapport/groovyPicApport Add-OnsContains the Groovy runtime environment and the installed add-ons. See PicApport Add-on Guide
.picapport/logfilesLogfilesContains server log-files
.picapport/maildefConfiguration dataContains configuration files of email subsystem.
.picapport/photosync

(Warnung) 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/pluginsConfiguration dataContains optional plugins. See PicApport Plug-in Guide
.picapport/queries

(warning) Dynamic data

Regular backup recommended


Contains xml-files of saved dynamic collections.
Subdirectories:

  • user - Further subdirectories with user-specific collections
  • roles - Further subdirectories with role-specific collections

.picapport/themes

Configuration dataContains theme adjustments for commercial use.
.picapport/thesaurus

(warning) 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/uploadtempTemporary data

Directory for temporary files during user uploads. example_en.pathes

.picapport/users

(warning) Dynamic data

Regular backup recommended

E.g Likes and MyTags introduced in
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

  • No labels