+313
-1
README.md
+313
-1
README.md
···
1
1
# QRTag Remake
2
2
3
-
En remake av [QRTag](https://git.ssis.nu/togethernet/qrtag) som gjordes av Movitz Sunar och Skye Kaijser
3
+
En remake av [QRTag](https://git.ssis.nu/togethernet/qrtag) som gjordes av Movitz Sunar och Skye Kaijser
4
+
5
+
# Openshift Installation
6
+
7
+
Skapa ett projekt i [skolans openshift](https://console-openshift-console.apps.okd.ssis.nu) och gå in på "Administrator" till vänster i sidebaren.
8
+
9
+
## QRTag
10
+
11
+
### Hemsida
12
+
13
+
Den här deployment filen lägger du under `Workloads`>`Deployments`>`Create Deployment`>`YAML view` och kopierar in den där och sedan klickar du på `Create`.
14
+
```yaml
15
+
kind: Deployment
16
+
apiVersion: apps/v1
17
+
metadata:
18
+
name: qrtag
19
+
namespace: qrtag
20
+
labels:
21
+
app: qrtag
22
+
spec:
23
+
replicas: 1
24
+
selector:
25
+
matchLabels:
26
+
app: qrtag
27
+
template:
28
+
metadata:
29
+
labels:
30
+
app: qrtag
31
+
spec:
32
+
initContainers:
33
+
- resources: {}
34
+
name: migratedb
35
+
command:
36
+
- php
37
+
imagePullPolicy: Always
38
+
terminationMessagePolicy: File
39
+
envFrom:
40
+
- configMapRef:
41
+
name: qrtag-env
42
+
- secretRef:
43
+
name: qrtag-secrets
44
+
image: 'gitregistry.ssis.nu/togethernet/qrtag-remake:latest'
45
+
args:
46
+
- artisan
47
+
- migrate
48
+
- '--force'
49
+
containers:
50
+
- name: qrtag
51
+
image: 'gitregistry.ssis.nu/togethernet/qrtag-remake:latest'
52
+
ports:
53
+
- name: http
54
+
containerPort: 8080
55
+
protocol: TCP
56
+
envFrom:
57
+
- secretRef:
58
+
name: qrtag-secrets
59
+
- configMapRef:
60
+
name: qrtag-env
61
+
resources:
62
+
limits:
63
+
cpu: '2'
64
+
memory: 1Gi
65
+
requests:
66
+
cpu: 250m
67
+
memory: 128Mi
68
+
```
69
+
70
+
Den här config mappen lägger du under `Workloads`>`ConfigMaps`>`Create ConfigMap`>`YAML view` och kopierar in den där och sedan klickar du på `Create`.
71
+
```yaml
72
+
kind: ConfigMap
73
+
apiVersion: v1
74
+
metadata:
75
+
name: qrtag-env
76
+
namespace: qrtag
77
+
data:
78
+
DB_PORT: '3306'
79
+
TRUSTED_PROXIES: 10.0.0.0/8
80
+
DB_HOST: qrtag-database
81
+
APP_URL: 'https://qrtag.ssis.nu'
82
+
MAINTAINER_NAME: <Namn av maintainern>
83
+
LDAPTLS_REQCERT: never
84
+
LDAP_PORT: '636'
85
+
LDAP_USE_SSL: 'true'
86
+
DB_CONNECTION: mysql
87
+
DB_DATABASE: qrtag
88
+
```
89
+
90
+
Sedan lägger du in dina secrets i `Workloads`>`Secrets`>`Create`>`From YAML`
91
+
```yaml
92
+
apiVersion: v1
93
+
kind: Secret
94
+
metadata:
95
+
name: qrtag-secrets
96
+
namespace: qrtag
97
+
type: Opaque
98
+
stringData:
99
+
APP_KEY: <Din laravel app key som du kan skaffa online på https://laravel-encryption-key-generator.vercel.app/>
100
+
DB_PASSWORD: <Lösenordet för din databas>
101
+
DB_USERNAME: <Användarnamnet för din databas>
102
+
DISCORD_WEBHOOK: <En discord webhook där qrtag event loggen ska skickas >
103
+
```
104
+
105
+
Skapa en service under `Networking`>`Services`>`Create Service`
106
+
```yaml
107
+
kind: Service
108
+
apiVersion: v1
109
+
metadata:
110
+
name: qrtag
111
+
namespace: qrtag
112
+
spec:
113
+
ports:
114
+
- name: http
115
+
protocol: TCP
116
+
port: 8080
117
+
targetPort: 8080
118
+
clusterIPs:
119
+
- 172.30.85.69
120
+
selector:
121
+
app: qrtag
122
+
```
123
+
124
+
Skapa en route under `Networking`>`Routes`>`Create`>`YAML view`
125
+
```yaml
126
+
kind: Route
127
+
apiVersion: route.openshift.io/v1
128
+
metadata:
129
+
name: qrtag
130
+
namespace: qrtag
131
+
spec:
132
+
path: /
133
+
to:
134
+
kind: Service
135
+
name: qrtag
136
+
weight: 100
137
+
port:
138
+
targetPort: http
139
+
tls:
140
+
termination: edge
141
+
insecureEdgeTerminationPolicy: Redirect
142
+
```
143
+
144
+
## Databas
145
+
146
+
Skapa en databas deployment under `Workloads`>`Deployments`>`Create Deployment`>`YAML view`
147
+
```yaml
148
+
kind: Deployment
149
+
apiVersion: apps/v1
150
+
metadata:
151
+
name: database
152
+
namespace: qrtag
153
+
labels:
154
+
app: qrtag-database
155
+
spec:
156
+
replicas: 1
157
+
revisionHistoryLimit: 3
158
+
selector:
159
+
matchLabels:
160
+
app: qrtag-database
161
+
template:
162
+
metadata:
163
+
labels:
164
+
app: qrtag-database
165
+
spec:
166
+
restartPolicy: Always
167
+
containers:
168
+
- name: database
169
+
image: mariadb:latest
170
+
imagePullPolicy: IfNotPresent
171
+
envFrom:
172
+
- secretRef:
173
+
name: database-secret
174
+
resources:
175
+
limits:
176
+
cpu: '4'
177
+
memory: 4Gi
178
+
requests:
179
+
cpu: '1'
180
+
memory: 2Gi
181
+
ports:
182
+
- name: mysql
183
+
containerPort: 3306
184
+
protocol: TCP
185
+
volumeMounts:
186
+
- name: database-volume
187
+
mountPath: /var/lib/mysql
188
+
volumes:
189
+
- name: database-volume
190
+
persistentVolumeClaim:
191
+
claimName: database-disk
192
+
```
193
+
194
+
Skapa en secret under `Workloads`>`Secrets`>`Create`>`From YAML`
195
+
```yaml
196
+
kind: Secret
197
+
apiVersion: v1
198
+
metadata:
199
+
name: database-secret
200
+
namespace: qrtag
201
+
data:
202
+
MARIADB_DATABASE: qrtag
203
+
MARIADB_PASSWORD: <Lösenordet för din databas>
204
+
MARIADB_ROOT_PASSWORD: <Lösenordet för din databas>
205
+
MARIADB_USER: <Användarnamnet för din databas>
206
+
type: Opaque
207
+
```
208
+
209
+
Skapa en service under `Workloads`>`Services`>`Create Service`
210
+
```yaml
211
+
apiVersion: v1
212
+
kind: Service
213
+
metadata:
214
+
name: qrtag-database
215
+
namespace: qrtag
216
+
spec:
217
+
selector:
218
+
app: qrtag-database
219
+
ports:
220
+
- protocol: TCP
221
+
port: 3306
222
+
targetPort: 3306
223
+
```
224
+
225
+
Skapa en PersistentVolumeClaims under `Storage`>`PersistentVolumeClaims`>`Create PersistentVolumeClaims`>`Edit YAML`
226
+
```yaml
227
+
apiVersion: v1
228
+
kind: PersistentVolumeClaim
229
+
metadata:
230
+
name: database-disk
231
+
spec:
232
+
accessModes:
233
+
- ReadWriteOnce
234
+
resources:
235
+
requests:
236
+
storage: 5Gi
237
+
```
238
+
239
+
## Frivillig PHPMyAdmin
240
+
241
+
Skapa en ny deployment under `Workloads`>`Deployments`>`Create Deployment`>`YAML view` för phpmyadmin
242
+
```yaml
243
+
kind: Deployment
244
+
apiVersion: apps/v1
245
+
metadata:
246
+
namespace: qrtag
247
+
labels:
248
+
app: phpmyadmin
249
+
spec:
250
+
replicas: 1
251
+
selector:
252
+
matchLabels:
253
+
app: phpmyadmin
254
+
template:
255
+
metadata:
256
+
labels:
257
+
app: phpmyadmin
258
+
spec:
259
+
containers:
260
+
- name: phpmyadmin
261
+
image: 'bitnami/phpmyadmin:latest'
262
+
ports:
263
+
- containerPort: 8080
264
+
protocol: TCP
265
+
env:
266
+
- name: APACHE_HTTP_PORT_NUMBER
267
+
value: '8080'
268
+
- name: DATABASE_HOST
269
+
value: qrtag-database
270
+
- name: DATABASE_PORT_NUMBER
271
+
value: '3306'
272
+
- name: MYSQL_ROOT_PASSWORD
273
+
valueFrom:
274
+
secretKeyRef:
275
+
name: qrtag-secrets
276
+
key: DB_PASSWORD
277
+
```
278
+
279
+
Skapa en ny service under `Networking`>`Services`>`Create Service`
280
+
```yaml
281
+
kind: Service
282
+
apiVersion: v1
283
+
metadata:
284
+
name: phpmyadmin-service
285
+
namespace: qrtag
286
+
spec:
287
+
ports:
288
+
- protocol: TCP
289
+
port: 8080
290
+
targetPort: 8080
291
+
nodePort: 32252
292
+
type: NodePort
293
+
selector:
294
+
app: phpmyadmin
295
+
```
296
+
297
+
Skapa en ny route under `Networking`>`Routes`>`Create Route`>`YAML view`
298
+
```yaml
299
+
kind: Route
300
+
apiVersion: route.openshift.io/v1
301
+
metadata:
302
+
name: phpmyadmin
303
+
namespace: qrtag
304
+
spec:
305
+
to:
306
+
kind: Service
307
+
name: phpmyadmin-service
308
+
weight: 100
309
+
port:
310
+
targetPort: 8080
311
+
```
312
+
313
+
## Grattis
314
+
315
+
Nu borde alltid funka som det ska