EPICS Record Synchronizor Server Configuration Environment
Configuration Environment for the recsync server (aka. RecCeiver) at https://github.com/ChannelFinder/recsync/tree/master/server
In order to download, install, setup all relevant components, one should do many steps manually. This repository was designed for the easy-to-reproducible environment for recsync server (aka RecCeiver).
SUDO
permissionconda
, pip
, or whatever python tools, because we would like to install RecCeiver
in a specific local directory instead of any Python related paths. This approach gives users, who may not be familiar with many Python environments, to focus only RecCeiver
. I am sure that users should learn million different and continuous evolving Python environments later if one would like to use it within them. RecCeiver
with ChannelFinder, pyCFClient Python application [1] or package is required. The repository [1] was already integrated into the current repository. Thus one doesn’t need to care about it.Note that sqlite3
may not be necessary if one would like to test it with ChannelFinder directly.
sudo apt install sqlite3 python-twisted python-requests python-simplejson python-urllib3
sudo yum install sqlite python-twisted-web python-requests python2-simplejson python-urllib3
sudo dnf install sqlite python3-twisted python-requests-futures python3-simplejson python3-urllib3
sudo update-alternatives --set python /usr/bin/python3
sudo dnf install sqlite python3-twisted python-requests-futures python3-simplejson python3-urllib3
Python 2.7.16 (default, Oct 10 2019, 22:02:15)
[GCC 8.3.0] on linux2
$ python
Python 3.8.2 (default, Feb 28 2020, 00:00:00)
[GCC 10.0.1 20200216 (Red Hat 10.0.1-0.8)] on linux
make
make init
$(SRC1_TAG)
for recsync and $(SRC2_TAG)
for pyCFClinet in configure/RELEASE
make install
sudo
permission is required.recceiver
and a group id 65534
into a host system. Note that nogroup
is valid only for Debian.recsync/server
and pyCFClient
into defined a local installation path INSTALL_LOCATION
in configure/RELEASE
make distclean
make vars
make PRINT.VARIABLE_NAME
to print out them. For example, make PRINT.INSTALL_LOCATION
.Note that this example has the assumption which ES service is running.
make init
make install
sudo systemctl start recsync.service
systemctl status recsync.service
Please consult two files in configure
path, such as RELEASE
and CONFIG_SITE
. There are few comments on there. If you are familiar with the standard EPICS building system [3], it should be easy to understand them, because we mimic that concept into this repository.
See docs/Docker.md
Modify any configuration files, and then run the following command:
make restart
sudo systemctl start recsync.service
systemctl status recsync.service
If one installs this at the first time, or reinstall from scratch, for example, make restart
, one has to start its systemd service one more time, because of the issue mentioned in https://github.com/ChannelFinder/recsync/issues/37.
There are two important configuration files, which are configured carefully. One is site-template/recsync.conf.in
and the other is site-template/channelfinderapi.conf
. Especially, one should use the same and correct information in channelfinderapi.conf
in order to match with its ChannelFinder configuration. For example, user name and its password should be matched with https://github.com/ChannelFinder/ChannelFinder-env/blob/master/site-template/cf4als.ldif.
[1] https://github.com/ChannelFinder/pyCFClient