98 lines
3.3 KiB
YAML
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
|
|
|