Additional services

4 min read Updated 2 weeks ago

Additional services

Ploi Cloud offers specialized container services beyond standard databases and caches for more flexibility.

Available services

Chrome Headless

Chrome Headless provides a headless Chrome browser for web scraping, screenshot generation, and PDF creation.

Use cases:

  • Web scraping and automation
  • PDF generation from web pages
  • Screenshot capture
  • Browser testing

Environment variables injected:

  • CHROME_HEADLESS_URL - Full URL to the service
  • CHROME_HEADLESS_HOST - Service hostname
  • CHROME_HEADLESS_PORT - Port 3000
  • BROWSERLESS_URL - Alternative URL variable

Settings you can change:

  • BLOCK_ADS - Blocks third party ad requests in every browser session. Ad blocking is on unless you set this to false
  • DEFAULT_BLOCK_ADS - Ad blocking default for sessions that do not pass a blockAds option themselves
  • CONNECTION_TIMEOUT - Connection timeout in milliseconds, 60000 by default
  • MAX_CONCURRENT_SESSIONS - Maximum concurrent browser sessions, 10 by default
  • TOKEN - Authentication token for API access

Both ad blocking settings only accept true or false, and saving anything else gives you an error such as "BLOCK_ADS must be true or false." Leave them empty to keep ad blocking on.

ClickHouse

ClickHouse is a fast column-oriented database optimized for analytics and big data workloads.

Use cases:

  • Real-time analytics
  • Log analysis
  • Time-series data
  • Data warehousing

Environment variables injected:

  • CLICKHOUSE_URL - HTTP connection URL
  • CLICKHOUSE_HOST - Service hostname
  • CLICKHOUSE_PORT - HTTP port 8123
  • CLICKHOUSE_NATIVE_PORT - Native protocol port 9000

Gotenberg

Gotenberg provides a stateless API for converting HTML, Markdown, and Office documents to PDF.

Use cases:

  • Invoice generation
  • Report creation
  • Document conversion
  • Print-ready PDF generation

Environment variables injected:

  • GOTENBERG_URL - Full URL to the service
  • GOTENBERG_HOST - Service hostname
  • GOTENBERG_PORT - Port 3000

Meilisearch

Meilisearch is a lightning-fast search engine with typo tolerance.

Use cases:

  • Full-text search
  • Product search
  • Documentation search
  • Instant search suggestions

Environment variables injected:

  • MEILISEARCH_URL - Full URL to the service
  • MEILISEARCH_HOST - Service hostname
  • MEILISEARCH_PORT - Port 7700
  • MEILISEARCH_KEY - Master key for authentication
  • MEILI_MASTER_KEY - Alternative master key variable

Typesense

Typesense is a fast, typo-tolerant open source search engine.

Use cases:

  • Full-text search
  • Product search
  • Instant search-as-you-type experiences
  • Laravel Scout search backend

Environment variables injected:

  • TYPESENSE_URL - Full URL to the service
  • TYPESENSE_HOST - Service hostname
  • TYPESENSE_PORT - Port 8108
  • TYPESENSE_PROTOCOL - Protocol (http)
  • TYPESENSE_API_KEY - API key for authentication

Adding a service

  1. Open your application and find the "Custom services" card
  2. Use the add button on that card
  3. Select the service type from the available options
  4. Give the service a name and choose a version if multiple are available
  5. Open "Advanced settings" to change any of the optional settings, or leave them empty to keep the defaults
  6. Click "Create service"

Changing settings of a service

You can change the settings of a service after it has been created.

  1. Open the menu on the service in the "Custom services" card
  2. Choose "Edit resources"
  3. Under "Service configuration", open "Advanced settings"
  4. Change the fields you want and click "Update resources"

Only the fields you actually changed are saved, so anything you leave untouched keeps its current value. Clearing a field puts the setting back to its default. Saving restarts that one service so it picks up the new values, which means any sessions or connections it is handling at that moment are dropped. Your application itself is not redeployed.

Settings per service:

  • Chrome Headless: BLOCK_ADS, DEFAULT_BLOCK_ADS, CONNECTION_TIMEOUT, MAX_CONCURRENT_SESSIONS, TOKEN
  • Gotenberg: LOG_LEVEL, DEFAULT_WAIT_TIMEOUT, DEFAULT_WAIT_DELAY
  • Meilisearch: MEILI_ENV, MEILI_LOG_LEVEL
  • Typesense: TYPESENSE_ENABLE_CORS, TYPESENSE_LOG_LEVEL

Settings you cannot change afterwards:

  • MEILI_MASTER_KEY and TYPESENSE_API_KEY are generated when the service is created and injected into your application, so they are not shown as editable fields
  • CLICKHOUSE_USER, CLICKHOUSE_PASSWORD and CLICKHOUSE_DB are applied when the service is first created, so ClickHouse shows no editable settings afterwards

The same settings can be set through infrastructure as code, in the settings block of a container service.

Request new services

Need a service that's not yet available? You can request new services to be added to Ploi Cloud via our roadmap at roadmap.ploi.cloud.