Skip to content

Commit

Permalink
website
Browse files Browse the repository at this point in the history
  • Loading branch information
hyperknot committed Jan 31, 2024
1 parent 9158794 commit 7f23595
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 42 deletions.
35 changes: 4 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
<a href="https://openfreemap.org/"><img src="website/assets/logo.jpg" alt="logo" height="200" class="logo" /></a>

# OpenFreeMap

[openfreemap.org](https://openfreemap.org)


## Preface: what this is and what this isn't

*Google has more than 7000 people on the Maps team (and that's a [14 year old](https://www.businessinsider.com/apple-has-7000-fewer-people-working-on-maps-than-google-2012-9) number). Mapbox has raised over $500M in funding rounds. It seems like every open-source map company either goes bankrupt or changes to closed-source model.*
_Google has more than 7000 people on the Maps team (and that's a [14 year old](https://www.businessinsider.com/apple-has-7000-fewer-people-working-on-maps-than-google-2012-9) number). Mapbox has raised over $500M in funding rounds. It seems like every open-source map company either goes bankrupt or changes to closed-source model._

How can this project work?

The only way this project can possibly work is to be super focused about what it is and what it isn't.

#### 1.

OFM chooses **building blocks**, which are currently: [OpenStreetMap](https://www.openstreetmap.org/copyright), [OpenMapTiles](https://github.com/openmaptiles/openmaptiles), [Planetiler](https://github.com/onthegomap/planetiler) , [MapLibre](https://maplibre.org/) and [Natural Earth](https://www.naturalearthdata.com/) and soon [tilemaker](https://github.com/systemed/tilemaker).
OFM chooses **building blocks**, which are currently: [OpenStreetMap](https://www.openstreetmap.org/copyright), [OpenMapTiles](https://github.com/openmaptiles/openmaptiles), [Planetiler](https://github.com/onthegomap/planetiler) , [MapLibre](https://maplibre.org/) and [Natural Earth](https://www.naturalearthdata.com/) and soon [tilemaker](https://github.com/systemed/tilemaker).

OFM does not want to be an alternative to any of these projects. If the community decides, we can change a building block if it is deemed production-ready. If issues are opened in the scope of these projects, they will be closed and pointed to the right repos.

#### 2.

OFM is providing **full planet vector tile hosting** for displaying maps on websites or mobile apps.

OFM is not about:
OFM is not about:

- search or geocoding

Expand Down Expand Up @@ -54,8 +54,6 @@ OFM does not guarantee **automatic updates** for self-hosters. Only enable the c

This repo is not something which has to be **constantly updated**, improved, version-bumped. The dream, the ultimate success of this repo is when there are no commits, yet everything works: the map tiles are automatically generated, HTTP servers are automatically updated and load balancing takes care of failing servers.



## How to run?

Python 3.10/11
Expand All @@ -73,30 +71,20 @@ There are two server tasks:
- `--http-host` - Downloads full planet tiles from the public buckets and serves them over HTTPS. Probably the one you want.
- `--tile-gen` - If you have a beefy machine and you want to generate tiles yourself. Not needed for self-hosting.





### Buckets

...



### HTTPS

The current HTTPS system is made to use long term Cloudflare origin certificates. The same certificates are uploaded to all the server. This is only possible because CF certs are valid for 15 years.

Once Load Balancing on CF is working, next step will be to integrate Let's Encrypt. If you know how to do this, please comment in the forum.



### Warning

This project is made to run on clean servers or virtual machines dedicated for this project. The scripts need sudo permissions as they mount/unmount disk images. Do not run this on your dev machine without using virtual machines. If you do, please make sure you understand exactly what each script is doing.



## Domains and Cloudflare

The project has two domains: .org and .com. Currently, both are on Cloudflare.
Expand All @@ -105,8 +93,6 @@ The general public only interacts with the .org domain. It has been designed so

The .com domain hosts the R2 buckets, which are required to be on Cloudflare. This domain will always remain on CF.



## FAQ

### System requirements
Expand All @@ -115,16 +101,12 @@ Ubuntu 22+

Disk space: about 240 GB for hosting a single run, 500 GB for tile gen.



**What about PMTiles?**

I would have loved to use PMTiles; they are a brilliant idea!

Unfortunately, making range requests in 80 GB files just doesn't work in production. It is fine for files smaller than 500 MB, but it has terrible latency and caching issues for full planet datasets.



## Roadmap

v0.x - load balancing on Let's Encrypt
Expand All @@ -133,15 +115,6 @@ v0.2 - load balancing using Round-Robin DNS on Cloudflare. 2+ servers for HTTP h

v0.1 - everything works. 1 server for tile gen, 1 server for HTTP host. <- we are here!





## License

The license of this project is [MIT](https://www.tldrlegal.com/license/mit-license). Map data is from [OpenStreetMap](https://www.openstreetmap.org/copyright). The licenses for included projects are listed in [LICENSE.md](https://github.com/hyperknot/openfreemap/blob/main/LICENSE.md).





12 changes: 6 additions & 6 deletions website/assets/pricing.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
},
{
"price": 20,
"name": "Copper",
"icon": "🥘",
"name": "Bronze",
"icon": "🗽",
"lm_url": "9d2b0961-d8d2-4b10-94fc-5d7497baef40"
},
{
"price": 40,
"name": "Bronze",
"icon": "🛎️",
"name": "Copper",
"icon": "🎷",
"lm_url": "76d47d46-9ffa-411c-b6c3-96dd491631bc"
},
{
Expand All @@ -32,7 +32,7 @@
{
"price": 250,
"name": "Platinum",
"icon": "💿",
"icon": "🛰",
"lm_url": "c837df35-eb23-4206-a0b5-024a236077cb"
},
{
Expand All @@ -44,7 +44,7 @@
{
"price": 1000,
"name": "Diamond",
"icon": "💎",
"icon": "👑",
"lm_url": "5c24c85b-cd08-42ff-9515-743e46f3e825"
}
]
2 changes: 1 addition & 1 deletion website/assets/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ hr {
}

.noUi-value.active {
font-size: 40px;
font-size: 45px;
}

.noUi-marker-horizontal.noUi-marker-large {
Expand Down
8 changes: 4 additions & 4 deletions website/blocks/main.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## What is OpenFreeMap?

OpenFreeMap allows you to display custom maps on your website and apps.
OpenFreeMap provides free map hosting so you can display custom maps on your website and apps.

It's truly **free**: there are no limits on the number of map views or requests you can make, nor on how you use your map. There is no registration page, user database, API keys, or cookies.

Expand All @@ -16,12 +16,12 @@ If this project helps you save on your map hosting costs, please subscribe to on

<!--support_plans-->

When subscribing to a support plan, you receive an invoice for each of your payments.

On **Gold** level and above, we offer personalised technical support by email.
On **Gold** level and above, we offer personalised technical support by email. Otherwise, support is via GitHub [Discussions](https://github.com/hyperknot/openfreemap/discussions).

If we ever receive a **Diamond** level supporter, we'll put their logo on this page.

When subscribing to a support plan, you receive an invoice for each of your payments.

Note: if you want to make a single donation, feel free to cancel after the first payment. However, please understand that the nature of this project needs recurring donations to cover the server costs.

## Is commercial usage allowed?
Expand Down

0 comments on commit 7f23595

Please sign in to comment.