Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
doc:docker [2015/09/17 17:32] – [Setting up Experiment Logs] daniel86 | doc:docker [2020/03/09 13:55] – [Setting up admin user] daniel86 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | This page collects information on the installation and usage of KnowRob with [[http:// | + | This page collects information on the installation and usage of openEASE, a web-service based on [[http:// |
+ | You can follow the steps described here for any Ubuntu version that has docker independently of the Ubuntu version running inside of openEASE. | ||
- | ===== Installing the Docker | + | ===== Installing |
- | Install Docker following the instructions at https:// | + | |
- | curl -sSL https://get.docker.io/ | + | Firefox is by far the most tested browser. Packages in ubuntu repositories should work with KnowRob. |
- | sudo gpasswd -a ${USER} docker | + | If you don't already have firefox installed, you can do so by calling: |
- | sudo service docker restart | + | sudo apt-get install firefox |
+ | |||
+ | Alternatively, | ||
+ | |||
+ | When the Browser is installed check that [[https:// | ||
+ | |||
+ | ===== Installing the docker | ||
+ | Install Docker following the instructions at https:// | ||
After installation, | After installation, | ||
- | **// | + | In addition, you will need to install |
+ | Install instrucitons | ||
- | ===== Installing | + | ===== Installing |
- | The next step is to clone the KnowRob Docker | + | The next step is to clone the openEASE |
- | git clone --recursive | + | git clone https:// |
- | cd docker | + | |
- | ./ | + | |
- | ===== Setting up WebSocket | + | ===== Setting up WebSocket |
Clients can communicate with the openEASE webserver using SSL encryption. | Clients can communicate with the openEASE webserver using SSL encryption. | ||
For local testing you can generate a certificate with following commands: | For local testing you can generate a certificate with following commands: | ||
- | cd ./nginx-proxy/certs/ | + | cd ./openease/certs/ |
./ | ./ | ||
- | **// | + | **// |
- | ===== Setting up Experiment Logs ===== | + | ===== Setting up experiment logs ===== |
+ | |||
+ | **NOTE: this is subject of change, experiment logs will be inserted differently soon (DB 08/19)** | ||
Experiment logs can be downloaded via a public FTP server that is hosted in the network of | Experiment logs can be downloaded via a public FTP server that is hosted in the network of | ||
Line 38: | Line 48: | ||
The openEASE server requires experiments to be available in the local filesystem. | The openEASE server requires experiments to be available in the local filesystem. | ||
In order to download all experiments, | In order to download all experiments, | ||
- | wget -r ftp:// | + | wget --mirror --no-host-directories -P episodes |
- | mv ./ | + | |
Finally, the server needs to know where the episodes are located in the local filesystem. | Finally, the server needs to know where the episodes are located in the local filesystem. | ||
Line 51: | Line 60: | ||
The volume container is automatically created based on the environment variable next time you start the openEASE webserver. | The volume container is automatically created based on the environment variable next time you start the openEASE webserver. | ||
- | ===== Setting up Admin User ===== | + | ===== Setting up admin user ===== |
The admin user is automatically created when the webserver starts for the first time. | The admin user is automatically created when the webserver starts for the first time. | ||
- | The password is taken from an environment variable. Please add following environment variable to your .bashrc | + | The default |
- | and replace ' | + | |
- | export OPENEASE_ADMIN_PASSWORD=" | + | |
- | **// | ||
- | ===== Setting up Password Recovery | + | ===== Selecting a ROS distribution ===== |
+ | |||
+ | openEASE depends on rosjava. There are ubuntu packages available for ROS **hydro** and **indigo**. | ||
+ | indigo is used by default, but you can change the ROS distribution by extending your environment: | ||
+ | export OPENEASE_ROS_DISTRIBUTION=" | ||
+ | |||
+ | ===== Setting up mesh repositories ===== | ||
+ | **NOTE: this is subject of change, meshes will be part of episodic memory soon (DB 08/19)** | ||
+ | |||
+ | Meshes can be downloaded from custom **git** or **svn** repositories. | ||
+ | This information must be included in the environment, | ||
+ | export OPENEASE_MESHES=" | ||
+ | export OPENEASE_MESHES=" | ||
+ | export OPENEASE_MESHES=" | ||
+ | export OPENEASE_MESHES=" | ||
+ | |||
+ | ===== Setting up remote login (optional) ===== | ||
+ | openEASE allows you to sign in via oAuth. | ||
+ | You have to register the openEASE app and acquire authentication and secret token from the service. | ||
+ | This information must be included in the environment: | ||
+ | export GITHUB_APP_ID " | ||
+ | export GITHUB_APP_SECRET " | ||
+ | export GOOGLE_APP_ID " | ||
+ | export GOOGLE_APP_SECRET " | ||
+ | export FACEBOOK_APP_ID " | ||
+ | export FACEBOOK_APP_SECRET " | ||
+ | export TWITTER_APP_ID " | ||
+ | export TWITTER_APP_SECRET " | ||
+ | |||
+ | ===== Setting up password recovery (optional) | ||
For production servers, you might want a working password recovery mechanism. | For production servers, you might want a working password recovery mechanism. | ||
Line 68: | Line 103: | ||
export OPENEASE_MAIL_PASSWORD=" | export OPENEASE_MAIL_PASSWORD=" | ||
+ | ===== Launching openEASE ===== | ||
+ | openEASE uses // | ||
- | ===== Launching the Web interface ===== | + | |
- | The Web interface runs in its own container. On the one hand, this app provides the Web GUI, on the other hand it manages the container infrastructure, | + | |
- | + | ||
- | ./docker/ | + | |
| | ||
Then you can connect to the Web interface at https:// | Then you can connect to the Web interface at https:// | ||
- | ===== Setting up Mongo Logs ===== | + | ===== Setting up mongo server |
Mongo dumps are included in the episode data downloaded from the FTP. | Mongo dumps are included in the episode data downloaded from the FTP. | ||
Line 85: | Line 119: | ||
A table with a row for each experiment is shown then. Press the " | A table with a row for each experiment is shown then. Press the " | ||
right most column in order to import the mongo logs for one of the experiments. | right most column in order to import the mongo logs for one of the experiments. | ||
+ | |||
+ | |||
+ | ===== Offline openEASE ===== | ||
+ | **NOTE: this is not supported as of 08/19, but the feature will be added again at a later time | ||
+ | ** | ||
+ | |||
+ | openEASE is a webapp and thus components may require active internet connection. | ||
+ | We try to keep our code offline compatible but since external libraries are used, | ||
+ | we can't ensure that all features are working without Internet connection. | ||
+ | We provide a special start script that -- additionally -- starts a dummy DNS server | ||
+ | in order to avoid timeouts when requesting DNS with no active Internet connection | ||
+ | (the dummy DNS server maps all domains to localhost). | ||
+ | |||
+ | Without active Internet connection, execute following call instead of calling ' | ||
+ | |||
+ | ./ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Administration ===== | ||
+ | |||
+ | ==== PostgresDB === | ||
+ | |||
+ | Get a bash console in the postgres container | ||
+ | docker exec -it postgres_db bash | ||
+ | |||
+ | Start '' | ||
+ | psql --username=docker | ||
+ | |||
+ | Write SQL statements, e.g., add a column in the user table | ||
+ | ALTER TABLE public.user ADD column_name character varying(50) NOT NULL DEFAULT ''; | ||
+ | |||
+ | Or update text of the '' | ||
+ | UPDATE tutorial SET text=E' | ||
+ | |||
===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
Line 108: | Line 177: | ||
With Ubuntu, you can stop the server by executing following command: | With Ubuntu, you can stop the server by executing following command: | ||
sudo service mongodb stop | sudo service mongodb stop | ||
+ | | ||
==== Other docker problems ==== | ==== Other docker problems ==== |