Qt Automotive Suite Deployment Server Installation
Before you install the dependencies in the Python virtual environment, you need to install the
libssl-dev packages. Then, prepare the virtual environment:
virtualenv -p python2.7 ./venv ./venv/bin/pip install -r requirements.txt
Make sure to adapt the
APPSTORE_* settings in
appstore/settings.py to your environment, before you run the server.
One setting group to note is category icon resizing and decolorization settings. They are:
ICON_DECOLOR is False by default, and it regulates stripping the category icon of color and alpha channel and the subsequent application of the same image as an alpha channel instead.
ICON_SIZE_Y are the maximum icon sizes, icons are scaled in such a way, as not to exceed this size, while keeping the aspect ratio of the icon. Default values are 50x50, so you should be aware that any uploaded icon will be limited to this size, unless the server is reconfigured.
Since package downloads are done through temporary files, you need to setup a cron-job to remove these temporary files periodically. The cron-job should be triggered every
settings.APPSTORE_DOWNLOAD_EXPIRY/2 minutes; it needs to run:
Before you run
manage.py, source the activation script on the console where you will be using it.
This activation is done once per session only:
Before you run the server, first, you need to prepare the databases. Also, you need to create an administrative user.
./manage.py makemigrations ./manage.py migrate ./manage.py createsuperuser
Make sure that the server has a user added for Neptune 3 UI's Downloads App. Currently the username and password are hardcoded in
To start the server, run the following command in your terminal:
./manage.py runserver 0.0.0.0:8080
This command starts the server on port 8080, and is reachable by anyone. You can replace the listening address with another one that suits your use case.
- Clean up the downloads directory:
This command removes all files from the downloads directory, that are older than
settings.APPSTORE_DOWNLOAD_EXPIRYminutes. Ideally, this command should be run via a cron-job.
- Manually verify a package for upload:
./manage.py verify-upload-package <pkg.appkg>
This command verifies if
<pkg.appkg>is a valid package that can be uploaded to the Downloads app.
- Manually add a store signature to a package:
./manage.py store-sign-package <in.appkg> <out.appkg> [device id]
This command first verifies the
<in.appkg>. If this verification succeeds,
<in.appkg>is copied over to
<out.appkg>and a store signature is added. The optional
[device id]parameter locks the generated package to the device with this ID.
© 2020 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.