Skip to content

Commit

Permalink
Switch to hosting demo on Fly, closes #1522
Browse files Browse the repository at this point in the history
  • Loading branch information
simonw committed Nov 20, 2021
1 parent 494f11d commit 48951e4
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 1 deletion.
24 changes: 23 additions & 1 deletion demos/apache-proxy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

See also [Running Datasette behind a proxy](https://docs.datasette.io/en/latest/deploying.html#running-datasette-behind-a-proxy)

This live demo is running at https://apache-proxy-demo.datasette.io/
This live demo is running at https://datasette-apache-proxy-demo.fly.dev/prefix/

To build locally, passing in a Datasette commit hash (or `main` for the main branch):

Expand All @@ -14,3 +14,25 @@ Then run it like this:
docker run -p 5000:80 datasette-apache-proxy-demo

And visit `http://localhost:5000/` or `http://localhost:5000/prefix/`

## Deployment to Fly

To deploy to [Fly](https://fly.io/) first create an application there by running:

flyctl apps create --name datasette-apache-proxy-demo

You will need a different name, since I have already taken that one.

Then run this command to deploy:

flyctl deploy --build-arg DATASETTE_REF=main

This uses `fly.toml` in this directory, which hard-codes the `datasette-apache-proxy-demo` name - so you would need to edit that file to match your application name before running this.

## Deployment to Cloud Run

Deployments to Cloud Run currently result in intermittent 503 errors and I'm not sure why, see [issue #1522](https://github.com/simonw/datasette/issues/1522).

You can deploy like this:

DATASETTE_REF=main ./deploy-to-cloud-run.sh
File renamed without changes.
37 changes: 37 additions & 0 deletions demos/apache-proxy/fly.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
app = "datasette-apache-proxy-demo"

kill_signal = "SIGINT"
kill_timeout = 5
processes = []

[env]

[experimental]
allowed_public_ports = []
auto_rollback = true

[[services]]
http_checks = []
internal_port = 80
processes = ["app"]
protocol = "tcp"
script_checks = []

[services.concurrency]
hard_limit = 25
soft_limit = 20
type = "connections"

[[services.ports]]
handlers = ["http"]
port = 80

[[services.ports]]
handlers = ["tls", "http"]
port = 443

[[services.tcp_checks]]
grace_period = "1s"
interval = "15s"
restart_limit = 0
timeout = "2s"

0 comments on commit 48951e4

Please sign in to comment.