# Dezfil > Self-hosted spatial SQL and map publishing, powered by DuckDB and files. Each page below is linked by its Markdown copy; the page itself is at the same address with a trailing slash in place of .md. ## Get started What Dezfil is, how to install it, and your first map. - [What Dezfil is](https://dezfil.io/docs/start/what-is-dezfil.md): See what you can do with Dezfil, what each of its main screens is for, and how an instance runs and keeps your data. - [Install](https://dezfil.io/docs/start/install.md): Install Dezfil with Docker, Docker Compose or from source, create the admin account, and keep the instance running day to day. - [Your first map](https://dezfil.io/docs/start/first-map.md): Upload a CSV of world cities, put it on a new map, color the points by population and publish the map as a link. ## Use Dezfil Do things in the app: data, maps, SQL, workflows and sharing. - [Import data](https://dezfil.io/docs/use/import-data.md): Upload files, import from a link, Overture Maps or OpenStreetMap, and take snapshots of PostGIS tables. - [Build a map](https://dezfil.io/docs/use/build-a-map.md): Add layers to a map, style them, pick a basemap, edit the legend and draw your own points, lines and areas. - [Widgets and tools](https://dezfil.io/docs/use/widgets-and-tools.md): Add widgets that count, chart and filter a map's data, and run a tool on a layer to make a new dataset and layer from it. - [Query with SQL](https://dezfil.io/docs/use/sql.md): Query your datasets in the SQL workspace, see the result as a table or on a map, and keep it as a dataset, a file or a map layer. - [Workflows](https://dezfil.io/docs/use/workflows.md): Chain tools on a canvas into a workflow, run it, look at each result and run it again when its data or settings change. - [Templates](https://dezfil.io/docs/use/templates.md): Open a finished map or workflow example, see how it is made and where its data comes from, and make a copy of your own to change. - [Share and publish](https://dezfil.io/docs/use/share-and-publish.md): Share a project with people on your Dezfil, publish a map as a link anyone can open, embed it in a web page, or save it as a PNG image. - [The assistant](https://dezfil.io/docs/use/assistant.md): Ask the assistant in plain words to change a map, write SQL into the editor, or explain a workflow node and its last run. - [Your settings](https://dezfil.io/docs/use/settings.md): Change your look, light or dark, how your lists are laid out and sorted, and your name, picture, email and password. ## Self-host Install, secure, configure and back up your own instance. - [Docker Compose](https://dezfil.io/docs/self-host/docker-compose.md): Run Dezfil as a lasting instance with Docker Compose: the data in a named volume, the keys in a file, a restart policy and a health check. - [Reverse proxy and HTTPS](https://dezfil.io/docs/self-host/reverse-proxy.md): Serve Dezfil at your own domain over HTTPS, with Caddy or nginx in front of it. - [Configuration](https://dezfil.io/docs/self-host/configuration.md): Change your instance's settings in the app or with environment variables, and check which value is in effect. - [Set up the assistant](https://dezfil.io/docs/self-host/assistant.md): Turn on the in-app assistant with an Anthropic or OpenAI key, choose its models, and check that it answers. - [Back up and restore](https://dezfil.io/docs/self-host/backup-and-restore.md): Back up your instance's data folder and its encryption key, then restore them on the same machine or a new one. - [Upgrade](https://dezfil.io/docs/self-host/upgrade.md): Move your instance to a new version of Dezfil, keep its data, and go back to the old version if you need to. - [Users](https://dezfil.io/docs/self-host/users.md): Add people to your instance, make someone an admin, reset a forgotten password, and get back in when no admin can sign in. - [What leaves the instance](https://dezfil.io/docs/self-host/what-leaves-the-instance.md): See every outside request your instance can make, what each one sends, and the setting that turns it off or points it at your own server. - [Troubleshooting](https://dezfil.io/docs/self-host/troubleshooting.md): Find the symptom your instance shows, from a container that stops at start-up to a refused upload, and fix it. - [General](https://dezfil.io/docs/self-host/configuration/general.md): Name the instance, write the sign-in page's message and lost-password contact, and choose where people land after they sign in. - [Instance defaults](https://dezfil.io/docs/self-host/configuration/defaults.md): Choose what new maps, new layers, the workflow canvas, the SQL console and a fresh image export start with. - [Basemaps and imagery](https://dezfil.io/docs/self-host/configuration/libraries.md): Choose which basemaps the instance offers, set up satellite imagery, and pin a basemap style of your own. - [Data and services](https://dezfil.io/docs/self-host/configuration/services.md): Point the instance at an address finder, a travel-time service, an Overpass server or S3 storage, and choose its template catalogue. - [Security and rules](https://dezfil.io/docs/self-host/configuration/rules.md): Set how long sign-ins and links last, the shortest password, and who may create tokens, publish, embed, add connections and import. - [Storage and programs](https://dezfil.io/docs/self-host/configuration/storage.md): Set the data folder, the key that encrypts saved connection passwords and addresses, and the programs that build tiles and render images. ## API and agents Script Dezfil over HTTP, or connect an AI agent through MCP. - [API quickstart](https://dezfil.io/docs/api/quickstart.md): Create an API token, then list your maps, upload a CSV, run SQL, add a layer and publish the map, with curl or JavaScript. - [How the API works](https://dezfil.io/docs/api/http-api.md): Call Dezfil's HTTP API from a script: the address, signing in, editing with revisions, who may do what, paging, errors and PostGIS connection strings. - [API reference](https://dezfil.io/docs/api/reference/): Every operation of the HTTP API, generated from its description: parameters, bodies, responses, schemas and error codes. - [Connect an AI agent](https://dezfil.io/docs/api/mcp.md): Connect Claude Code, Codex, Cursor or another MCP client to Dezfil and add the Dezfil plugin, so an agent can work with your maps, data and workflows. - [Errors](https://dezfil.io/docs/api/errors.md): Read the error answer a failed API call returns, and know what to do about the codes a script or an agent meets most often. - [Limits](https://dezfil.io/docs/api/limits.md): Find every limit Dezfil holds requests to, what you get when you reach one, and the setting that changes it. - [OpenAPI description](https://dezfil.io/docs/api/openapi.json): The whole HTTP API as one OpenAPI document in JSON, for API clients, code generators and agents. ## Contribute Work on Dezfil's code. - [Development setup](https://dezfil.io/docs/contribute/development-setup.md): Run a checkout for development, run the checks and tests the pipeline runs, and start the instances the browser suite and the scripts need. - [Architecture](https://dezfil.io/docs/contribute/architecture.md): Find where each part of the Dezfil container lives in the source, and keep the rules that hold the parts together. - [How this is built](https://dezfil.io/docs/contribute/how-this-is-built.md): Take a change from an idea to main: describe the behavior, build it on a branch with its tests, pass the checks and get it reviewed. - [Write a docs page](https://dezfil.io/docs/contribute/write-docs.md): Write or rewrite a page under docs/ that people and agents can act on, and pass every check of npm run lint:docs. - [Contributing to Dezfil](https://dezfil.io/docs/contribute/contributing.md): How to get a change from your machine into the project. - [Contributor Covenant Code of Conduct](https://dezfil.io/docs/contribute/code-of-conduct.md): The standards for taking part and how they are enforced. ## About Licence, credits, changes and policies. - [Licence and credits](https://dezfil.io/docs/about/licence-and-credits.md): Check Dezfil's licence, the libraries, fonts and tools it includes, and the map data credits your maps show. - [Changelog](https://dezfil.io/docs/about/changelog.md): What changed in each release. - [Security policy](https://dezfil.io/docs/about/security-policy.md): Which versions get fixes and how to report a vulnerability.