Frequently Asked Questions

Here are some most commonly asked questions

Why am I receiving a low credit warning even though auto recharge is enabled?

Users who have credits remaining for less than 7 days receive a low credit warning email once per day.

To avoid this, increase your credit warning limit to a level corresponding to your cash burn rate to satisfy the 7-day credit requirement.

You can change your credit warning limit anytime within your account settings or by visiting https://dash.elest.io/account/payment-options.



 

Can I install more than one software on the same VM?

Our dedicated services are running in complete isolation, so one service equals one VM. Using our CI/CD system, you can install multiple software's on a single VM.

 

Can I migrate/clone my service to another cloud or region?

Yes, you can migrate or clone a running service to any other target cloud or region by simply clicking the "clone" button on the service dashboard.

image.png

 

image.png

image.png

Is it possible to restrict access to my virtual machine (with a firewall)?

Yes, every service has a pre-configured firewall that allows access to the internet through ports specific to certain applications. From the service dashboard, you can easily restrict access to a single or a range of IPs.

Learn more about setting your firewall




What type of support does Elestio offer?

Email and community support via our forum is available to everyone with our Test plan, with no SLA.

Staging Support plans offers a guaranteed response within 2 business days and priority queueing for support tickets, and email support.

Production Support plans offer a guaranteed response within 1 business day, highest priority queueing for support tickets, a dedicated customer success manager, and phone and email support.


Learn more about our support plans


Can my software services communicate between different cloud providers safely?

Every Elestio project establishes a unique and secure encrypted virtual network, allowing services within the project to communicate through private IPv4 addresses.

This communication occurs with nearly line-speed throughput, regardless of location or service provider.

The driving force behind this distinctive capability is Nebula, initially developed by Slack and released as open-source software in 2020. you can learn about nebula from here.

It provides a virtual private cloud (VPC) Isolated per project.

How can I Enable/Disable the Global Private IP?
To toggle the Global Private IP on or off, follow these steps:
  1. Navigate to the services section in the Elestio dashboard using the left sidebar.
  2. Choose your specific service.
  3. Locate the Network row in the same overview tab.
  4. Within the Network row, find the Global Private IP switch on the right side and toggle it to enable or disable the Global Private IP.

image.png

 
How to associate the Service with the Private IP rather than the Public IP?

Taking the example of the MySQL service, if you want to bind it to the Private IP instead of the Public IP, making it accessible only within the global private network of your project in Elestio, follow these steps:

  1. Navigate to the services section in the Elestio dashboard using the left sidebar.
  2. Choose your specific MYSQL service.
  3. Click the "Update Config" button in the Software row on the Overview tab.
  4. Within the docker-compose file, locate the following section:
ports:
    - '24306:3306'

Replace it with: 

ports:
    - 'GLOBAL_PRIVATE_IP:24306:3306'

The value for GLOBAL_PRIVATE_IP 10.xx.xxx.x corresponds to your Global Private IP, and you can locate it in the service details.

      5. Click the "Update & Restart" button to apply the changes.

Afterward, the MySQL port will only be accessible from the internal network through the global private IP address on port 24306.
This setup is akin to a Virtual Private Cloud (VPC), where all other services deployed in the same Elestio project coexist within the same Virtual VPC.

Can I deploy Elestio services on-premise or on my existing cloud infrastructure?

Yes, you can connect any on-premises or cloud VM managed services dashboard with our "Bring Your Own VM" (BYOVM) feature. Any software we provide can be installed on your own infrastructure, and it will be handled just like any other virtual machine (VM) we run on your behalf: backed up, updated, and secured.

Learn more about our BYOWM capability


 

I'm trying to add AWS keys to Elestio but getting an error "You are not authorized to perform this operation" in BYOAWS

This error will appear when adding AWS Access and Secret Credentials keys if your keys do not have AmazonEC2FullAccess access permission on your AWS account.


In order to use these keys, please try to grant permission on your AWS account.

To find out more about generating AWS Access and Secret keys and granting access, see our documentation.

Can I use OUTFILE in Managed MySQL?

Yes it's possible on Elestio. Since we are running MySQL inside a docker container you will have to modify the stack to mount a new volume in the docker-compose. You can edit it with UPDATE CONFIG button from our dashboard

You will have to add a line like this in the mysql container
        - ./files:/var/lib/mysql-files

image.png

Then click on the button "Apply & restart"

After that you can use queries like this:

SELECT * FROM `help_topic` INTO OUTFILE '/var/lib/mysql-files/test1.csv';

and your file test1.csv will be present on the host vm in /opt/app/files/test1.csv

You can access it over SSH / SFTP / File Explorer / VS Code ...

 

If you want to use InFile to import CSV to a Table, you must add another option at end of row 6 (command) of the docker-compose file: 

--local-infile=1
Then also modify the mysql-docker-cli.sh to add "--local-infile" at the end of it
Finally you can start the cli with: 
./opt/app/mysql-docker-cli.sh;
from there you can now load data from CSV with a query like this:
use YOUR_DB_NAME_HERE;
LOAD DATA LOCAL INFILE '/var/lib/mysql-files/yourFile.csv' INTO TABLE yourTableNameHere FIELDS TERMINATED by ',' LINES TERMINATED BY '\n' IGNORE 1 LINES;
You should then see something like:
Query OK, 10634 rows affected, 65535 warnings (0.48 sec)
Records: 10634  Deleted: 0  Skipped: 0  Warnings: 251949

How can I automatically remove system log files in order to free up disk space?

By default, new instances are automatically configured to delete log files on a daily basis.

However, if your virtual machine (VM) does not have these files at /opt/maintenance-daily.sh or if you have deleted them, you can easily configure the deletion process by following the steps below.

To create a script that deletes log files on your VM, begin by accessing the terminal (Open Terminal). You can find it within the service details on the top right side of the dashboard.

Once the terminal is open, copy and paste the provided code below to create the script responsible for deleting log files.

#Create a script to remove logs every day.
echo 'echo "$(tail -c 30m /tmp/appStack.log)" > /tmp/appStack.log' >> /opt/maintenance-daily.sh
echo 'echo "$(tail -c 30m /tmp/externalBackup.log)" > /tmp/externalBackup.log' >> /opt/maintenance-daily.sh
echo 'echo "$(tail -c 30m /var/log/syslog)" > /var/log/syslog' >> /opt/maintenance-daily.sh
echo 'journalctl --vacuum-time=10d --vacuum-size=500M;' >> /opt/maintenance-daily.sh

#Grant the script executable permissions.
chmod +x /opt/maintenance-daily.sh

#To run these scripts every day, create a cron job on the virtual machine.
crontab -l | { cat; echo "0 1 * * * /opt/maintenance-daily.sh"; } | crontab -

You can modify these cron execution times by replacing 0 1 * * * with your own cron execution times.

We keep a 30-mb log file by default, however, you can change the 30m number to something else if you wish to keep a larger log file.

How to resolve the Borg acquire lock in remote backups.

If you see the following error when listing, restoring, or taking manual backups for your Borg remote backups.
Failed to create/acquire the lock /root/.cache/borg/f80e5dfd25cb9/lock.exclusive (timeout).
You may simply solve it by following the instructions below:
borg break-lock BorgRepoName

By using the command, you can determine your BorgRepoName

cd /opt/borg;
cat backupInfo.sh;
#It will return output like these:
BORG_PASSPHRASE=xxxxxxxxxxxxxxxxx borg info ssh://xxxxxxxxxxxx.repo.borgbase.com/./repo;

The ssh://xxxxxxxxxxxx.repo.borgbase.com/./repo; is your Borg repo name. You can use that in the command above.

Example: borg break-lock ssh://xxxxxxxxxxxx.repo.borgbase.com/./repo;

How to resolve the Borg cache error in remote backups.

If you see the following error related to the Borg cache when listing, restoring, or taking manual backups for your Borg remote backups.
Local Exception
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/borg/archiver.py", line 5089, in main
    exit_code = archiver.run(args)
  File "/usr/lib/python3/dist-packages/borg/archiver.py", line 174, in wrapper
    assert_secure(repository, kwargs['manifest'], self.lock_wait)
  File "/usr/lib/python3/dist-packages/borg/cache.py", line 209, in assert_secure
    sm.assert_secure(manifest, manifest.key, lock_wait=lock_wait)
  File "/usr/lib/python3/dist-packages/borg/cache.py", line 174, in assert_secure
    with cache_config:
  File "/usr/lib/python3/dist-packages/borg/cache.py", line 334, in _check_upgrade
    raise Exception('%s does not look like a Borg cache.' % config_path) from None
Exception: /root/.cache/borg/f80e55dff9886465adf97645/config does not look like a Borg cache.
You may simply solve it by following the instructions below:
borg delete --cache-only BorgRepoName

By using the command, you can determine your BorgRepoName

cd /opt/borg;
cat backupInfo.sh;
#It will return output like these:
BORG_PASSPHRASE=xxxxxxxxxxxxxxxxx borg info ssh://xxxxxxxxxxxx.repo.borgbase.com/./repo;

The ssh://xxxxxxxxxxxx.repo.borgbase.com/./repo; is your Borg repo name. You can use that in the command above.

Example:  borg delete --cache-only ssh://xxxxxxxxxxxx.repo.borgbase.com/./repo;

I added fund to my elestio account, but my service is still not running

If your service was suspended due to lack of credits and now it is still inactive even after adding the funds to your elestio account then please follow the below steps to active the inactive services.

If termination protection is enabled on your service, kindly disable it first before proceeding with the action. You can find instructions on how to disable termination protection here

Step 1: Navigate to the elest.io dashboard and access the "Services" option in the left sidebar.

Screenshot 2023-10-05 204817.png

Step 2: Choose the specific service you wish to activate from the list, and within your service details overview, locate the "Power" tab.

image.png

Step 3: Activate the service by clicking the "Power On" button. A confirmation prompt will appear; proceed by clicking the "Accept" button to confirm the action.

image.png

After completing these steps, your service will become active within a matter of seconds.

To prevent service suspension due to insufficient credits, consider enabling the auto-refill setting. For detailed instructions on how to set up auto-refill, please refer to this guide.

Elestio Domain shows SSL expired or Deceptive Site ahead

Current Status: Resolved @ 2023-11-04, 07:11

Resolution: Google unflagged our domain in less than 24h in response to our appeal

 

Date of incident: 2023-11-03, 13:22

Dear Valued Customers,

We want to inform you about an incident that has recently affected our website or your services. Some regions are currently experiencing difficulties accessing our website, as Google has temporarily flagged our domain *.elestio.app as unsafe, resulting in a "Deceptive Site Ahead" warning message. We understand that this may have caused some concern, and we would like to provide you with a clear explanation of the situation.

This issue stems from Google's Safe Browsing program, which is designed to protect users from visiting websites that may pose a risk to their online safety. While we have always prioritized the security and trustworthiness of our website, there has been an unfortunate misunderstanding that led to this warning.

Here's what we have done to address this situation:

  1. Immediate Investigation: As soon as we became aware of the issue, we initiated a comprehensive investigation to determine the root cause of the warning.

  2. Review of Website Security: We have reviewed our website's security protocols and scanned for any potential vulnerabilities or security threats to ensure the safety of your data.

  3. Communication with Google: We have contacted Google to clarify the nature of our website and to resolve the issue. We are working closely with their team to have our domain unblocked as soon as possible.

  4. Customer Support: Our customer support team is available to assist you with any concerns or questions you may have. Please do not hesitate to reach out if you experience any issues related to our website or your services

We want to assure you that our website is safe, secure, and has not been compromised. We value your trust and take the security of your information very seriously. We apologize for any inconvenience this may have caused and appreciate your understanding during this time.

As the situation progresses, we will keep you informed with updates regarding the resolution of this issue. Your safety and peace of mind are of the utmost importance to us, and we are committed to swiftly resolving this matter.

Note:  This incident will not have any impact on your custom domain. If you are currently using a custom domain with our services, rest assured that it will function as expected without any disruptions.

If your website does not currently have a custom domain and you wish to add one, please follow the steps provided here to initiate the process.

Thank you for your continued support and trust in our services. We look forward to serving you without interruption as soon as this issue is fully resolved.

Current Status: Resolved @ 2023-11-04, 07:11

Resolution: Google unflagged our domain in less than 24h in response to our appeal

We are pleased to inform you that our services are now up and running smoothly again 🎉 We sincerely appreciate all of your support and cooperation during this period. Your understanding and patience have been invaluable to us.

Sincerely,

Team Elestio.

How are operating system(OS) upgrades managed?

Automatic Minor OS Updates:
Minor operating system updates are automatically performed every Sunday by default. (Note: This setting can be modified or disabled in the service settings.)

Major OS Updates:

In-Place Update (with Level 3 Support Plan):

If you have a Level 3 support plan, our team can perform an in-place update on your existing instance (with up to 1 hour of downtime).

Feel free to contact our support team if you have any further questions or concerns about OS upgrades.

Why did the payment fail when I was attempting to add credits?

Encountering difficulties with payment failures while attempting to add credits? Fear not, as we've outlined a comprehensive guide to help you address the issue:

Resolving Payment Failures: A Step-by-Step Guide

If you've been experiencing payment failures while adding credits from our dashboard, here's what you need to do:

1. Verify Card Details:
   Ensure the accurate input of your card number, expiry date, and CVV/CVC/CSC during the payment process.
2. International Payments Check:
   Confirm whether your card allows international payments, as this could be a potential reason for the payment failure.
3. Account Compatibility:
   Check that your account supports e-commerce transactions and ensure that the set limits are appropriate for a seamless payment process.


Possible Reasons for Payment Failure:

If the aforementioned conditions are met and you're still facing issues, consider the following potential reasons:

1. Unsupported Card:
   It's possible that the card you're using may not be supported for this type of transaction.
2. Insufficient Funds:
   Ensure that your account has sufficient funds to cover the intended payment amount.
3. Bank Declined Payment:
   The bank may have declined the card payment for security or other reasons.

For a more accurate understanding of the specific reason behind the payment failure, we recommend reaching out to Elestio's support.

Our dedicated support team will provide precise information to help you successfully resolve the issue and get back to enjoying our services hassle-free. Feel free to contact us for any assistance you may need!

How can project ownership or service billing be transferred to another user's account?

Are you looking to transfer project ownership or service billing to another user's account? While our direct project owner transfer feature is in the pipeline, there's a workaround available for you to accomplish this task.

Presently, we operate on a global account-level billing structure that is not directly tied to specific projects. Consequently, all services affiliated with projects under your ownership will be invoiced to your account.

To transfer ownership or billing responsibility to another account, you can follow these steps:

By following these steps, you'll successfully transfer the service to the new account, effectively transferring ownership and billing responsibility.

While this method serves as a temporary solution until our direct project owner transfer feature is available.