Merge pull request 'Add sample code' (#1) from add-sample-project into main
Reviewed-on: #1
This commit is contained in:
commit
ac79ff4dfc
4 changed files with 74 additions and 2 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
vars.yaml
|
||||
*.versatiles
|
||||
2
Dockerfile
Normal file
2
Dockerfile
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
# Use the latest docker image of VersaTiles including the frontend.
|
||||
FROM versatiles/versatiles-frontend:v0.15.6-alpine
|
||||
54
README.md
54
README.md
|
|
@ -1,3 +1,53 @@
|
|||
# cf-versatiles
|
||||
# Cloud Foundry: Sample Versatiles App
|
||||
|
||||
Sample code to deploy Versatiles app as a Docker container on Cloud Foundry
|
||||
This repository contains the sample code to deploy a [versatiles](https://docs.versatiles.org/) app to STACKIT Cloud Foundry as a docker container.
|
||||
It is based on the bundled [front-end](https://docs.versatiles.org/guides/local_server_docker.html#optionb--bundled-frontend-image-versatiles-frontend) image, please refer to versatiles documentation for further information.
|
||||
|
||||
> NOTE: The project contains a dockerfile, which is merely a wrapper around the public versatiles image. It can be uploaded to a private project in STACKIT Container Registry
|
||||
> to demonstrate the usage of private images in Cloud Foundry. You can also use any other registry, public or private.
|
||||
|
||||
## Preparation
|
||||
|
||||
Please install and [configure](https://docs.stackit.cloud/stackit/en/how-to-setup-an-object-storage-client-objectstorage-71009862.html) s3cmd in advance.
|
||||
|
||||
### Object Storage
|
||||
|
||||
Create a bucket: `s3cmd mb s3://<BUCKET_NAME>`.
|
||||
|
||||
Make bucket [public](https://docs.stackit.cloud/stackit/en/bucket-policies-75139510.html#BucketPolicies-SampleBucketpolicies>) applying following policy:
|
||||
|
||||
```json
|
||||
{
|
||||
"Statement":[
|
||||
{
|
||||
"Sid": "MakePublicReadable",
|
||||
"Effect":"Allow",
|
||||
"Principal":"*",
|
||||
"Action":"s3:GetObject",
|
||||
"Resource":"urn:sgws:s3:::<BUCKET_NAME>/*"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
`s3cmd setpolicy <PATH-TO-POLICY-JSON> s3://<BUCKET_NAME>`
|
||||
|
||||
Download the `tiles` file: `wget -c "https://download.versatiles.org/osm.versatiles"`.
|
||||
|
||||
> NOTE: the whole world map is about 65GB.
|
||||
|
||||
Upload tile file to the bucket:
|
||||
|
||||
```sh
|
||||
s3cmd put <FILE_NAME> s3://<BUCKET_NAME>
|
||||
```
|
||||
|
||||
## Deploy the app with Cloud Foundry
|
||||
|
||||
Prepare a `vars.yaml` file containing the [variables](https://docs.cloudfoundry.org/devguide/deploy-apps/manifest-attributes.html) used in the manifest.
|
||||
|
||||
Push the app: `CF_DOCKER_PASSWORD=<YOUR_PASSWORD> cf push --vars-file <PATH-TO-VARS-FILE>`.
|
||||
|
||||
## Custom Domains
|
||||
|
||||
Please refer to official STACKIT [documentation](https://docs.stackit.cloud/stackit/en/how-to-register-custom-domains-for-apps-on-stackit-cloud-foundry-67771947.html).
|
||||
|
|
|
|||
18
manifest.yaml
Normal file
18
manifest.yaml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
applications:
|
||||
- name: versatiles-test
|
||||
memory: 1024M
|
||||
disk: 1Gi
|
||||
#routes:
|
||||
# - route:
|
||||
# options:
|
||||
# loadbalancing: round-robin
|
||||
instances: 1
|
||||
random-route: true
|
||||
docker:
|
||||
image: ((imageUrl))
|
||||
username: ((dockerUsername))
|
||||
timeout: 10
|
||||
health-check-type: http
|
||||
health-check-http-endpoint: /
|
||||
command: versatiles serve -p $PORT -s frontend-dev.br.tar ((versatilesUrl))
|
||||
Loading…
Reference in a new issue