Skip to content

Commit 542e5d5

Browse files
add Firefox template (#512)
Signed-off-by: Carson Yang <[email protected]>
1 parent edd6625 commit 542e5d5

File tree

1 file changed

+155
-0
lines changed

1 file changed

+155
-0
lines changed

template/firefox/index.yaml

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
apiVersion: app.sealos.io/v1
2+
kind: Template
3+
metadata:
4+
name: firefox
5+
spec:
6+
title: 'Firefox Browser'
7+
url: 'https://github.com/jlesage/docker-firefox'
8+
gitRepo: 'https://github.com/jlesage/docker-firefox'
9+
author: 'Sealos'
10+
description: 'Firefox browser running in a container with web-based (noVNC) UI.'
11+
readme: 'https://raw.githubusercontent.com/jlesage/docker-firefox/master/README.md'
12+
icon: 'https://www.firefox.com/favicon.ico'
13+
templateType: inline
14+
locale: en
15+
i18n:
16+
zh:
17+
title: 'Firefox 浏览器'
18+
description: '运行在容器中的 Firefox 浏览器,通过 noVNC 在浏览器中访问。'
19+
categories:
20+
- tool
21+
defaults:
22+
app_host:
23+
type: string
24+
value: firefox-${{ random(8) }}
25+
app_name:
26+
type: string
27+
value: firefox-${{ random(8) }}
28+
29+
---
30+
apiVersion: apps/v1
31+
kind: StatefulSet
32+
metadata:
33+
name: ${{ defaults.app_name }}
34+
annotations:
35+
originImageName: jlesage/firefox:latest
36+
deploy.cloud.sealos.io/minReplicas: '1'
37+
deploy.cloud.sealos.io/maxReplicas: '1'
38+
labels:
39+
cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }}
40+
app: ${{ defaults.app_name }}
41+
spec:
42+
replicas: 1
43+
revisionHistoryLimit: 1
44+
minReadySeconds: 10
45+
serviceName: ${{ defaults.app_name }}
46+
selector:
47+
matchLabels:
48+
app: ${{ defaults.app_name }}
49+
template:
50+
metadata:
51+
labels:
52+
app: ${{ defaults.app_name }}
53+
spec:
54+
terminationGracePeriodSeconds: 10
55+
automountServiceAccountToken: false
56+
containers:
57+
- name: ${{ defaults.app_name }}
58+
image: jlesage/firefox:latest
59+
resources:
60+
requests:
61+
cpu: 50m
62+
memory: 102Mi
63+
limits:
64+
cpu: 500m
65+
memory: 1024Mi
66+
ports:
67+
- containerPort: 5800
68+
imagePullPolicy: IfNotPresent
69+
volumeMounts:
70+
- name: vn-config
71+
mountPath: /config
72+
volumes: []
73+
volumeClaimTemplates:
74+
- metadata:
75+
annotations:
76+
path: /config
77+
value: '1'
78+
name: vn-config
79+
spec:
80+
accessModes:
81+
- ReadWriteOnce
82+
resources:
83+
requests:
84+
storage: 1Gi
85+
86+
---
87+
apiVersion: v1
88+
kind: Service
89+
metadata:
90+
name: ${{ defaults.app_name }}
91+
labels:
92+
cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }}
93+
spec:
94+
ports:
95+
- port: 5800
96+
selector:
97+
app: ${{ defaults.app_name }}
98+
99+
---
100+
apiVersion: networking.k8s.io/v1
101+
kind: Ingress
102+
metadata:
103+
name: ${{ defaults.app_name }}
104+
labels:
105+
cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }}
106+
cloud.sealos.io/app-deploy-manager-domain: ${{ defaults.app_host }}
107+
annotations:
108+
kubernetes.io/ingress.class: nginx
109+
nginx.ingress.kubernetes.io/proxy-body-size: 32m
110+
nginx.ingress.kubernetes.io/server-snippet: |
111+
client_header_buffer_size 64k;
112+
large_client_header_buffers 4 128k;
113+
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
114+
nginx.ingress.kubernetes.io/backend-protocol: HTTP
115+
nginx.ingress.kubernetes.io/client-body-buffer-size: 64k
116+
nginx.ingress.kubernetes.io/proxy-buffer-size: 64k
117+
nginx.ingress.kubernetes.io/proxy-send-timeout: '300'
118+
nginx.ingress.kubernetes.io/proxy-read-timeout: '300'
119+
nginx.ingress.kubernetes.io/configuration-snippet: |
120+
if ($request_uri ~* \.(js|css|gif|jpe?g|png)) {
121+
expires 30d;
122+
add_header Cache-Control "public";
123+
}
124+
spec:
125+
rules:
126+
- host: ${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }}
127+
http:
128+
paths:
129+
- pathType: Prefix
130+
path: /
131+
backend:
132+
service:
133+
name: ${{ defaults.app_name }}
134+
port:
135+
number: 5800
136+
tls:
137+
- hosts:
138+
- ${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }}
139+
secretName: ${{ SEALOS_CERT_SECRET_NAME }}
140+
141+
---
142+
apiVersion: app.sealos.io/v1
143+
kind: App
144+
metadata:
145+
name: ${{ defaults.app_name }}
146+
labels:
147+
cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }}
148+
spec:
149+
data:
150+
url: https://${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }}
151+
displayType: normal
152+
icon: 'https://www.firefox.com/favicon.ico'
153+
name: Firefox
154+
type: link
155+

0 commit comments

Comments
 (0)