Deploy apps using your own testing/development environment without the need for an external host
DEPRECATED - Cloudflare provides their own way of managing tunnels using a GUI, which you may find more useful. You can find that here.
cloudflared must be in PATH or defined as an env variable CLOUDFLARED_PATH prior to usage. Download here.
Uses whatever postgresql server is running locally depending on process.env.NODE_ENV, if not define DATABASE_HOST, DATABASE_USER and DATABASE_PASSWORD with the appropriate values.
To bootstrap
npm run bootstrap
To build all packages
npm run build-all
To run migrations in production, first move to core package: cd packages/core
npm run migrate:latest --env production
To rollback changes
npm run migrate:rollback --env production
Two choices, recommended Dockerfile is ready to use (don't forget to include postgresql configuration). Otherwise try the following in (/packages/app):
npm run start
If using docker, it's recommended to store any sensitive environment values in docker secrets.
There's several use cases to using Cloudflare Argo's Free Plan (see here) but here are my own:
- Wanted to utilize old/unused devices sitting around and spend less on external hosting services. Free tier limits mostly suck.
- Build your own testing platform with similar functionality to Heroku or Google App Engine, except self-hosted and completely free.
- Host a FaaS platform similar to AWS or Azure using OpenFaaS by routing Cloudflare Argo to your own serverless farm. Checkout demo link to see OpenFaaS in use.
App could use some improvements visually, will work on it incrementally as necessary to polish. Suggestions are welcome.
- Add alerts for timeouts
- Add logging to each tunnel as well as uptime, etc
- Include area/page to override global options (server)
MIT
