Services
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.net
1 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 from8300
to8499
. - 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
Warning
There is no network filtering, anyone can connect to your services. Make sure your services have an authentication mechanism if necessary.
For 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.
For Private Cloud users:
- Range port
8300
to8499
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
[account]
to be replace by the account name. ↩︎See simple
systemd
service for use-cases. ↩︎