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.