forked from getredash/setup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.sh
executable file
·67 lines (52 loc) · 1.87 KB
/
setup.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env bash
set -eu
REDASH_BASE_PATH=/opt/redash
install_dependencies() {
sudo amazon-linux-extras install epel -y
sudo yum install pwgen
}
install_docker() {
# Install Docker
sudo yum install docker
# Install Docker Compose
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# Allow current user to run Docker commands
sudo usermod -aG docker $USER
sudo systemctl enable docker
sudo systemctl start docker
}
create_directories() {
if [[ ! -e $REDASH_BASE_PATH ]]; then
sudo mkdir -p $REDASH_BASE_PATH
sudo chown $USER:$USER $REDASH_BASE_PATH
fi
if [[ ! -e $REDASH_BASE_PATH/nginx ]]; then
mkdir -p $REDASH_BASE_PATH/nginx/certs
mkdir -p $REDASH_BASE_PATH/nginx/certs-data
fi
}
create_env_file() {
read -p "REDASH_DATABASE_URL (postgres://...): " database_url
read -p "REDASH_GOOGLE_CLIENT_ID: " google_client_id
read -p "REDASH_GOOGLE_CLIENT_SECRET: " google_client_secret
export REDASH_DATABASE_URL=$database_url
export REDASH_GOOGLE_CLIENT_ID=$google_client_id
export REDASH_GOOGLE_CLIENT_SECRET=$google_client_secret
export COOKIE_SECRET=$(pwgen -1s 64)
export SECRET_KEY=$(pwgen -1s 64)
envsubst < .env.example > $REDASH_BASE_PATH/.env
}
setup_nginx() {
read -p "Enter Redash hostname (e.g. redash.example.com): " hostname
if [ -d "$REDASH_BASE_PATH/nginx/certs/live" ]; then
template_file="data/nginx-https.conf"
else
template_file="data/nginx.conf"
fi
sed "s/redash.example.com/$hostname/g" "$template_file" > "$REDASH_BASE_PATH/nginx/nginx.conf"
}
start_app() {
docker-compose -f data/docker-compose.yml run --rm server create_db
docker-compose -f data/docker-compose.yml up -d
}