DataStation Server CE
NOTE: The Server system and these instructions are in early stages. There may be bugs and it would help if you report them on Github or Discord.
DataStation can run as a server giving you access to all your projects from any machine that can connect to the server. All scripts and queries run on the server rather than on your laptop.
This is useful if you frequently switch machines or if you want to work on DataStation projects as a team.
The server supports OpenID authentication. The Community Edition does not have an advanced concept of users. It will hook into your OpenID system but does not come with access control beyond existing validating with your OpenID provider.
However, coming shortly will be support for read-only dashboards built on top of your projects. And coming shortly will also be the ability to schedule recurring runs and exports of your projects to email.
- x86_64 Linux machine
- Nodejs 16
curl -LO https://github.com/multiprocessio/datastation/releases/download/0.10.1/datastation-server-x64-0.10.1.tar.gz tar xvzf datastation-server-*.tar.gz
If you are installing DataStation on a server for the first time you can run the included install script.
This will override the configuration file at
/etc/datastation/config.yaml and systemd configurations. So if you
have already created or modified those files do not run this script.
This install script will create a new
datastation Linux user if it
does not exist and will create a systemd service for DataStation.
It will start a
datastation systemd service but it will not succeed
because you will need to edit the config file manually.
/etc/datastation/config.yaml and replace the defaults with your own settings.
auth: sessionSecret: "some good long random string" # Any strong random string for signing sessions openId: realm: https://accounts.google.com # Or some other realm clientId: "my id" clientSecret: "my secret" server: port: 443 address: localhost publicUrl: https://datastation.mydomain.com # The address users will enter into the browser to use the app tlsKey: /home/server/certs/datastation.key.pem # Can be left blank and set at the reverse-proxy level if desired tlsCert: /home/server/certs/datastation.cert.pem
Make sure to replace the
sessionSecret with some random string.
If you want to run the server on ports below 1024 (i.e. privileged
ports like 80 and 443), you will need to give
$ setcap 'cap_net_bind_service=+ep' $(which node)
If you want to disable authentication, you can omit the entire
openId section. But this is very dangerous! Since DataStation runs
scripts on the server if you disable authentication and make your
server public then anyone has access to do anything on the server.
Any OpenID provider should work, but only Google auth has been tested.
Once you are done editing settings, restart the systemd service:
systemctl restart datastation.
To upgrade an existing DataStation Server instance simply overwrite
the files in the tar archive. For example if you first used the
install script that comes with DataStation, it moves the datastation
So you can just delete that directory and then
mv datastation /usr/share/datastation.
Finally, restart the systemd service
systemctl restart datastation.
Migrations are automatically run on startup.
You can view DataStation logs by running
journalctl -efu datastation.
About this page
See an error or want to add a clarification? This page is
generated from this file on Github.
Last edited May 26, 2022.