Skip to content

Installation with the binary (without containerization)

1. Create user account

Create a user account to run the Sqedule server in. For example:

sudo addgroup --gid 3420 sqedule-server
sudo adduser --uid 3420 --gid 3420 --disabled-password --gecos 'Sqedule Server' sqedule-server

2. Download

Download a Sqedule server binary tarball (sqedule-server-XXX-linux-x86_64.tar.gz).

Extract the tarball. There's a sqedule-server executable inside. Check whether it works:

/path-to/sqedule-server --help

3. Create config file

Create a Sqedule server configuration file /etc/sqedule-server.yml. Learn more in Configuration.

At minimum you need to configure the database type and credentials. Example:

db-type: postgresql
db-connection: 'dbname=sqedule user=sqedule password=something host=localhost port=5432'

Be sure to give the file the right permissions so that the database password cannot be read by others:

sudo chown sqedule-server: /etc/sqedule-server.yml
sudo chmod 600 /etc/sqedule-server.yml

4. Install systemd service

Install a systemd service file. Create /etc/systemd/system/sqedule-server.service:

[Unit]
Description=Sqedule Server

[Service]
ExecStart=/path-to/sqedule-server run --config=/etc/sqedule-server.yml
User=sqedule-server
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Note

Be sure to replace /path-to/sqedule-server with the actual path!

Then reload systemd:

sudo systemctl daemon-reload

5. Start Sqedule server

Start the Sqedule server:

sudo systemctl start sqedule-server

Note

You don't need to manually setup database schemas. The Sqedule server takes care of that automatically during startup.

It listens on localhost port 3001 by default. Try it out, you should see the web interface's HTML:

curl localhost:3001

Next up

Now that it's installed, please be aware of the security considerations.