deployment-railway
Deploy Python Flask applications to Railway.app with environment configuration and webhook setup
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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:
web: python main.py
requirements.txt:
Flask==3.0.0
line-bot-sdk==3.5.0
APScheduler==3.10.4
firebase-admin==6.2.0
main.py entry point:
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:
@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)
Links
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!