Add self-hosting documentation

This commit is contained in:
Sofía Aritz 2023-05-20 20:08:28 +00:00
parent 900803753a
commit aa935039a1

View file

@ -1,9 +1,43 @@
# Documentations # Documentation
## Intro ## Intro
This documents aims to document obscure things like the CSS2 URL format and other stuff for its usage in GFonts and related projects. This documents aims to document obscure things like the CSS2 URL format and other stuff for its usage in GFonts and related projects.
## Self-hosting
### Google Fonts Mirror
Creating a Google Fonts mirror is an easy task. You need the following:
1. A reliable server (e.g. a VPS).
2. [git](https://git-scm.com/).
3. A way to host the files ([Caddy](https://caddyserver.com/), [NGINX](https://www.nginx.com/), [Apache HTTP Server](https://httpd.apache.org/), etc.)
4. (Technically this is not a requirement, but you should use one anyway) A domain.
Then follow the following steps:
1. Run `git clone https://github.com/google/fonts --branch main --single-branch --depth 1 [folder]`
* `[folder]` should be replaced with the folder where you will save the mirror.
* This is just a [shallow clone](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---depthltdepthgt)
of the repo. You can just `git clone` the repo, but it's not recommended due to disk and bandwidth usage.
2. Serve the files somewhere.
* [Caddy](https://caddyserver.com/docs/quick-starts/static-files)
* [NGINX](https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/)
* [Apache](https://askubuntu.com/questions/556858/how-to-set-up-a-simple-file-server)
3. Check that the mirror works by accessing the `[root]/README.md`
* `[root]` should be replaced with your domain + the path where it's served (for example, [cdn.sofiaritz.com/fonts](https://cdn.sofiaritz.com/fonts)).
* If everything is working, a README.md file like [this one](https://github.com/google/fonts/blob/main/README.md) should be downloaded.
4. (Optional) Create a `index.html` file.
* You can create a `index.html` file with something you want to tell about the mirror at `[folder]`.
* For example, check [cdn.sofiaritz.com/fonts](https://cdn.sofiaritz.com/fonts).
* I use that page to teach the users about the dangers of services like Google Fonts, how I handle personal data
and my contact information.
### GFonts Interface
1. Run `git clone https://git.sofiaritz.com/GFonts/gfonts-interface`
2. Run `yarn build`.
3. Follow step 2 of [Self-hosting § Google Fonts Mirror](#google-fonts-mirror) with the `dist/` folder.
## CSS2 format ## CSS2 format
The [CSS2 format documentation](https://developers.google.com/fonts/docs/css2) is widely available, this helps implementors like us to create compatible APIs and libraries. [Archived](https://web.archive.org/web/20230518105635/https://developers.google.com/fonts/docs/css2) The [CSS2 format documentation](https://developers.google.com/fonts/docs/css2) is widely available, this helps implementors like us to create compatible APIs and libraries. [Archived](https://web.archive.org/web/20230518105635/https://developers.google.com/fonts/docs/css2)