Commit graph

21 commits

Author SHA1 Message Date
Simon Willison
61400fba1a Fix Docker release builds on main with Bookworm base image
Apply the Dockerfile fix from 0.65.x to avoid expired Bullseye security repository metadata.

Original fix: 91fa786de9
2026-09-10 18:52:19 -07:00
Simon Willison
9676b2deb0 Upgrade Docker images to Python 3.11, closes #1853 2022-10-25 12:04:53 -07:00
Simon Willison
668415df9f Upgrade Docker baes to 3.10.6-slim-bullseye - refs #1768 2022-08-14 08:47:17 -07:00
Simon Willison
2c31d1cd9c Upgrade Docker base to Debian buster, refs #1497 2021-10-24 16:24:41 -07:00
Simon Willison
fc972350a8 Docker image should now allow apt-get install, closes #1320 2021-05-24 11:07:03 -07:00
Simon Willison
5fd0289065 Build Dockerfile with SpatiaLite 5, refs #1249 2021-03-26 21:27:40 -07:00
Bob Whitelock
d0fd833b8c
Add compile option to Dockerfile to fix failing test (fixes #696) (#1223)
This test was failing when run inside the Docker container:
`test_searchable[/fixtures/searchable.json?_search=te*+AND+do*&_searchmode=raw-expected_rows3]`,

with this error:

```
    def test_searchable(app_client, path, expected_rows):
        response = app_client.get(path)
>       assert expected_rows == response.json["rows"]
E       AssertionError: assert [[1, 'barry c...sel', 'puma']] == []
E         Left contains 2 more items, first extra item: [1, 'barry cat', 'terry dog', 'panther']
E         Full diff:
E         + []
E         - [[1, 'barry cat', 'terry dog', 'panther'],
E         -  [2, 'terry dog', 'sara weasel', 'puma']]
```

The issue was that the version of sqlite3 built inside the Docker
container was built with FTS3 and FTS4 enabled, but without the
`SQLITE_ENABLE_FTS3_PARENTHESIS` compile option passed, which adds
support for using `AND` and `NOT` within `match` expressions (see
https://sqlite.org/fts3.html#compiling_and_enabling_fts3_and_fts4 and
https://www.sqlite.org/compile.html).

Without this, the `AND` used in the search in this test was being
interpreted as a literal string, and so no matches were found. Adding
this compile option fixes this.

Thanks, @bobwhitelock
2021-03-06 23:41:17 -08:00
Simon Willison
a4239309b1 Bump Dockerfile to using Python 3.7.10, closes #1235 2021-02-18 17:48:20 -08:00
Simon Willison
e3e387fae7 Fixed URLs to SpatiaLite files, refs #931 2020-08-12 13:49:50 -07:00
Simon Willison
f7f31a0223 Upgrade Dockerfile to SQLite 3.31.1, closes #695 2020-03-06 00:15:19 -06:00
Simon Willison
7950105c27 Python 3.7.2 as base for Docker image 2019-01-13 15:33:50 -08:00
Simon Willison
a418c8b44f Expose current git tag to Docker build, closes #399 2019-01-13 15:09:48 -08:00
Simon Willison
50d8d8216d Dockerfile now builds SQLite 3.26.0, closes #397 2019-01-10 16:47:54 -08:00
Ravi Kotecha
bd30c696e1 Build Dockerfile with recent Sqlite + Spatialite (#280)
Closes #278

```bash
  $ docker run --rm -it datasette spatialite
  SpatiaLite version ..: 4.4.0-RC0	Supported Extensions:
    - 'VirtualShape'	[direct Shapefile access]
    - 'VirtualDbf'		[direct DBF access]
    - 'VirtualXL'		[direct XLS access]
    - 'VirtualText'		[direct CSV/TXT access]
    - 'VirtualNetwork'	[Dijkstra shortest path]
    - 'RTree'		[Spatial Index - R*Tree]
    - 'MbrCache'		[Spatial Index - MBR cache]
    - 'VirtualSpatialIndex'	[R*Tree metahandler]
    - 'VirtualElementary'	[ElemGeoms metahandler]
    - 'VirtualKNN'	[K-Nearest Neighbors metahandler]
    - 'VirtualXPath'	[XML Path Language - XPath]
    - 'VirtualFDO'		[FDO-OGR interoperability]
    - 'VirtualGPKG'	[OGC GeoPackage interoperability]
    - 'VirtualBBox'		[BoundingBox tables]
    - 'SpatiaLite'		[Spatial SQL - OGC]
  PROJ.4 version ......: Rel. 4.9.3, 15 August 2016
  GEOS version ........: 3.5.1-CAPI-1.9.1 r4246
  TARGET CPU ..........: x86_64-linux-gnu
  the SPATIAL_REF_SYS table already contains some row(s)
  SQLite version ......: 3.23.1
  Enter ".help" for instructions
  SQLite version 3.23.1 2018-04-10 17:39:29
  Enter ".help" for instructions
  Enter SQL statements terminated with a ";"
  spatialite>
```

```bash
$ docker run --rm -it datasette python -c "import sqlite3; print(sqlite3.sqlite_version)"
3.23.1
```

Also updates the query used to check for FTS5 as the old version wasn't
detecting FTS5 for some reason.
2018-05-23 10:43:34 -07:00
Simon Willison
f3445e2d13 Install python3-dev rothar than python-dev 2017-11-17 06:18:49 -08:00
Ariel Núñez
8b4c600d98 Add spatialite, switch to debian and local build (#114) 2017-11-16 19:50:51 -08:00
Andrew Cutler
86755503d2 Initial add simple prod ready Dockerfile refs #57 (#94) 2017-11-14 19:08:04 -08:00
Simon Willison
65e350ca2a Implemented 'datasette publish one.db two.db' command
Closes #26
2017-11-10 23:25:22 -08:00
Simon Willison
1592fd0419 Started work on cli, which also meant adding setup.py
I'm using click, and click recommends using a setup.py - so I've added one of
those. I also refactored code into a new datasite package. It's not quite
deploying to now properly at the moment though - I seem to have messed up the
path handling a bit.

Also snuck in a new template for the "Row" view.

Refs #40
2017-10-27 00:08:24 -07:00
Simon Willison
606ff9e35e python app.py --build to generate build-metadata.json
This is now run by the Dockerfile to build this at compile time.
2017-10-23 22:53:13 -07:00
Simon Willison
de04d7a854 Initial working proof of concept 2017-10-22 17:41:19 -07:00