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 <service_name>.yaml. These configuration files are stored in directories in:

/var/www/smestorage/containers/<service_name>

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 Lockingcifs-locker
Content Extraction and Transcodingcontent-extraction/tmp
Document Previewerdocument-previewer
Keycloak (deprecated) keycloak
Redisredis /usr/local/etc/redis/redis.conf
Content Indexingsolr/var/solr
Content Indexing Replicationsolr-replicas
PDF Burnerpdfburner
CloudFTPcloudftp
Memcachememcached

As of July 2022 containerized Memcache is available for manual installation as described 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:

To tail the log for a container, run this command:

docker logs -f <container_name>

substituting the name of the container for <container_name>.