Skip to content

WIP: Docs: Describe how to connect QField to local QFC dev instance.#1447

Draft
lukasgraf wants to merge 1 commit intomasterfrom
docs-connect-qfield-to-local-instance
Draft

WIP: Docs: Describe how to connect QField to local QFC dev instance.#1447
lukasgraf wants to merge 1 commit intomasterfrom
docs-connect-qfield-to-local-instance

Conversation

@lukasgraf
Copy link
Contributor

Add some docs that describe how to connect QField to local QFC dev instance.

@Rakanhf
Copy link
Contributor

Rakanhf commented Dec 18, 2025

This is amazing ! Thank you. 🚀

I read the document, and for me it was very easy to setup, and I also can use something like hostname -I to get the ip. I'm not sure if this will work for every one or other OS, but it get the job done in ubuntu.

Copy link
Member

@gounux gounux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a spotted typo :)
Thanks for this guide !


- The QFieldCloud app container's ports must be exposed on the public interface (0.0.0.0) of your dev machine
To check this, run `docker compose ps app`. It should say `0.0.0.0:8011->8000/tcp`.
- Your dev machien and your mobile phone need to be on the same network (e.g. same WiFi)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Your dev machien and your mobile phone need to be on the same network (e.g. same WiFi)
- Your dev machine and your mobile phone need to be on the same network (e.g. same WiFi)

- Your dev machien and your mobile phone need to be on the same network (e.g. same WiFi)
- Find out the external IP address of the interface that the app container's HTTP port is bound to.
E.g. something like `ip -f inet addr show eth1` (make sure to pick the right interface if you have several NICs, like Ethernet and WiFi)
- For easier access via hostname, you need to have an mDNS service like avahi running on your dev machine.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- For easier access via hostname, you need to have an mDNS service like avahi running on your dev machine.
- For easier access via hostname, you need to have an mDNS service like `avahi` running on your dev machine.

E.g. something like `ip -f inet addr show eth1` (make sure to pick the right interface if you have several NICs, like Ethernet and WiFi)
- For easier access via hostname, you need to have an mDNS service like avahi running on your dev machine.
On Linux, check that `avahi` is running: `systemctl status avahi-daemon`
If not, install `avahi-daemon` and make sure it's running. That should then allow you to access your dev machine as `<your-dev-machine-hostname>.local` from devices on the same network. E.g. if the hostname of your dev machine is `foo`, you should be able to reach it using `ping foo.local` from another machine on the same network.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If not, install `avahi-daemon` and make sure it's running. That should then allow you to access your dev machine as `<your-dev-machine-hostname>.local` from devices on the same network. E.g. if the hostname of your dev machine is `foo`, you should be able to reach it using `ping foo.local` from another machine on the same network.
If not, install `avahi-daemon` and make sure it's running.
That should then allow you to access your dev machine as `<your-dev-machine-hostname>.local` from devices on the same network.
E.g. if the hostname of your dev machine is `foo`, you should be able to reach it using `ping foo.local` from another machine on the same network.

We tend to add new markdown with one sentence per line for better history tracking.


## Connecting QField to a local QFieldCloud instance

In order to connect the QField mobile app to your local QFieldCloud development instance, the following prerequisites must be met:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In order to connect the QField mobile app to your local QFieldCloud development instance, the following prerequisites must be met:
QFieldCloud REST API is used across clients, including the QField app.
One can test their local QFieldCloud instance by running QField on their development machine.
[Install QField](https://qfield.org/get) for your operating system.
In order to connect QField from a device different from your development machine (e.g. your mobile phone), the following prerequisites must be met:

Not sure what was the use case, but 95% of the time you better test the APIs using the desktop client, because you also have (easy) access to the configuration files. I guess it needs a bit of reordering, so in the injected paragraph above we can point to the bullet with instructions - start, type ip etc etc.

Copy link
Collaborator

@suricactus suricactus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good stuff here, I guess for less GIS people is helpful.

A few comments:

  • Don't forget a symbol a the end of the line otherwise the letters will fall off.
  • Make it clear that most of the cases the easier (I would even use the preferable) way for testing the majority of cases is the desktop app. (I guess SSO and integrated positioning are the exclusions).
  • If you use ordered bullet list as it is always easier to read and ask questions later.
  • Try to keep one sentence per line when markdown allows it. Helps with git history later.

Side note not directly related to this PR: the README is getting massive, we either need to reorganize it, or we split it. No need to do anything for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants