|
All checks were successful
continuous-integration/drone Build is passing
* Data contains existing proposals too. #2 |
||
|---|---|---|
| docs | ||
| errs | ||
| models | ||
| server | ||
| .dockerignore | ||
| .drone.yml | ||
| .gitignore | ||
| captain-definition | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| README.md | ||
Organizátorské Kartografické OKO - server
📝 Table of Contents
🧐 About
Central server for the OKO app. Manges users, provides map tiles and the whole map tile pack, receives geo features submitted by users and serves them back.
🏗 Building
The only requirement to build the server is go.
In the root of the project, run
go build
which will produce the executable oko-server which you can just run (see Usage).
🎈 Usage
Using docker
Dockerfile is included, therefore to build the docker image, all that is needed to do is to run
docker build -t name:tag /path/to/the/root/of/the/repository
or, if you have no local changes, you can build the image even without cloning the repository at all
docker build -t name:tag https://github.com/Cernobor/oko-server.git
The image can then be run using the name:tag that you have given in the previous step.
Volume /data is available to share data between the host and the container.
docker run -v /path/to/data:/data name:tag [options...]
Without docker
Just run the previously built (see Building) executable
/path/to/oko-server [options...]
Options
The server is configurable via a set of options, some of which are required. The table of options follows:
| option | description |
|---|---|
-tilepack <path> |
Required. File that will be sent to clients when they request a tile pack, also used to serve tiles in online mode. |
-port <port> |
Port where the server will listen. Default is 8080. |
-dbfile <path> |
Path to the sqlite3 database file used for data storage. Will be created, if it does not exist upons startup. Default is ./data.sqlite3. |
-min-zoom <int> |
Minimum supported zoom. Clients will receive this value during handshake. Default is 1. |
-default-center-lat <float> |
Latitude of the default map center, formatted as a floating point number of degrees. Clients will receive this value during handhake. Default is 0. |
-default-center-lng <float> |
Longitude of the default map center, formatted as a floating point number of degrees. Clients will receive this value during handhake. Default is 0. |
-max-photo-width <int> |
Maximum width of stored pohotos. Uploaded photos exceeding this width will be rescaled to fit (keeping aspect ratio). If 0, no scaling will be done. Default is 0. |
-max-photo-height <int> |
Maximum height of stored pohotos. Uploaded photos exceeding this height will be rescaled to fit (keeping aspect ratio). If 0, no scaling will be done. Default is 0. |
-photo-quality <int> |
JPEG photo quality. Photos are reencoded to JPEG with this quality setting when uploaded. Default is 90. |
-debug |
If specified, logging level will be set do debug instead of info. w |
⛏️ Built Using
- Go - Programming language
- Gin - HTTP handler
- SQLite - Database
- mbtileserver - MBTiles tile server
✍️ Authors
See also the list of contributors who participated in this project.
🎉 Acknowledgements
- Hat tip to anyone whose code was used
