Use multi-service entrypoint
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
ae76ce39ce
commit
1ae02b81c4
25
compose.yml
25
compose.yml
|
@ -36,8 +36,9 @@ services:
|
||||||
- FOODCOOP_STREET
|
- FOODCOOP_STREET
|
||||||
- FOODCOOP_TIME_ZONE
|
- FOODCOOP_TIME_ZONE
|
||||||
- FOODCOOP_ZIP_CODE
|
- FOODCOOP_ZIP_CODE
|
||||||
- MYSQL_HOST=db
|
- FOODSOFT_SERVICE=app
|
||||||
- MYSQL_DB=foodsoft
|
- MYSQL_DB=foodsoft
|
||||||
|
- MYSQL_HOST=db
|
||||||
- MYSQL_PORT=3306
|
- MYSQL_PORT=3306
|
||||||
- MYSQL_USER=foodsoft
|
- MYSQL_USER=foodsoft
|
||||||
- QUEUE=foodsoft_notifier
|
- QUEUE=foodsoft_notifier
|
||||||
|
@ -67,8 +68,8 @@ services:
|
||||||
|
|
||||||
cron:
|
cron:
|
||||||
image: "foodcoops/foodsoft:4.7.0"
|
image: "foodcoops/foodsoft:4.7.0"
|
||||||
command: ./proc-start cron
|
|
||||||
environment:
|
environment:
|
||||||
|
- FOODSOFT_SERVICE=cron
|
||||||
- MYSQL_DB
|
- MYSQL_DB
|
||||||
- MYSQL_HOST
|
- MYSQL_HOST
|
||||||
- MYSQL_PORT
|
- MYSQL_PORT
|
||||||
|
@ -76,6 +77,10 @@ services:
|
||||||
configs:
|
configs:
|
||||||
- source: db_config
|
- source: db_config
|
||||||
target: /usr/src/app/config/database.yml
|
target: /usr/src/app/config/database.yml
|
||||||
|
- source: entrypoint
|
||||||
|
target: /usr/src/app/docker-entrypoint.sh
|
||||||
|
mode: 0555
|
||||||
|
entrypoint: /usr/src/app/docker-entrypoint.sh
|
||||||
secrets:
|
secrets:
|
||||||
- db_password
|
- db_password
|
||||||
networks:
|
networks:
|
||||||
|
@ -83,8 +88,8 @@ services:
|
||||||
|
|
||||||
worker:
|
worker:
|
||||||
image: "foodcoops/foodsoft:4.7.0"
|
image: "foodcoops/foodsoft:4.7.0"
|
||||||
command: ./proc-start worker
|
|
||||||
environment:
|
environment:
|
||||||
|
- FOODSOFT_SERVICE=worker
|
||||||
- MYSQL_DB
|
- MYSQL_DB
|
||||||
- MYSQL_HOST
|
- MYSQL_HOST
|
||||||
- MYSQL_PORT
|
- MYSQL_PORT
|
||||||
|
@ -92,6 +97,10 @@ services:
|
||||||
configs:
|
configs:
|
||||||
- source: db_config
|
- source: db_config
|
||||||
target: /usr/src/app/config/database.yml
|
target: /usr/src/app/config/database.yml
|
||||||
|
- source: entrypoint
|
||||||
|
target: /usr/src/app/docker-entrypoint.sh
|
||||||
|
mode: 0555
|
||||||
|
entrypoint: /usr/src/app/docker-entrypoint.sh
|
||||||
secrets:
|
secrets:
|
||||||
- db_password
|
- db_password
|
||||||
networks:
|
networks:
|
||||||
|
@ -99,19 +108,23 @@ services:
|
||||||
|
|
||||||
smtp:
|
smtp:
|
||||||
image: "foodcoops/foodsoft:4.7.0"
|
image: "foodcoops/foodsoft:4.7.0"
|
||||||
command: ./proc-start mail
|
|
||||||
configs:
|
configs:
|
||||||
- source: db_config
|
- source: db_config
|
||||||
target: /usr/src/app/config/database.yml
|
target: /usr/src/app/config/database.yml
|
||||||
|
- source: entrypoint
|
||||||
|
target: /usr/src/app/docker-entrypoint.sh
|
||||||
|
mode: 0555
|
||||||
|
entrypoint: /usr/src/app/docker-entrypoint.sh
|
||||||
secrets:
|
secrets:
|
||||||
- db_password
|
- db_password
|
||||||
environment:
|
environment:
|
||||||
- SMTP_SERVER_PORT
|
- FOODSOFT_SERVICE=worker
|
||||||
- SMTP_SERVER_HOST
|
|
||||||
- MYSQL_DB
|
- MYSQL_DB
|
||||||
- MYSQL_HOST
|
- MYSQL_HOST
|
||||||
- MYSQL_PORT
|
- MYSQL_PORT
|
||||||
- MYSQL_USER
|
- MYSQL_USER
|
||||||
|
- SMTP_SERVER_HOST
|
||||||
|
- SMTP_SERVER_PORT
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
|
|
||||||
|
|
|
@ -23,31 +23,17 @@ file_env() {
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
}
|
}
|
||||||
|
|
||||||
load_vars() {
|
file_env "SECRET_KEY_BASE"
|
||||||
file_env "SECRET_KEY_BASE"
|
file_env "SMTP_PASSWORD"
|
||||||
file_env "SMTP_PASSWORD"
|
|
||||||
}
|
|
||||||
|
|
||||||
re_use() {
|
if [ "$FOODSOFT_SERVICE" == "app" ]; then
|
||||||
if [ -f tmp/pids/server.pid ]; then
|
|
||||||
rm tmp/pids/server.pid
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
db_setup() {
|
|
||||||
bundle exec rake db:setup
|
bundle exec rake db:setup
|
||||||
}
|
|
||||||
|
|
||||||
db_migrate() {
|
|
||||||
bundle exec rake db:migrate
|
bundle exec rake db:migrate
|
||||||
}
|
|
||||||
|
|
||||||
run_web(){
|
|
||||||
./proc-start web
|
./proc-start web
|
||||||
}
|
elif [ "$FOODSOFT_SERVICE" == "cron" ]; then
|
||||||
|
./proc-start cron
|
||||||
re_use
|
elif [ "$FOODSOFT_SERVICE" == "worker" ]; then
|
||||||
load_vars
|
./proc-start worker
|
||||||
db_setup
|
elif [ "$FOODSOFT_SERVICE" == "mail" ]; then
|
||||||
db_migrate
|
./proc-start mail
|
||||||
run_web
|
fi
|
||||||
|
|
Loading…
Reference in New Issue