How to Install

How to Install #

To install ETL data_snake, follow these steps:

  1. Visit the The Official data_snake Docker Page.

  2. Create a folder where you will have the docker-compose.yml file.

mkdir data_snake
  1. Navigate to the folder.
cd data_snake
  1. Create a file called docker-compose.yml using your favourite text editor.

  2. Copy the following example into the docker-compose.yml file

version: "3.5"

services:

    redis:
        image: redis:6.0.5-alpine

    postgres:
        image: postgres:12-alpine
        restart: always
        environment: &pgenv
            POSTGRES_DB: "data_snake"
            POSTGRES_USER: "data_snake"
            POSTGRES_PASSWORD: "data_snake"
        volumes:
            - data_snake_postgresql:/var/lib/postgresql/data

    # Web application for ETL data_snake using gunicorn
    etl-app: &etl-app
        image: mgaltd/data_snake:latest
        restart: always
        depends_on:
            - postgres
            - redis
        volumes:
            - data_snake_media/:/opt/etl/media
            - data_snake_static/:/opt/etl/static
            - data_snake_logs/:/opt/etl/logs/
            - data_snake_files/:/opt/etl/files/
        hostname: example.domain.com
        environment:
            <<: *pgenv
            POSTGRES_HOST: "postgres"
            POSTGRES_PORT: 5432
            REDIS_HOST: "redis"
            REDIS_PORT: 6379
            REDIS_DB: 0
            ETL_SECRET_KEY: "__this__must__be__change__on__production__server__"
            ETL_DEBUG: "False"  #  !!! This must be string
            # This is the address used for sharing and process api token;
            # when using proxy this is the public address (e.g. mga.com.pl)
            ETL_EXTERNAL_URL: "example.domain.com"

        command: gunicorn

    # Service runs celery
    service-celery: &celery
        <<: *etl-app
        command: celery

    # Service runs processes celery
    service-processes-celery:
        <<: *celery
        command: processes_celery

    # Service runs system monitor celery
    service-system-monitor-celery:
        <<: *celery
        command: system_monitor_celery

    # That service starts only once, does collectstatic, migrate and dies
    etl-set-state:
        <<: *etl-app
        restart: "no"
        depends_on:
            - etl-app
        command: set_state

    etl-nginx:
        image: mgaltd/data_snake_webserver:latest
        depends_on:
            - etl-app
            - etl-set-state
        volumes:
            - data_snake_media/:/opt/etl/media
            - data_snake_static/:/opt/etl/static
            # - data_snake_ssl/certificate.pem:/opdata_snake/ssl/certificate.pem
            # - data_snake_ssl/key.pem:/opt/etl/ssl/key.pem
        ports:
            - 80:80
            - 443:443

volumes:
    data_snake_media:
    data_snake_static:
    data_snake_logs:
    data_snake_files:
    data_snake_ssl:
    data_snake_postgresql:
  1. Save the file.

  2. Run the following command to start ETL data_snake. If you do not want to see the application output, add -d at the end of the command.

docker-compose up
  1. If there are no errors then ETL data_snake is running. Visit https://127.0.0.1 to start working.
The first launch of the application may take up to several minutes.
To function properly, the application requires uploading a license key
  1. When you open ETL data_snake, you will be greeted by the login screen. Simply log in using the default credentials:
  • Username: admin
  • Password: admin

  1. To work with the application, you need a valid License Key. On the Home Page click the Settings button.

  1. In the License keys tab, click the + Add a license key button.

  1. Enter your aquired License Key

When ETL data_snake finishes the installation process, go to the After Install section for further details about basic configuration.