# Containerized Services ##### last updated on: May 16, 2023 ## Introduction Access Anywhere comprises a set of services running in one or more Linux hosts, usually virtual hosts. Until version 1906 each of the services was a //native// service running directly on top of the CentOS operating system. Starting with v1906, new services are being introduced in //containerized// form and old services are being converted to containerized form. Eventually, most or all of Access Anywhere's required and optional services will be delivered as containers. Each of Access Anywhere's containerized services consists of one or more Docker containers. Services are defined and managed using Docker Compose. Docker With Docker Compose, each service can be started and stopped as a unit. Compose takes care of starting and stopping the containers that make up the service. ## Containerized Service Configuration Each Access Anywhere containerized service is described in a configuration file called .yaml. These configuration files are stored in directories in: ``` /var/www/smestorage/containers/ ``` There is a directory for each service. Depending on the service, there may also be additional configuration files in the service's directory. ## Available Containerized Services (Note that some services require enablement in Access Anywhere's license key.) ^ Access Anywhere service ^ Docker Compose service name ^ Access Anywhere volume ^ |CIFS Locking|cifs-locker| | |Content Extraction and Transcoding|content-extraction|/tmp| |Document Previewer|document-previewer| | |Keycloak (deprecated) |keycloak| | |Redis|redis| /usr/local/etc/redis/redis.conf | |Content Indexing|solr|/var/solr| |Content Indexing Replication|solr-replicas| | |PDF Burner|pdfburner| | |CloudFTP|cloudftp| | |Memcache|memcached| | As of July 2022 containerized Memcache is available for manual installation as described [[server:memcached-upgrade|here]]. ## Checking Status of Containerized Services To check the status of a containerized service, become root and cd to the service's configuration directory. Then use: ``` docker-compose ps ``` ## Starting and Stopping Containerized Services To stop a containerized service, become root and cd to the service's configuration directory. Then use: ``` docker-compose down ``` For example: ``` root@appliance:/var/www/smestorage/containers/redis # docker-compose down Removing redis_redis_1 ... done Removing network redis_default root@appliance:/var/www/smestorage/containers/redis # ``` To start a containerized service, become root and cd to the service's configuration directory. Then use: ``` docker-compose up -d ``` For example: ``` root@appliance:/var/www/smestorage/containers/redis # docker-compose up -d Creating network "redis_default" with the default driver Creating redis_redis_1 ... done root@appliance:/var/www/smestorage/containers/redis # ``` ## Accessing Logs for Containerized Services Each containerized service consists of one or more containers. Logs are accessed at the container level, not the service level. To see the containers that make up a containerized service, first run "docker -ps" as root from the service's directory. The container names are listed in the leftmost column, for example: {{ ::container_names.png?800 |}} To tail the log for a container, run this command: docker logs -f substituting the name of the container for .