About the environment

How are the environments secured?

Access to the environment is restricted to:

  • People that are logged in and have read-access to the repository of the project.

  • People coming from an authorized IP address (see ip_whitelist option).

Access is otherwise denied.

Can I log into the machine?

Yes! You have SSH access (details can be found in the deployment page of the dashboard).

All the users that have read-access on the repository are authorized via their public key(s).

It is very useful for debugging your project, running a command-line or copying assets via scp.

If you cannot log in, see the troubleshooting section.

About data

Do I have management interfaces for my data (e.g. phpMyAdmin)?

Not yet. But you can:

  • log into the backend via SSH and then use console client to interact with the services.

  • use SSH tunnelling and your favorite GUI locally (see tip here)

The hostname is the name of the service (e.g. mysql) and the credentials are those specified in the .devflow.yml.

I want to import a dump of my production database. How can I do it?

For each projet a shared bucket is created and available in /shared.

You can SCP files in this directory by using your SSH access: they will be available for all the branches of the same project (note: expect some latency for big files).

Then you may use the uploaded files in the deployment procedure:

# .devflow.yml
    - zcat /shared/dump.sql.gz | mysql -u myproject -p123

Troubleshooting deployment

Are there pre-installed package managers?

Yes! Currently: composer, npm and bower. Any manager not listed here can be installed via the custom build process.

What host/port should I use in the configuration to connect to services like MySQL, RabbitMQ, etc.?

The host is the name of the service, and the port is the default one. For example, for mysql, host is mysql and port is 3306.

How do I deal with HTTPS?

We handle HTTPS for you (since environments are in a subdomain of devflow.io). Our proxy sets X-Forwarded-* headers so that you application can know whether it has been accessed via HTTP or HTTPS (for example see this tutorial for PHP/Symfony).

I can't log in using SSH

When deploying an environment, the public keys of all the collaborators that have read access on the repository are added to the list of authorized keys.

If you cannot log in:

  • Check this page to confirm that your SSH key is correctly registered. If not, this tutorial will guide you to add a new one.

  • If your key is not registered, log out and log in again.

  • If your key is registered correctly, deploy the branch again to make sure your key is allowed on the environment.

What information is available to each branch about its environment?

The following environment variables are defined and available at runtime:

DEVFLOW_HOST: abcdef.devflow.io       # The host corresponding to your branch