update entrypoint system
This commit is contained in:
parent
40b192877f
commit
6b59762ddc
|
@ -44,7 +44,7 @@ test-docker-alpine:
|
||||||
- cd alpine
|
- cd alpine
|
||||||
- docker load -i postal-alpine-container.tar
|
- docker load -i postal-alpine-container.tar
|
||||||
- docker-compose up -d
|
- docker-compose up -d
|
||||||
- docker-compose run postal initialize
|
- for i in {1..10}; do [ $(docker inspect postal | jq '.[].State.Health.Status') == "healthy" ] && break || sleep 30; done
|
||||||
after_script:
|
after_script:
|
||||||
- cd alpine
|
- cd alpine
|
||||||
- docker-compose rm -sfv
|
- docker-compose rm -sfv
|
||||||
|
|
|
@ -19,6 +19,15 @@ services:
|
||||||
- RABBITMQ_DEFAULT_USER=postal
|
- RABBITMQ_DEFAULT_USER=postal
|
||||||
- RABBITMQ_DEFAULT_PASS=changeme
|
- RABBITMQ_DEFAULT_PASS=changeme
|
||||||
- RABBITMQ_DEFAULT_VHOST=postal
|
- RABBITMQ_DEFAULT_VHOST=postal
|
||||||
|
- POSTAL_FNAME=Sia
|
||||||
|
- POSTAL_LNAME=Cat
|
||||||
|
- POSTAL_PASSWORD=SecretCatPassword
|
||||||
|
- POSTAL_EMAIL=myemail@catsworld.com
|
||||||
|
healthcheck:
|
||||||
|
test: curl -sS http://127.0.0.1:5000 || exit 1
|
||||||
|
interval: 5s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
mysql:
|
mysql:
|
||||||
image: mariadb:10
|
image: mariadb:10
|
||||||
container_name: postal_mysql
|
container_name: postal_mysql
|
||||||
|
|
|
@ -1,25 +1,42 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
## Generate config
|
|
||||||
if [ ! -f /opt/postal/config/postal.yml ] || [[ $(cat /opt/postal/config/postal.yml | wc -l) < 2 ]]; then
|
|
||||||
## Build Jinja2 Template
|
|
||||||
p2 -t /templates/postal.example.yml.j2 -o /opt/postal/config/postal.example.yml
|
|
||||||
## Add in secret key building
|
|
||||||
echo "rails:" >> /opt/postal/config/postal.example.yml
|
|
||||||
echo " secret_key: {{secretkey}}" >> /opt/postal/config/postal.example.yml
|
|
||||||
## Generate config and keys
|
|
||||||
/opt/postal/bin/postal initialize-config
|
|
||||||
fi
|
|
||||||
cat /opt/postal/config/postal.yml
|
|
||||||
|
|
||||||
## Clean Up
|
## Clean Up
|
||||||
rm -rf /opt/postal/tmp/pids/*
|
rm -rf /opt/postal/tmp/pids/*
|
||||||
rm -rf /tmp/postal
|
rm -rf /tmp/postal
|
||||||
## Wait for MySQL to start up
|
|
||||||
echo "== Waiting for MySQL to start up =="
|
|
||||||
while ! mysqladmin ping -h mysql --silent; do
|
|
||||||
sleep 0.5
|
|
||||||
done
|
|
||||||
|
|
||||||
|
## Generate config
|
||||||
|
if [ ! -f /opt/postal/config/postal.yml ] || [[ $(cat /opt/postal/config/postal.yml | wc -l) < 2 ]]; then
|
||||||
|
## Build Jinja2 Template
|
||||||
|
p2 -t /templates/postal.example.yml.j2 -o /opt/postal/config/postal.example.yml
|
||||||
|
## Add in secret key building
|
||||||
|
echo "rails:" >> /opt/postal/config/postal.example.yml
|
||||||
|
echo " secret_key: {{secretkey}}" >> /opt/postal/config/postal.example.yml
|
||||||
|
## Generate config and keys
|
||||||
|
/opt/postal/bin/postal initialize-config
|
||||||
|
## Wait for MySQL to start up
|
||||||
|
echo "== Waiting for MySQL to start up =="
|
||||||
|
while ! mysqladmin ping -h mysql --silent; do
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
|
while ! mysql -hmysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "use $MYSQL_DATABASE" 2> /dev/null; do
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
|
/opt/postal/bin/postal initialize
|
||||||
|
/opt/postal/bin/postal make-user <<-EOF
|
||||||
|
$POSTAL_EMAIL
|
||||||
|
$POSTAL_FNAME
|
||||||
|
$POSTAL_LNAME
|
||||||
|
$POSTAL_PASSWORD
|
||||||
|
EOF
|
||||||
|
else
|
||||||
|
## Wait for MySQL to start up
|
||||||
|
echo "== Waiting for MySQL to start up =="
|
||||||
|
while ! mysqladmin ping -h mysql --silent; do
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
|
while ! mysql -hmysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "use $MYSQL_DATABASE" 2> /dev/null; do
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
|
fi
|
||||||
## Start Postal
|
## Start Postal
|
||||||
/opt/postal/bin/postal "$@"
|
/opt/postal/bin/postal "$@"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user