forked from coopengo/coog-admin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config
154 lines (117 loc) · 6.27 KB
/
config
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# vim: set ft=sh:
# This script sets coog administration environment
get_dir() {
local script_path; script_path=$(readlink -f "$0")
local script_dir; script_dir=$(dirname "$script_path")
echo "$script_dir"
}
ip() {
local exists
exists=$(docker ps --format '{{.Names}}' | grep -cP ^"$1"\$)
[ "$exists" -eq 0 ] && return 1
docker inspect --format '{{.NetworkSettings.IPAddress}}' "$1"
}
#-------------------------------------------------------------------------------#
# GENERAL PURPOSE
#-------------------------------------------------------------------------------#
[ -z "$EDITOR" ] && EDITOR=nano
PREFIX=/usr/local/coog # where all custom data goes
[ ! -z "$COOG_DATA" ] && PREFIX="$COOG_DATA" # can be set via $COOG_DATA
mkdir -p "$PREFIX" # make sure folder exists
NETWORK_NAME=$USER
[ -z "$DOCKER_DAEMON_OPTS" ] && DOCKER_DAEMON_OPTS="-d --restart always"
[ -z "$DOCKER_PIPED_OPTS" ] && DOCKER_PIPED_OPTS="--rm"
[ -z "$DOCKER_INTERACTIVE_OPTS" ] && DOCKER_INTERACTIVE_OPTS="-it --rm"
#-------------------------------------------------------------------------------#
# POSTGRES CONFIG
#-------------------------------------------------------------------------------#
POSTGRES_IMAGE=postgres:9.5-alpine # docker image
POSTGRES_VOLUME=$PREFIX/postgres # docker data volume
POSTGRES_USER=postgres # postgres user
POSTGRES_PASSWORD=postgres # postgres password
COOG_DB_USER=$POSTGRES_USER # coog pg user
COOG_DB_PASSWORD=$POSTGRES_PASSWORD # coog pg password
COOG_DB_NAME=coog # coog pg db name
SENTRY_DB_USER=$POSTGRES_USER # sentry db user
SENTRY_DB_PASSWORD=$POSTGRES_PASSWORD # sentry db password
SENTRY_DB_NAME=sentry # sentry db db name
#-------------------------------------------------------------------------------#
# REDIS CONFIG
#-------------------------------------------------------------------------------#
REDIS_IMAGE=redis:3.2-alpine # docker image
REDIS_VOLUME=$PREFIX/redis # docker data volume
COOG_CACHE_DB=0 # coog cache db name
COOG_CELERY_DB=1 # coog celery db name
COOG_RQ_DB=2 # coog rq db name
SENTRY_REDIS_DB=5 # sentry db name
WEB_REDIS_DB=7 # web db name
#-------------------------------------------------------------------------------#
# SENTRY CONFIG
#-------------------------------------------------------------------------------#
SENTRY_IMAGE=sentry:8 # docker image
SENTRY_VOLUME=$PREFIX/sentry # docker data volume
SENTRY_KEY=$PREFIX/sentry.key # containers shared key
SENTRY_POSTGRES_HOST= # defaults to postgres container
SENTRY_POSTGRES_PORT= # defaults to postgres container
SENTRY_REDIS_HOST= # defaults to redis container
SENTRY_REDIS_PORT= # defaults to redis container
#-------------------------------------------------------------------------------#
# COOG CONFIG
#-------------------------------------------------------------------------------#
COOG_IMAGE=coog/coog # docker image
COOG_VOLUME=$PREFIX/coog # docker data volume
COOG_POSTGRES_HOST= # defaults to postgres container
COOG_POSTGRES_PORT= # defaults to postgres container
COOG_REDIS_HOST= # defaults to redis container
COOG_REDIS_PORT= # defaults to redis container
COOG_SERVER_WORKERS="$(nproc)" # server workers
COOG_CELERY_WORKERS="$(nproc)" # celery workers
COOG_SENTRY_PROTOCOL= # defaults to http
COOG_SENTRY_HOST= # defaults to sentry container
COOG_SENTRY_PORT= # defaults to sentry container
COOG_SENTRY_PUB=
COOG_SENTRY_SEC=
COOG_SENTRY_PROJECT=
COOG_SESSION_SUPERPWD=super # coog super password (not a user)
COOG_DB_LANG=fr # database locale - eg. fr_FR
COOG_CACHE_MODEL= # models cache size
COOG_CACHE_RECORD= # records cache size
COOG_CACHE_FIELD= # fields cache size
COOG_CACHE_COOG= # coog cache size
COOG_LOG_LEVEL= # python levels
COOG_ADMIN_EMAIL=example@coopengo.com # application admin email address
#-------------------------------------------------------------------------------#
# WEB CONFIG
#-------------------------------------------------------------------------------#
WEB_IMAGE=coog/web # docker image
#-------------------------------------------------------------------------------#
# NGINX CONFIG
#-------------------------------------------------------------------------------#
NGINX_IMAGE=nginx:1-alpine # docker image
NGINX_VOLUME=$PREFIX/nginx # nginx conf folder
NGINX_PUB_PORT=80 # host mapped port
#-------------------------------------------------------------------------------#
# PAYBOX CONFIG
#-------------------------------------------------------------------------------#
PAYBOX_IMAGE=coog/paybox:master
PAYBOX_PUB_PORT=3000
PAYBOX_COOG_USER=admin
PAYBOX_COOG_PASS=admin
#-------------------------------------------------------------------------------#
# SYNC CONFIG
#-------------------------------------------------------------------------------#
SYNC_IMAGE=coog/sync # docker image
SYNC_SRC=$COOG_VOLUME # source volume
SYNC_DEST=/home/$USER/.sync # destination volume
#-------------------------------------------------------------------------------#
# BACKUP CONFIG
#-------------------------------------------------------------------------------#
BACKUP_DIRECTORY=/mnt/coog_backup
#-------------------------------------------------------------------------------#
# CUSTOMS
#-------------------------------------------------------------------------------#
[ ! -e "$PREFIX/config" ] &&
cp "$(get_dir)/defaults/config" "$PREFIX/config" &&
echo "# For an exhaustive variables list, checkout base config on $(get_dir)/config" >> "$PREFIX/config"
[ ! -e "$PREFIX/config" ] && exit 1
source "$PREFIX/config"