Atlas Hub is a Free Self-hosted Reporting Automation Tool
Atlas Hub is a robust task scheduling tool designed to streamline the process of extracting data from various sources and depositing it into desired destinations, such as SQL servers or SFTP servers. It offers extensive capabilities, ensuring seamless data management and automation.
Features
- Run .bat files on windows servers over ssh
- Read, modify and resend files over FPT or SFTP
- ZIP and send data
- Run raw python code to process data and send
- Run code from FTP/SFTP/SAMB or web source
- Send output data embedded or attached to email
- Parameterize sql on the project or task level
- Parameterize file names with date parameters
- Export data as text, csv, excel, delimited, or as a blob
- Encrypt data before sending
- Pull and send data from FTP/SFTP/SAMB/SSH
- Run SSH commands to monitor remote servers
Install
Atlas Hub can be run locally. We use pyenv and poetry to manage the project dependencies. Assuming you will too -
pyenv local 3.9.0
poetry install
npm install
# have you already created a database "atlas_hub_dev" and updated the config files?
FLASK_APP=web
flask db init
flask db migrate
flask db upgrade
flask cli seed
# if you want some basic demo information added
flask cli seed_demo
Then you can run the app
npm start
Tests require a running postgresql
and redis
instances.
Testing
Start up a demo sql, sftp and ftp servers with docker:
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=@Passw0rd>" -p 1433:1433 --name sql1 -h sql1 -d mcr.microsoft.com/mssql/server:2017-latest
docker run -p 23:22 -d emberstack/sftp --name sftp
docker run -d --name ftpd_server -p 21:21 -p 30000-30009:30000-30009 -e FTP_USER_NAME=demo -e FTP_USER_PASS=demo -e FTP_USER_HOME=/home/demo -e "PUBLICHOST=localhost" -e "ADDED_FLAGS=-d -d" stilliard/pure-ftpd
Final, simply run the tests with tox
.
License
GPL-3.0 License