Phrase On-Premise Requirements

Phrase On-Premise Requirements

Phrase On-Premise is shipped as a Docker image containing our Ruby application. Phrase On-Premise can be deployed on Docker-compatible host systems or within a compatible virtualized system. Beside the Ruby application, several external services are required. If you do not have these services available within your hosting infrastructure, we offer basic guides to running them within docker for your convenience

Required external services

  • MySQL 5.5 or newer: Phrase stores all data inside a MySQL database. You can configure the database to use in the “DATABASE_URL” config variable. The used database has to be created with utf8mb4 character set. You must allow sufficient rights to execute database migrations, e.g. use “GRANT ALL ON phraseapp.*” or limit to appropriate rights, but make sure to monitor startup errors from the Phrase process for privilege errors like “Select command denied to user” or similar.
    Note: For native emoji support MySQL 5.7 is required.
  • ElasticSearch >= 6.0.1: Phrase On-Premise will create indices starting with the prefix “phrase_…” during installation.
  • SMTP/Mail-Server: Required to send notifications and alerts to users.
  • Redis 2.8 or newer: Data caching.
  • (optional) RabbitMQ 3.0 or newer: Background processing (requires Phrase On-Premise 3.6.1 or higher)

Additionally, we recommend setting up Syslog or a similar service to receive application logs for monitoring and troubleshooting purpose.

Hardware Requirements

The following resource recommendations are appropriate for up to 100 users on the system.

Your actual hardware requirements depend highly on your planned usage of the system and our sales team will help you figuring out the necessary dimensions of the system based on these key questions:

  • How many users access the system?
  • How large are your project’s locale files?
  • How frequently do users upload and download data?

2 GB
File System
20 GB
Database Storage
20 GB
Elasticsearch Storage
10 GB
Redis Storage
1 GB

Incoming Ports

You can decide whether to expose the Ruby application running inside the Phrase On-Premise Docker container directly to the external interface of your Docker host or not. For example you can use a local web server to relay requests to the application and terminate TLS connections. The port you use for incoming requests is up to your configuration preferences, standard for HTTP would be 80 and for HTTPS 443. The Ruby application inside the container binds to the internal container port 8080.

Outgoing Ports

The container must be able to access the ports of external services. We list the services’ standard ports for convenience, your local port configuration may be different:

(Default) Port 3306
(Default) Port 6379
(Default) Port 9200
(Default) Port 25
(Default) Port 514/UDP

(Default) Port 5672
RabbitMQ (optional, requires Phrase On-Premise 3.6.1 or higher)

(Default) Port 15672
RabbitMQ HTTP API (optional, requires Phrase On-Premise 3.6.1 or higher)