Valkey
Deploy Valkey, an open source in-memory key-value data store that supports caching, message queues, and primary database workloads. This app deploys Valkey with TLS support and generates client certificates for secure access.
Note: While Valkey is a fork of a production-ready 7.2.4 release of Redis, the Valkey codebase is still early in development and is subject to change as development takes place. Follow the release cycles for any breaking changes to minimize downtime in a production environment.
1. Deploy Valkey
Follow the deployment instructions from the Get started section to configure the app, deploy it, and verify software installation.
For information on the app-specific configurations, see the Configuration options section.
Base distribution and plan
- Supported distribution: Ubuntu 24.04 LTS
- Recommended plans: All plan types and sizes can be used. For best results, use at least an 8GB Dedicated CPU or Shared Compute Instance.
Configuration options
Configure the required options to deploy your instance. For additional customization, add advanced options.
The table maps the Cloud Manager UI fields to their corresponding API/CLI keys (stackscript_data) required for automated deployments.
StackScript ID: 1403815
| UI field | API/CLI key | Description |
|---|---|---|
| Required options | ||
| Limited sudo user | user_name | Your preferred username for the limited sudo user entered without any capital letters, spaces, or special characters. When adding a limited sudo user, the user is created with a strong generated password for your new Linode instance, and the account is assigned to the sudo group, which provides elevated permissions when running commands with the sudo prefix.Note: For easier and more secure access with the sudo user, add an account SSH key for the Cloud Manager user during deployment and select that user as an |
| SSL Information | sslheader | Set to Yes by default. This requires providing details for a self-signed TLS/SSL certificate, like country, town, organization, and email address. |
| Country or region | country_name | Applies to a self-signed TLS/SSL certificate. The country or region for you or your organization. When using the API/CLI, specify it as a two-letter ISO country or region code. |
| State or province | state_or_province_name | Applies to a self-signed TLS/SSL certificate. The state or province for you or your organization. |
| Locality | locality_name | Applies to a self-signed TLS/SSL certificate. The town or other locality for you or your organization. |
| Organization | organization_name | Applies to a self-signed TLS/SSL certificate. The name of your organization. |
| Email address | email_address | Applies to a self-signed TLS/SSL certificate. The email address used for a certificate file. |
| CA Common Name | ca_common_name | Applies to a self-signed TLS/SSL certificate. A common name for the certificate authority. For example, Valkey CA. |
| Version of Valkey to install | valkey_version | The Valkey version to install. Current value is 8.0.1. |
| Number of clients connecting to Valkey | client_count | The number of clients that will be connecting to the cluster. The application will create SSL certificates for your client that need to connect to the cluster. This should be an integer equal to or greater than 1. |
| Advanced options | ||
| Disable root access over SSH | disable_root | Applies to a limited sudo user. To block the root user from logging in over SSH, select Yes. Defaults to No. Note: When you disable the root user from logging in over SSH and don't provide a valid Account SSH Key assigned to the |
| Optional data exporter Add-ons | add_ons | An option to include add-ons for your deployment. Possible values are:
|
Note: After the app deployment completes, the password for your limited sudo user is generated and stored in the
.credentialsfile in the home directory, along with Valkey credentials. Log in to your instance asrootthrough the Lish console or SSH, then runcat /home/$USERNAME/.credentialsto view its contents.
Use API, CLI, or Terraform
In addition to deploying the app to a new Linode instance via Cloud Manager, you can also use the Linode API, CLI, or Terraform. When running the operation, you need to provide the StackScript ID, supported Linux distribution, and app-specific fields along with the standard Linode deployment configurations.
Note: Generate a personal access token to authenticate your API, CLI, or Terraform requests.
curl --location 'https://api.linode.com/v4/linode/instances' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer abc123def456hij789klm' \
--data-raw '{
"region": "us-east",
"type": "g6-standard-2",
"image": "linode/ubuntu24.04",
"label": "my-valkey-one-click-app",
"root_pass": "@C0mpl3x#P@ssw0rd",
"stackscript_id": 1403815,
"stackscript_data": {
"user_name": "jsmith",
"country_name": "US",
"state_or_province_name": "Massachusetts",
"locality_name": "Cambridge",
"organization_name": "Akamai Technologies",
"email_address": "jsmith@example.com",
"ca_common_name": "Valkey CA",
"valkey_version": "8.0.1",
"client_count": "1"
}
}'linode-cli linodes create \
--region us-east \
--type g6-standard-2 \
--label my-valkey-one-click-app \
--image linode/ubuntu24.04 \
--root_pass @C0mpl3x#P@ssw0rd \
--stackscript_id 1403815 \
--stackscript_data '{"user_name":"jsmith", "country_name":"US", "state_or_province_name":"Massachusetts", "locality_name":"Cambridge", "organization_name":"Akamai Technologies", "email_address":"jsmith@example.com", "ca_common_name":"Valkey CA", "valkey_version":"8.0.1", "client_count":"1"}'resource "linode_instance" "my-linode" {
region = "us-east"
type = "g6-standard-2"
label = "my-valkey-one-click-app"
image = "linode/ubuntu24.04"
root_pass = "@C0mpl3x#P@ssw0rd"
stackscript_id = 1403815
stackscript_data = {
"user_name" = "jsmith"
"country_name" = "US"
"state_or_province_name" = "Massachusetts"
"locality_name" = "Cambridge"
"organization_name" = "Akamai Technologies"
"email_address" = "jsmith@example.com"
"ca_common_name" = "Valkey CA"
"valkey_version" = "8.0.1"
"client_count" = "1"
}
}2. Access Valkey
-
Connect to the compute instance using either
rootor the sudo user created during deployment if you provided account SSH keys. -
To access the TLS-encrypted Valkey database, path arguments must be provided to
valkey-cli. The directory paths are provided in the message of the day (MOTD).********************************************************* Akamai Connected Cloud Valkey Quick Deploy App Credentials File: /home/$SUDO_USER/.credentials Valkey Configuration Directory: /etc/valkey/ Valkey Configuration File: /etc/valkey/valkey.conf Valkey SSL directories: /etc/valkey/ssl/[ca,certs,keys,reqs] Valkey Install directory: /var/valkey Valkey Data Directory: /var/valkey/data Valkey SRC: /var/valkey/lib/[...] Valkey DEFAULT Configuration File: /var/valkey/lib/valkey.conf Documentation: https://techdocs.akamai.com/quick-deploy-apps/docs/valkey ********************************************************* To delete this message of the day: rm /etc/motd -
Access the Valkey database from the compute instance using the
valkey-clicommand.valkey-cli --tls --cacert /etc/valkey/ssl/ca/ca.crt --cert /etc/valkey/ssl/certs/client1.crt --key /etc/valkey/ssl/keys/client1.key.pemThis enters the Valkey interface and allows you to authenticate as either the
defaultuser or thesudouser. Thesudouser is created during deployment using the passwords provided in the.credentialsfile.
Valkey is deployed to listen only on a 127.0.0.1 loopback. You may need to add additional configurations to Valkey and the firewall to connect to external clients and resources.
Additional resources
For more information about the installed packages, see their official documentation.
Note that we can't vouch for the accuracy or timeliness of externally hosted resources.
Updated 19 days ago
