doc: add reverse-proxy section in server-config

Change-Id: I0abbb7d0de734eb5d22799bb4fa7d627e21c495a
This commit is contained in:
mpl 2018-08-24 01:58:36 +02:00
parent 9a49f0959d
commit e3577aab47
1 changed files with 26 additions and 8 deletions

View File

@ -144,8 +144,8 @@ create a schema in addition to the default schema. You will need `grant create,
insert, update, delete, alter, show databases on *.*` permissions for your
database user.
You can use the [camtool dbinit](/cmd/camtool/) command to initialize your
database, and see [dbinit.go](/cmd/camtool/dbinit.go) and
You can use the [pk dbinit](/cmd/pk/) command to initialize your
database, and see [dbinit.go](/cmd/pk/dbinit.go) and
[dbschema.go](/pkg/sorted/mysql/dbschema.go) if you're curious about the
details.
@ -154,13 +154,12 @@ details.
Perkeep uses Go html templates to publish pages, and publishing can be
configured through the `publish` key. There is already support for an image
gallery view, which can be enabled similarly to the example below (obviously,
the rootPermanode will be different).
the camliRoot will be different).
"publish": {
"/pics/": {
"camliRoot": "mypics",
"backendURL": "http://localhost:3178/",
"cacheRoot": "/home/joe/var/camlistore/blobs/cache",
"cacheRoot": "/home/joe/var/perkeep/blobs/cache",
"goTemplate": "gallery.html"
}
}
@ -169,10 +168,29 @@ See the
[serverconfig.Publish](https://perkeep.org/pkg/types/serverconfig/#Publish)
type for all the configuration parameters.
One can create any permanode with pk put or the UI, and set its camliRoot
One can create any permanode with **pk-put** or the web UI, and set its camliRoot
attribute to the value set in the config, to use it as the root permanode for
publishing.
One common use-case is for Perkeep (and the publisher app) to run behind a
reverse-proxy (such as Nginx), which takes care of the TLS termination, and
where therefore it might be acceptable for both perkeepd and publisher to listen
for non-TLS HTTP connections. In that case, the app handler configuration
parameters should be specified, such as in the example below. In addition,
please note that the reverse-proxy should not modify the Host header of the
incoming requests.
"publish": {
"/pics/": {
"camliRoot": "mypics",
"cacheRoot": "/home/joe/var/perkeep/blobs/cache",
"goTemplate": "gallery.html",
"apiHost": "http://localhost:3179/",
"listen": ":44352",
"backendURL": "http://localhost:44352/"
}
},
Please see the [publishing README](/doc/publishing/README) for further details
on how to set up permanodes for publishing, or if you want to
make/contribute more publishing views.
@ -208,7 +226,7 @@ The following steps should get you started with MySQL:
* Add a <b>dbname</b> option. (ex: "dbname": "camliprod")
* Add a <b>mysql</b> option. (ex: "mysql": "foo@localhost:bar")
* Create a dedicated user/password for your mysql server.
* Initialize the database with **camtool**: `camtool dbinit --user=foo
* Initialize the database with **pk**: `pk dbinit --user=foo
--password=bar --host=localhost --dbname=camliprod --wipe`
Setting up MongoDB is even simpler, but the MongoDB indexer is not as well
@ -240,7 +258,7 @@ If `"/bs"` is the storage for your primary instance, such as for example:
"handlerArgs": {
"largeBlobs": "/bs-packed/",
"metaIndex": {
"file": "/home/you/var/camlistore/blobs/packed/packindex.leveldb",
"file": "/home/you/var/perkeep/blobs/packed/packindex.leveldb",
"type": "leveldb"
},
"smallBlobs": "/bs-loose/"