You can run DocView Capture in your own Google Cloud project. One command creates everything it needs. You then finish in the browser, in the setup wizard. You do not need to install anything on your computer: the command runs in Cloud Shell, a command line that opens in your browser.
What gets created
<prefix> is a short name for the installation. It is docview unless you choose another one.
| What | In plain words |
|---|---|
Web site <prefix>-web (Cloud Run) |
The DocView Capture site your users open. Always on, with a secure https:// address. |
DocView Workers <prefix>-worker (Cloud Run) |
The DocView Workers that import, recognise and export documents. Not reachable from the internet. See DocView Workers. |
DocView OmniRead <prefix>-omniread (Cloud Run) |
Only if you ask for it. The built-in AI OCR service. Not reachable from the internet. |
Database <prefix>-sql (Cloud SQL for SQL Server) |
Holds batches, documents, Batch Setups, users and settings. Private address only, backed up every night. |
Storage bucket <project>-<prefix>-pages (Cloud Storage) |
Holds page images and output files. Private. |
| Secrets (Secret Manager) | The database password, the setup token and the OmniRead key. Created once and kept. |
Service account <prefix>-app |
The identity the site and DocView Workers run as. It can read only these secrets and use only this bucket. |
| Image repository (Artifact Registry) | Fetches the DocView Capture images from the published location when they are needed. |
| Network settings | Private connection to the database, and a NAT gateway so the site and DocView Workers can reach the internet (for example for e-mail). |
What you need
- A Google Cloud project with billing turned on.
- Permission to create resources in it. The Owner role on the project is simplest.
That is all. Cloud Shell already has every tool the command uses.
Step 1: Run the deployment
Click the button. It opens Cloud Shell with a copy of the published DocView Capture repository and a short tutorial beside it.
If Cloud Shell asks, click Trust repo and Authorize.
Run the command. Replace
my-projectwith your project ID, and choose the region where your data should be:./deploy/gcp/deploy.sh --project my-project --region europe-west2Type
ywhen it asks you to continue.
It takes about 15–25 minutes. Creating the database is the slow part. If Cloud Shell disconnects, open it again and run the same command: it carries on where it stopped.
Useful options:
| Option | What it does |
|---|---|
--region |
Where everything runs and where the data is kept. Default europe-west2 (London). |
--prefix |
The short name of the installation. Use a different one to install a second copy, for example --prefix docview-test. |
--workers |
Number of DocView Workers. Default 1. |
--omniread |
Number of DocView OmniRead instances. Default 0 (not installed). |
--admin-email |
Fills in the administrator e-mail address in the setup wizard. |
--domain |
Your own address for the site, for example capture.example.com. |
--tag |
The version to install. Default latest. |
--db-edition |
SQL Server edition: express (default), web or standard. |
--yes |
Do not ask for confirmation. |
All options: ./deploy/gcp/deploy.sh --help
When it finishes, you see:
Site: https://docview-web-123456789012.europe-west2.run.app
Setup wizard: https://docview-web-123456789012.europe-west2.run.app/setup
Setup token: A1b2C3d4E5f6G7h8J9k0L1m2
Step 2: Finish in the setup wizard
- Open the Setup wizard address. If it does not answer yet, wait a minute and refresh: the first start creates the database.
- Enter the setup token.
- Create the administrator account and check the other steps. The database and storage are already set by the deployment, so the wizard shows them as fixed.
See The setup wizard for each step. To show the setup token again:
gcloud secrets versions access latest --secret=docview-setup-token --project=my-project
Add DocView Workers or DocView OmniRead
Run the same command again with a new number. Nothing else changes and no data is touched:
./deploy/gcp/deploy.sh --project my-project --region europe-west2 --workers 3 --omniread 1
If you used other options the first time, such as --prefix, --domain or --admin-email, repeat them.
To change only the number of DocView Workers, this single command is enough:
gcloud run services update docview-worker --region=europe-west2 --min-instances=3 --max-instances=3
--workers 0 removes the DocView Workers and --omniread 0 removes OmniRead. Work that is waiting stays in the queue
until DocView Workers run again.
After adding OmniRead, open the Batch Setup that should use it and choose DocView OmniRead as its OCR engine. The address and key are already configured. See DocView OmniRead. The first documents take longer, because OmniRead downloads its models when they are first needed.
Use your own domain
Run the command with
--domain, for example--domain capture.example.com.Point the domain at the web site. The command prints how. In regions that support it this is a domain mapping:
gcloud beta run domain-mappings create --service=docview-web --domain=capture.example.com --region=europe-west2Then add the DNS records it shows at your DNS provider. Google creates the certificate. In other regions, use a load balancer; ask your Google Cloud administrator.
Until the domain works, the site stays available at its run.app address.
Update to a new version
Run the command again with the version you want:
./deploy/gcp/deploy.sh --project my-project --region europe-west2 --tag 1.4.0
The site and DocView Workers restart on the new version and update the database themselves. Read Upgrading first, for example to take a backup.
Costs
These are rough monthly estimates in US dollars for the default setup. Prices depend on the region and change over time, so check them with the Google Cloud pricing calculator.
| What | Size | Roughly per month |
|---|---|---|
| Web site | 1 vCPU, 2 GiB, always on | $55–65 |
| Each DocView Worker | 2 vCPU, 4 GiB, always on | $110–130 |
| Each OmniRead instance | 4 vCPU, 16 GiB, always on | $270–320 |
| Database | SQL Server Express, 1 vCPU, 3.75 GB | $50–60 |
| Page storage | per GB stored | about $0.02–0.03 |
| NAT gateway, logs, secrets | a few dollars |
SQL Server Express has no licence charge; you pay for the database server's processor, memory and disk. The web
and standard editions add a licence charge per vCPU.
The smallest sensible setup is the default: one web site, one DocView Worker, SQL Server Express and no OmniRead, roughly $230–260 a month plus storage. Google Cloud committed use discounts lower this for long-running installations.
Logs
In the Google Cloud console, open Cloud Run, click the service (
docview-web,docview-workerordocview-omniread) and open the Logs tab.Or in Cloud Shell:
gcloud run services logs read docview-web --region=europe-west2 --limit=100
Delete everything
./deploy/gcp/deploy.sh --project my-project --region europe-west2 --delete
This removes the web site, DocView Workers, OmniRead, image repository, NAT gateway and the setup token. It keeps the database and the storage bucket, so you can install again later and find your data.
To delete the database and all page images as well:
./deploy/gcp/deploy.sh --project my-project --region europe-west2 --delete --delete-data
This cannot be undone. Google Cloud does not let you reuse the database name for about a week, so a new installation
in that time needs a different --prefix.
Troubleshooting
- "Permission denied" or "Billing must be enabled": check that billing is turned on for the project and that you have the Owner role (or ask an administrator to run the command).
- "Setting IAM policy failed" when the web site is deployed: your organisation does not allow public sites. Ask your Google Cloud administrator to allow public access for this project's Cloud Run services.
- The setup page does not open after the command finished: wait a minute and refresh; the first start creates the
database. If it still fails, read the
docview-weblogs (see Logs). - The command stopped half-way: run it again. It skips what already exists and continues.
To run DocView Capture somewhere else, see Install with Docker.