Services

Discover our Public Cloud offer

Shared Hosting for Everyone, imagined by developers, for developers.

Discovering the Public Cloud

You can register services: custom programs running in a headless mode (i.e. without any user interaction). Unlike a command launched by-hand trough SSH, those services will be restarted automatically by the system when the service stops.

Those services are declared in the administration panel’s Advanced > Services.

The ports' range 8300 to 8499, as well as the hostname services-[account].alwaysdata.net1 are reserved to those services.

Use services

  • It must runs in foreground, not fork and leave 2.
  • When needing to be reached from an external application, bind it to :: (IPv6) and a port from 8300 to 8499.
  • Log files for running services are located at $HOME/admin/logs/services/, containing services' outputs.
    • An extract of those logs is presented in the administration’s interface (Logs - 📄).
  • Current processes are accessible via the Advanced > Processes > Services menu.
  • The restart of a service sends the SIGHUP signal.
  • If a service fails repeatedly within a short period of time, it will be automatically disabled.
  • The language versions used by default are those specified in the Environment menu of the administration interface. It is possible to choose another version using the Environment variables.

The optional Monitoring command allows you to specify a command used to check the service’s status. When this command returns an error code, the service is restarted. E.g. you can ping the service on the assigned port (i.e. 8300):

$ nc -z services-[account].alwaysdata.net 8300

There is no network filtering, anyone can connect to your services. Make sure your services have an authentication mechanism if necessary.

Public Cloud users

  • Services are executed on a distinct servers than SSH and HTTP servers.
  • Their resources use must remain fair.
  • The services will not be available on IPv4, only on IPv6.

Private Cloud users

  • Range port 8300 to 8499 are not accessible from the external network. You can expose them to Internet using a firewall rule.
  • You can use other ports ; for example the default port of the application.

Examples


  1. [account] to be replace by the account name. ↩︎

  2. See simple systemd service for use-cases. ↩︎