feat: add Grist (#906)
This commit is contained in:
parent
a3b5306e2c
commit
8c96db771e
27
apps/grist/config.json
Normal file
27
apps/grist/config.json
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"name": "Grist",
|
||||||
|
"available": true,
|
||||||
|
"port": 8484,
|
||||||
|
"exposable": true,
|
||||||
|
"id": "grist",
|
||||||
|
"description": "Grist is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the robustness of a database to organize your data and make you more productive.",
|
||||||
|
"tipi_version": 1,
|
||||||
|
"version": "1.1.2",
|
||||||
|
"categories": ["utilities"],
|
||||||
|
"short_desc": "Grist is the evolution of spreadsheets.",
|
||||||
|
"author": "https://github.com/gristlabs",
|
||||||
|
"source": "https://github.com/gristlabs/grist-core",
|
||||||
|
"website": "https://www.getgrist.com/",
|
||||||
|
"form_fields": [
|
||||||
|
{
|
||||||
|
"type": "",
|
||||||
|
"label": "GRIST_SANDBOX_FLAVOR",
|
||||||
|
"required": true,
|
||||||
|
"options": [
|
||||||
|
{ "label": "unsandboxed", "value": "unsandboxed" },
|
||||||
|
{ "label": "gvisor", "value": "gvisor" }
|
||||||
|
],
|
||||||
|
"env_variable": "GRIST_SANDBOX_FLAVOR"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
43
apps/grist/docker-compose.yml
Normal file
43
apps/grist/docker-compose.yml
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
version: "2.1"
|
||||||
|
|
||||||
|
services:
|
||||||
|
grist:
|
||||||
|
container_name: grist
|
||||||
|
environment:
|
||||||
|
- APP_HOME_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}
|
||||||
|
- GRIST_SANDBOX_FLAVOR=${GRIST_SANDBOX_FLAVOR}
|
||||||
|
image: "gristlabs/grist:1.1.2"
|
||||||
|
ports:
|
||||||
|
- "${APP_PORT}:8484"
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- "${APP_DATA_DIR}/data/grist-data:/persist"
|
||||||
|
networks:
|
||||||
|
- tipi_main_network
|
||||||
|
labels:
|
||||||
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.grist-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.grist.loadbalancer.server.port: 8484
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.grist-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.grist-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.grist-insecure.service: grist
|
||||||
|
traefik.http.routers.grist-insecure.middlewares: grist-web-redirect
|
||||||
|
# Websecure
|
||||||
|
traefik.http.routers.grist.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.grist.entrypoints: websecure
|
||||||
|
traefik.http.routers.grist.service: grist
|
||||||
|
traefik.http.routers.grist.tls.certresolver: myresolver
|
||||||
|
# Local domain
|
||||||
|
traefik.http.routers.grist-local-insecure.rule: Host(`grist.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.grist-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.grist-local-insecure.service: grist
|
||||||
|
traefik.http.routers.grist-local-insecure.middlewares: grist-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.grist-local.rule: Host(`grist.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.grist-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.grist-local.service: grist
|
||||||
|
traefik.http.routers.grist-local.tls: true
|
||||||
|
|
||||||
|
|
5
apps/grist/metadata/description.md
Normal file
5
apps/grist/metadata/description.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Grist is the evolution of spreadsheets
|
||||||
|
|
||||||
|
Grist is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the robustness of a database to organize your data and make you more productive.
|
||||||
|
|
||||||
|
https://user-images.githubusercontent.com/118367/151245587-892e50a6-41f5-4b74-9786-fe3566f6b1fb.mp4
|
BIN
apps/grist/metadata/logo.jpg
Normal file
BIN
apps/grist/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
Loading…
Reference in New Issue
Block a user