Files
polpa-gestao/Taskfile.yml
T

98 lines
3.3 KiB
YAML

# https://taskfile.dev
version: '3'
silent: true
tasks:
build-all:
desc: Build frontend, backend and prisma Docker images using docker compose
cmd: |
export $(doppler secrets download --no-file --format env --config dev_tokens | sed 's/"//g' | xargs) && \
doppler run --config dev_secrets -- docker compose -f docker-compose.yml build
build-all-ngrok:
desc: Build frontend, backend and prisma Docker images using docker-compose.ngrok.yml
cmd: |
export $(doppler secrets download --no-file --format env --config dev_tokens | sed 's/"//g' | xargs) && \
doppler run --config dev_secrets -- docker compose -f docker-compose.ngrok.yml build
dev-up:
desc: Start the development environment using docker compose
deps: [build-all]
cmd: |
export $(doppler secrets download --no-file --format env --config dev_tokens | sed 's/"//g' | xargs) && \
doppler run --config dev_secrets -- docker compose -f docker-compose.yml up -d
dev-up-ngrok:
desc: Start the development environment using docker compose and ngrok
deps: [build-all-ngrok]
cmds:
- |
export $(doppler secrets download --no-file --format env --config dev_tokens | sed 's/"//g' | xargs) && \
doppler run --config dev_secrets -- docker compose -f docker-compose.ngrok.yml up -d
- task: ngrok-up
dev-down:
desc: Stop the development environment using docker compose
cmd: docker compose -f docker-compose.yml down
dev-down-ngrok:
desc: Stop the development environment using docker compose and ngrok
cmds:
- docker compose -f docker-compose.ngrok.yml down
- task: ngrok-down
dev-db-access:
desc: Print local DB credentials
cmd: |
doppler run --config dev_secrets -- sh -c '
echo "Local database credentials:"
echo "- Database name=$DB_NAME"
echo "- Database user=$DB_USER"
echo "- Database password=$DB_PASSWORD"
'
dev-tier-down:
desc: Stop the development environment using docker compose, removing volumes
cmd: docker compose -f docker-compose.yml down -v --remove-orphans
ngrok-up:
desc: Start ngrok tunnel in background
cmds:
- ./nginx/start-proxy.sh
- |
bash -c '
if pgrep -f "ngrok http" | grep -v $$ > /dev/null; then
echo "ngrok is already running, skipping..."
else
nohup ngrok http 8080 --log=stdout --log-format=logfmt --log-level=info > /tmp/ngrok.log 2>&1 &
echo $! > /tmp/ngrok.pid
echo "ngrok started with PID $(cat /tmp/ngrok.pid)"
sleep 3
if ! pgrep -f "ngrok http" > /dev/null; then
echo "ngrok failed to start, log output:"
cat /tmp/ngrok.log
exit 1
fi
echo "ngrok is running"
fi
'
- curl -s http://localhost:4040/api/tunnels | jq -r '.tunnels[0].public_url'
ngrok-down:
desc: Stop ngrok tunnel
cmds:
- docker stop nginx-proxy 2> /dev/null || true
- |
if [ -f /tmp/ngrok.pid ]; then
echo "Killing ngrok PID $(cat /tmp/ngrok.pid)"
/bin/kill -9 $(cat /tmp/ngrok.pid)
rm -rf /tmp/ngrok.pid
else
echo "No PID file found. trying pkill..."
pkill -9 -f ngrok || true
fi
- rm -rf /tmp/ngrok.log