When to use this skill
Deploy Flask LINE bots to Railway.app, configure environment variables, set up webhooks, and monitor deployments.
How to use it
Required Files
Procfile:
code
web: python main.py
requirements.txt:
code
Flask==3.0.0 line-bot-sdk==3.5.0 APScheduler==3.10.4 firebase-admin==6.2.0
main.py entry point:
python
if __name__ == "__main__":
port = int(os.getenv("PORT", 5000))
app.run(host="0.0.0.0", port=port)
Environment Variables
Set in Railway dashboard:
- •
LINE_CHANNEL_ACCESS_TOKEN- LINE Bot token - •
LINE_CHANNEL_SECRET- Channel secret - •
FIREBASE_CONFIG_JSON- Complete Firebase JSON
Deployment Steps
- •Connect GitHub repo to Railway
- •Set environment variables
- •Get generated domain URL
- •Configure LINE webhook:
https://your-app.up.railway.app/callback
Monitoring
Add health check:
python
@app.route("/", methods=['GET'])
def health_check():
return "Bot is running!", 200
View logs in Railway dashboard → Deployments → View Logs
Common Issues
- •Crashed: Check
ProcfileandPORTusage - •Webhook 400: Verify
LINE_CHANNEL_SECRET - •Firebase failed: Check JSON format in env var
- •No scheduled jobs: Upgrade to Hobby plan ($5/mo)