fablab-server
fablab-server is a REST server based on Dropwizard which is currently used by the following apps:
Build
To build and run the server, just type:
//set environment variables needed for admin authentication
export hostname=<HOSTNAME_OF_YOUR_SERVER>
export USER_ADMIN=<FABLAB_ADMIN_USER>
export PASSWORD_ADMIN=<FABLAB_ADMIN_PASSWORD>
export USER_INVENTORY=<FABLAB_INVENTORY_USER>
export PASSWORD_INVENTORY=<FABLAB_INVENTORY_PASSWORD>
export adminUsername=<DROPWIZARD_ADMIN_USER>
export adminPassword=<DROPWIZARD_ADMIN_PASSWORD>
export openerp_hostname=<OPENERP_HOSTNAME>
export openerp_database=<OPENERP_DATABASE>
export openerp_user=<OPENERP_USER>
export openerp_password=<OPENERP_PASSWORD>
export FABLAB_KEYSTORE_PASSWORD=<SSL_KEYSTORE_PASSWORD>
export FABLAB_TRUSTSTORE_PATH=<PATH_TO_DROPWIZARD_TRUSTSTORE>
export FABLAB_REST_SERVER_TYPE=<SSL_CERT_ALIAS>
export pushAPIkey=<ANDROID_GCM_API_KEY>
export pushServiceURL="https://android.clients.google.com/gcm/send"
export drupalAdmin=<DRUPAL_ADMIN_USER>
export drupalPassword=<DRUPAL_PASSWORD>
export drupalDBUser=<DRUPAL_DB_USER>
export adminPassword=<DRUPAL_ADMIN_PASSWORD>
export drupalPort=<DRUPAL_PORT>
export APN_PASSWORD=<APPLE_PUSH_KEY_PASSWORD>
export apiKey=<PASSWORD_FOR_CHECKOUT_API>
//start the server
./gradlew run
//start the server inside a docker container
sh docker/fablab-server/create.sh && sh docker/fablab-server/start.sh
NOTE : if any environment variable is missing, the server will not start!
The server will listen on port 4433 (SSL) for application requests and port 8081 (SSL) for administrative requests. User credentials for the administrative interface, which is protected by a basic HTTP authentication challenge, have to be provided by the environment variables 'adminUsername' and 'adminPassword'. Passwords and configuration (i.e. for OpenErpClient) can also be supplied in directly config.yml.
Libraries
fablab-server uses the following libraries and software:
- docker-library/mysql/5.6 License: GNU GPL Version 2
- jsonrpc2-client:1.15 License: Apache 2.0
- ical4j:1.0.5 License: (https://github.com/ical4j/ical4j/blob/master/LICENSE)
- jackson-dataformat-xml:2.5.1 License: Apache 2.0
- jsoup:1.8.2 License: MIT License
- cron4j:2.2.5 License: LGPL
- pushy:0.4.3 License: MIT
License
Contact
Feel free to contact us: fablab@i2.cs.fau.de