Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
# system setting
export DOCKERIZED=true

# if use AWS algorithm, then you must use a static IP address
export LOCAL_ALGORITHM=true
export HOST_IP=<your host IP address>
export HOME=<your path on host machine>
export =macroscope-smile
# single user version vs multiple users
export SINGLE_USER=false

#set up home directory
export HOME=/your/home/directory

#set server info
export SERVER=smm.server.com

# single user version vs multiple users 
export SINGLE_USER=true settings for CILOGON
export CILOGON_CLIENT_ID=<<cilogon id>>
export CILOGON_CLIENT_SECRET=<<cilogon client secret>>
export CILOGON_CALLBACK_URL=<<ci logon callback url>>

export MINIO_URL=https://minio-api.${SERVER}
export MINIO_PUBLIC_ACCESS_URL=https://minio-api.${SERVER}
export BUCKET_NAME=macroscope-smile
export SMILE_GRAPHQL_URL=https://graphql.${SERVER}/graphql

# create mounted volumes on host machine
mkdir -p ${HOME}/smile_data
mkdir -p ${HOME}/smile_data/${BUCKET_NAME}
mkdir -p ${HOME}/smile_user
mkdir -p ${HOME}/smile_tag

# email notification (To enable notification, uncomment below and put down valid email server information) 
# export EMAILRABBITMQ_HOST=${SERVER}
# export EMAILRABBITMQ_PORT=
# export EMAIL_FROM_ADDRESS=
# export EMAIL_PASSWORD=

# CiLogon
export CILOGON_CLIENT_ID=
export CILOGON_CLIENT_SECRET=
export CILOGON_CALLBACK_URL=
# put down your own RANDOM keys at least 8 digits;
# if wish to align with your AWS deployment, please put down AWS access key and secret (Not required if LOCAL_ALGORITHM=true) URL=amqp://${SERVER}
export REDIS_URL=redis://redis

# email notification
#export EMAIL_HOST=<<email host>>
#export EMAIL_PORT=465
#export EMAIL_FROM_ADDRESS=<<email from address>>
#export EMAIL_PASSWORD=<<email password>>

# align with AWS
export AWS_ACCESSKEY=<<aws_accesskey>>
export AWS_ACCESSKEYSECRET=<<aws_accesskeysecret>>

# social media platforms
export REDDIT_CLIENT_ID=<<reddit client id>>
export REDDIT_CLIENT_SECRET=<<reddit client secret>>
export REDDIT_CALLBACK_URL=<<reddit callback url>>
#export TWITTER_CONSUMER_KEY=<<twitter consumer key>>
#export TWITTER_CONSUMER_SECRET=<<twitter consumer secret>>
export TWITTER_CONSUMER_SECRET=V2_CLIENT_ID=<<twitter v2 client id>>
export TWITTER_V2_CLIENT_SECRET=<<twitter v2 client secret>>
export TWITTER_V2_CALLBACK_URL=<<twitter v2 callback url>>

# export
export BOX_CLIENT_ID=<box client id>
export BOX_CLIENT_SECRET=<<box client secret>>
export DROPBOX_CLIENT_ID=<<dropbox client id>>
export DROPBOX_CLIENT_SECRET=<<dropbox client secret>>
export GOOGLE_CLIENT_ID=<<google client id>>
export GOOGLE_CLIENT_SECRET=<<google client secret>>

export CLOWDER_BASE_URL=https://clowder.server.com/
export CLOWDER_GLOBAL_KEY=<<clowder global key>>
export CLOWDER_ON=false

# start
docker-compose -f docker-compose-smile-traefik.yml -d up

# stop
# docker-compose -f docker-compose-smile.yml down -v

# update latest image from docker hub
# docker-compose -f docker-compose-smile.yml pull

Variables Explained

  • System setting. Set to true to use standalone containerized SMILE.
    • DOCKERIZED=true
  • If using algorithm deployed on AWS, then you must use a static IP address.
    • LOCAL_ALGORITHM=true
  • Single user mode vs multiple users mode.
    • SINGLE_USER=false
  • Settings for CILOGON (this section is not required if running in single user mode)
    • CILOGON_CLIENT_ID={{cilogon id}}
    • CILOGON_CLIENT_SECRET={{cilogon client secret}}
    • CILOGON_CALLBACK_URL={{ci logon callback url}}
  • Configure email server to enable capability of sending email notifications for long running jobs.
    • EMAIL_HOST={{email host}}
    • EMAIL_PORT=465
    • EMAIL_FROM_ADDRESS={{email from address}}
    • EMAIL_PASSWORD={{email password}}
  • MINIO access keys and secret. Can be set to align with AWS S3 access keys and secret.
    • AWS_ACCESSKEY={{aws_accesskey}}
    • AWS_ACCESSKEYSECRET={{aws_accesskeysecret}}
  • Social media platforms configurations.
    • REDDIT_CLIENT_ID={{reddit client id}}
    • REDDIT_CLIENT_SECRET={{reddit client secret}}
    • REDDIT_CALLBACK_URL={{reddit callback url}}
    • TWITTER_CONSUMER_KEY={{twitter consumer key}}
    • TWITTER_CONSUMER_SECRET={{twitter consumer secret}}
    • TWITTER_V2_CLIENT_ID={{twitter v2 client id}}
    • TWITTER_V2_CLIENT_SECRET={{twitter v2 client secret}}
    • TWITTER_V2_CALLBACK_URL={{twitter v2 callback url}}
  • Cloud storage platforms configurations (Optional)
    • BOX_CLIENT_ID=
    • BOX_CLIENT_SECRET={{box client secret}}
    • DROPBOX_CLIENT_ID={{dropbox client id}}
    • DROPBOX_CLIENT_SECRET={{dropbox client secret}}
    • GOOGLE_CLIENT_ID={{google client id}}
    • GOOGLE_CLIENT_SECRET={{google client secret}}
  • Clowder configurations (Optional)
    • CLOWDER_BASE_URL={{clowder instance base url}}
    • CLOWDER_GLOBAL_KEY={{clowder global key}}
    • CLOWDER_ON=false (enable connection to clowder or not)

...