Compare commits
3 Commits
6f66755871
...
752c370eb2
Author | SHA1 | Date | |
---|---|---|---|
|
752c370eb2 | ||
|
726d2b5504 | ||
|
044fd3c71a |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
|
.envrc
|
||||||
compose/
|
compose/
|
||||||
.env
|
.env
|
||||||
|
|
||||||
|
@ -2,9 +2,8 @@ git monorepo.
|
|||||||
|
|
||||||
pnpm required for workspaces.
|
pnpm required for workspaces.
|
||||||
|
|
||||||
Yarn required for packages/strapi
|
Yarn required for packages/strapi.
|
||||||
|
|
||||||
Development uses docker compose with dotenv.
|
Kubernetes for Development using Tiltfile
|
||||||
|
|
||||||
Production uses dokku.
|
|
||||||
|
|
||||||
|
Kubernetes for Production, deployed using Helm/helmfile
|
||||||
|
@ -1,2 +1,6 @@
|
|||||||
# futureporn-monorepo
|
# futureporn-monorepo
|
||||||
|
|
||||||
|
## minikube setup
|
||||||
|
|
||||||
|
minikube addons enable volumesnapshots
|
||||||
|
minikube addons enable csi-hostpath-driver
|
22
Tiltfile
Normal file
22
Tiltfile
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# load('ext://dotenv', 'dotenv')
|
||||||
|
# dotenv()
|
||||||
|
|
||||||
|
k8s_yaml(helm(
|
||||||
|
'./charts/fp',
|
||||||
|
values=['./charts/fp/values-dev.yaml'],
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
|
docker_build('fp/link2cid', './packages/link2cid')
|
||||||
|
|
||||||
|
|
||||||
|
k8s_resource(
|
||||||
|
workload='link2cid-pod',
|
||||||
|
port_forwards=3939
|
||||||
|
)
|
||||||
|
|
||||||
|
# v1alpha1.extension_repo(name='default', url='https://github.com/tilt-dev/tilt-extensions')
|
||||||
|
# v1alpha1.extension(name='ngrok', repo_name='default', repo_path='ngrok')
|
||||||
|
|
||||||
|
# settings = read_json('tilt_option.json', default={})
|
||||||
|
# default_registry(settings.get('default_registry', 'sjc.vultrcr.com/fpcontainers'))
|
9
charts/fp/Chart.yaml
Normal file
9
charts/fp/Chart.yaml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
name: fp
|
||||||
|
description: The Galaxy's Best VTuber Hentai Site
|
||||||
|
version: 0.0.1
|
||||||
|
apiVersion: v1
|
||||||
|
keywords:
|
||||||
|
- fp
|
||||||
|
- futureporn
|
||||||
|
sources: []
|
||||||
|
home: 'https://gitea.futureporn.net/futureporn'
|
9
charts/fp/README.md
Normal file
9
charts/fp/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
This chart was originally created by Kompose.
|
||||||
|
|
||||||
|
Then I realized I don't understand kubernetes.
|
||||||
|
|
||||||
|
It was too complex.
|
||||||
|
|
||||||
|
I needed to start over, understand each piece before moving on.
|
||||||
|
|
||||||
|
so we're starting small, incrementally migrating services to the cluster.
|
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: bot-claim0
|
||||||
|
name: bot-claim0
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 100Mi
|
||||||
|
status: {}
|
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: bot-claim1
|
||||||
|
name: bot-claim1
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 100Mi
|
||||||
|
status: {}
|
38
charts/fp/templates-old/bot-pod.yaml
Normal file
38
charts/fp/templates-old/bot-pod.yaml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: bot
|
||||||
|
name: bot
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: DISCORD_GUILD_ID
|
||||||
|
- name: DISCORD_TOKEN
|
||||||
|
- name: REST_HOST
|
||||||
|
value: localhost
|
||||||
|
- name: REST_PORT
|
||||||
|
value: "8888"
|
||||||
|
image: bot
|
||||||
|
name: fp-bot
|
||||||
|
ports:
|
||||||
|
- containerPort: 8888
|
||||||
|
resources: {}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /app/package.json
|
||||||
|
name: bot-claim0
|
||||||
|
- mountPath: /app/src
|
||||||
|
name: bot-claim1
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
volumes:
|
||||||
|
- name: bot-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: bot-claim0
|
||||||
|
- name: bot-claim1
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: bot-claim1
|
||||||
|
status: {}
|
19
charts/fp/templates-old/bot-service.yaml
Normal file
19
charts/fp/templates-old/bot-service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: bot
|
||||||
|
name: bot
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "8888"
|
||||||
|
port: 8888
|
||||||
|
targetPort: 8888
|
||||||
|
selector:
|
||||||
|
io.kompose.service: bot
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
22
charts/fp/templates-old/chisel-pod.yaml
Normal file
22
charts/fp/templates-old/chisel-pod.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: chisel
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- args:
|
||||||
|
- client
|
||||||
|
- --auth=
|
||||||
|
- R:8899:cluster0:9094
|
||||||
|
- R:8901:link2cid:3939
|
||||||
|
- R:8900:strapi:1337
|
||||||
|
- R:8902:next:3000
|
||||||
|
- R:8903:uppy:3020
|
||||||
|
- R:8904:uppy:8888
|
||||||
|
image: jpillora/chisel
|
||||||
|
name: fp-chisel
|
||||||
|
ports:
|
||||||
|
- containerPort: 9312
|
||||||
|
resources: {}
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
status: {}
|
19
charts/fp/templates-old/chisel-service.yaml
Normal file
19
charts/fp/templates-old/chisel-service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: chisel
|
||||||
|
name: chisel
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "9312"
|
||||||
|
port: 9312
|
||||||
|
targetPort: 9312
|
||||||
|
selector:
|
||||||
|
io.kompose.service: chisel
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: cluster0-claim0
|
||||||
|
name: cluster0-claim0
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 100Mi
|
||||||
|
status: {}
|
39
charts/fp/templates-old/cluster0-pod.yaml
Normal file
39
charts/fp/templates-old/cluster0-pod.yaml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: cluster0
|
||||||
|
name: cluster0
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: CLUSTER_CRDT_TRUSTEDPEERS
|
||||||
|
value: '*'
|
||||||
|
- name: CLUSTER_IPFSHTTP_NODEMULTIADDRESS
|
||||||
|
value: /dns4/ipfs0/tcp/5001
|
||||||
|
- name: CLUSTER_MONITORPINGINTERVAL
|
||||||
|
value: 2s
|
||||||
|
- name: CLUSTER_PEERNAME
|
||||||
|
value: cluster0
|
||||||
|
- name: CLUSTER_RESTAPI_BASICAUTHCREDENTIALS
|
||||||
|
- name: CLUSTER_RESTAPI_HTTPLISTENMULTIADDRESS
|
||||||
|
value: /ip4/0.0.0.0/tcp/9094
|
||||||
|
- name: CLUSTER_SECRET
|
||||||
|
image: ipfs/ipfs-cluster:latest
|
||||||
|
name: fp-cluster0
|
||||||
|
ports:
|
||||||
|
- containerPort: 9094
|
||||||
|
resources: {}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /data/ipfs-cluster
|
||||||
|
name: cluster0-claim0
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
volumes:
|
||||||
|
- name: cluster0-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: cluster0-claim0
|
||||||
|
status: {}
|
19
charts/fp/templates-old/cluster0-service.yaml
Normal file
19
charts/fp/templates-old/cluster0-service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: cluster0
|
||||||
|
name: cluster0
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "9094"
|
||||||
|
port: 9094
|
||||||
|
targetPort: 9094
|
||||||
|
selector:
|
||||||
|
io.kompose.service: cluster0
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
14
charts/fp/templates-old/db-claim0-persistentvolumeclaim.yaml
Normal file
14
charts/fp/templates-old/db-claim0-persistentvolumeclaim.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: db-claim0
|
||||||
|
name: db-claim0
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 100Mi
|
||||||
|
status: {}
|
33
charts/fp/templates-old/db-pod.yaml
Normal file
33
charts/fp/templates-old/db-pod.yaml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: db
|
||||||
|
name: db
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: PGDATA
|
||||||
|
value: /var/lib/postgresql/data
|
||||||
|
- name: PGPORT
|
||||||
|
- name: POSTGRES_DB
|
||||||
|
- name: POSTGRES_PASSWORD
|
||||||
|
- name: POSTGRES_USER
|
||||||
|
image: postgres:16
|
||||||
|
name: fp-db
|
||||||
|
ports:
|
||||||
|
- containerPort: 15432
|
||||||
|
resources: {}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /var/lib/postgresql/data
|
||||||
|
name: db-claim0
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
volumes:
|
||||||
|
- name: db-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: db-claim0
|
||||||
|
status: {}
|
19
charts/fp/templates-old/db-service.yaml
Normal file
19
charts/fp/templates-old/db-service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: db
|
||||||
|
name: db
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "15432"
|
||||||
|
port: 15432
|
||||||
|
targetPort: 15432
|
||||||
|
selector:
|
||||||
|
io.kompose.service: db
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
25
charts/fp/templates-old/external-dns.yaml
Normal file
25
charts/fp/templates-old/external-dns.yaml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: external-dns
|
||||||
|
spec:
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: external-dns
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: external-dns
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: external-dns
|
||||||
|
image: registry.k8s.io/external-dns/external-dns:v0.14.0
|
||||||
|
args:
|
||||||
|
- --source=service # ingress is also possible
|
||||||
|
- --domain-filter=futureporn.net # (optional) limit to only example.com domains; change to match the zone created above.
|
||||||
|
- --provider=vultr
|
||||||
|
env:
|
||||||
|
- name: VULTR_API_KEY
|
||||||
|
value: "YOU_VULTR_API_KEY"
|
15
charts/fp/templates-old/httpd-pod.yaml.noexec
Normal file
15
charts/fp/templates-old/httpd-pod.yaml.noexec
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: httpd-pod
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: httpd-pod
|
||||||
|
image: httpd
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 128Mi
|
||||||
|
restartPolicy: OnFailure
|
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: ipfs0-claim0
|
||||||
|
name: ipfs0-claim0
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 100Mi
|
||||||
|
status: {}
|
26
charts/fp/templates-old/ipfs0-pod.yaml
Normal file
26
charts/fp/templates-old/ipfs0-pod.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: ipfs0
|
||||||
|
name: ipfs0
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- image: ipfs/kubo:release
|
||||||
|
name: fp-ipfs0
|
||||||
|
ports:
|
||||||
|
- containerPort: 5001
|
||||||
|
resources: {}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /data/ipfs
|
||||||
|
name: ipfs0-claim0
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
volumes:
|
||||||
|
- name: ipfs0-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: ipfs0-claim0
|
||||||
|
status: {}
|
19
charts/fp/templates-old/ipfs0-service.yaml
Normal file
19
charts/fp/templates-old/ipfs0-service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: ipfs0
|
||||||
|
name: ipfs0
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "5001"
|
||||||
|
port: 5001
|
||||||
|
targetPort: 5001
|
||||||
|
selector:
|
||||||
|
io.kompose.service: ipfs0
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: link2cid-claim0
|
||||||
|
name: link2cid-claim0
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 100Mi
|
||||||
|
status: {}
|
41
charts/fp/templates-old/link2cid-pod.yaml
Normal file
41
charts/fp/templates-old/link2cid-pod.yaml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: link2cid
|
||||||
|
name: link2cid
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: API_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: link2cid
|
||||||
|
key: apiKey
|
||||||
|
- name: IPFS_URL
|
||||||
|
value: http://ipfs0:5001
|
||||||
|
- name: PORT
|
||||||
|
value: "3939"
|
||||||
|
image: link2cid
|
||||||
|
name: fp-link2cid
|
||||||
|
ports:
|
||||||
|
- containerPort: 3939
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 2048Gi
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 2048Gi
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /app/index.js
|
||||||
|
name: link2cid-claim0
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
volumes:
|
||||||
|
- name: link2cid-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: link2cid-claim0
|
||||||
|
status: {}
|
14
charts/fp/templates-old/link2cid-pv.yaml
Normal file
14
charts/fp/templates-old/link2cid-pv.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: link2cid-pv
|
||||||
|
spec:
|
||||||
|
type:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
storageClassName: {{ .Values.storageClassName }}
|
||||||
|
capacity:
|
||||||
|
storage: 40Gi
|
||||||
|
claimRef:
|
||||||
|
name: link2cid-pvc
|
||||||
|
namespace: default
|
19
charts/fp/templates-old/link2cid-service.yaml
Normal file
19
charts/fp/templates-old/link2cid-service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: link2cid
|
||||||
|
name: link2cid
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "3939"
|
||||||
|
port: 3939
|
||||||
|
targetPort: 3939
|
||||||
|
selector:
|
||||||
|
io.kompose.service: link2cid
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: next-claim0
|
||||||
|
name: next-claim0
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 100Mi
|
||||||
|
status: {}
|
29
charts/fp/templates-old/next-pod.yaml
Normal file
29
charts/fp/templates-old/next-pod.yaml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
io.kompose.service: next
|
||||||
|
name: next
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: NEXT_PUBLIC_SITE_URL
|
||||||
|
- name: NEXT_PUBLIC_STRAPI_URL
|
||||||
|
- name: NEXT_PUBLIC_UPPY_COMPANION_URL
|
||||||
|
- name: NODE_ENV
|
||||||
|
value: development
|
||||||
|
- name: REVALIDATION_TOKEN
|
||||||
|
image: next
|
||||||
|
name: fp-next
|
||||||
|
ports:
|
||||||
|
- containerPort: 3000
|
||||||
|
resources: {}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /app/app
|
||||||
|
name: next-claim0
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
volumes:
|
||||||
|
- name: next-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: next-claim0
|
||||||
|
status: {}
|
19
charts/fp/templates-old/next-service.yaml
Normal file
19
charts/fp/templates-old/next-service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: next
|
||||||
|
name: next
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "3000"
|
||||||
|
port: 3000
|
||||||
|
targetPort: 3000
|
||||||
|
selector:
|
||||||
|
io.kompose.service: next
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
26
charts/fp/templates-old/org-chart-deployment.yaml
Normal file
26
charts/fp/templates-old/org-chart-deployment.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: orgchart
|
||||||
|
labels:
|
||||||
|
app: orgchart
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: orgchart
|
||||||
|
replicas: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
vault.hashicorp.com/agent-inject: "true"
|
||||||
|
vault.hashicorp.com/agent-inject-status: 'update'
|
||||||
|
vault.hashicorp.com/role: "internal-app"
|
||||||
|
vault.hashicorp.com/agent-inject-secret-database-config.txt: "internal/data/database/config"
|
||||||
|
|
||||||
|
labels:
|
||||||
|
app: orgchart
|
||||||
|
spec:
|
||||||
|
serviceAccountName: internal-app
|
||||||
|
containers:
|
||||||
|
- name: orgchart
|
||||||
|
image: jweissig/app:0.0.1
|
26
charts/fp/templates-old/pgadmin-pod.yaml
Normal file
26
charts/fp/templates-old/pgadmin-pod.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: pgadmin
|
||||||
|
name: pgadmin
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: GUNICORN_ACCESS_LOGFILE
|
||||||
|
value: /tmp/pgadmin-gunicorn-access.log
|
||||||
|
- name: PGADMIN_DEFAULT_EMAIL
|
||||||
|
- name: PGADMIN_DEFAULT_PASSWORD
|
||||||
|
- name: PGADMIN_DISABLE_POSTFIX
|
||||||
|
value: yessir
|
||||||
|
image: dpage/pgadmin4:8
|
||||||
|
name: fp-pgadmin
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
resources: {}
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
status: {}
|
19
charts/fp/templates-old/pgadmin-service.yaml
Normal file
19
charts/fp/templates-old/pgadmin-service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: pgadmin
|
||||||
|
name: pgadmin
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "5050"
|
||||||
|
port: 5050
|
||||||
|
targetPort: 80
|
||||||
|
selector:
|
||||||
|
io.kompose.service: pgadmin
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: strapi-claim0
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 40Gi
|
||||||
|
storageClassName: vultr-block-storage-hdd
|
||||||
|
status: {}
|
64
charts/fp/templates-old/strapi-pod.yaml
Normal file
64
charts/fp/templates-old/strapi-pod.yaml
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: strapi
|
||||||
|
name: strapi
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: ADMIN_JWT_SECRET
|
||||||
|
- name: API_TOKEN_SALT
|
||||||
|
- name: APP_KEYS
|
||||||
|
- name: AWS_ACCESS_KEY_ID
|
||||||
|
- name: AWS_SECRET_ACCESS_KEY
|
||||||
|
- name: BASE_URL
|
||||||
|
- name: CDN_BUCKET_URL
|
||||||
|
- name: CDN_BUCKET_USC_URL
|
||||||
|
- name: DATABASE_CLIENT
|
||||||
|
value: postgres
|
||||||
|
- name: DATABASE_HOST
|
||||||
|
value: db
|
||||||
|
- name: DATABASE_NAME
|
||||||
|
- name: DATABASE_PASSWORD
|
||||||
|
- name: DATABASE_PORT
|
||||||
|
- name: DATABASE_USERNAME
|
||||||
|
- name: JWT_SECRET
|
||||||
|
- name: MUX_PLAYBACK_RESTRICTION_ID
|
||||||
|
- name: MUX_SIGNING_KEY_ID
|
||||||
|
- name: MUX_SIGNING_KEY_PRIVATE_KEY
|
||||||
|
- name: NODE_ENV
|
||||||
|
- name: S3_USC_BUCKET_APPLICATION_KEY
|
||||||
|
- name: S3_USC_BUCKET_ENDPOINT
|
||||||
|
- name: S3_USC_BUCKET_KEY_ID
|
||||||
|
- name: S3_USC_BUCKET_NAME
|
||||||
|
- name: S3_USC_BUCKET_REGION
|
||||||
|
- name: SENDGRID_API_KEY
|
||||||
|
- name: SMTP_AUTH_STRATEGY
|
||||||
|
value: NONE
|
||||||
|
- name: SMTP_FROM_EMAIL
|
||||||
|
value: sender@example.com
|
||||||
|
- name: SMTP_HOST
|
||||||
|
value: 172.17.0.1
|
||||||
|
- name: SMTP_PORT
|
||||||
|
value: "25"
|
||||||
|
- name: STRAPI_URL
|
||||||
|
- name: TRANSFER_TOKEN_SALT
|
||||||
|
image: fp-strapi:14
|
||||||
|
name: fp-strapi
|
||||||
|
ports:
|
||||||
|
- containerPort: 1337
|
||||||
|
resources: {}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /opt/app
|
||||||
|
name: strapi-claim0
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
volumes:
|
||||||
|
- name: strapi-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: strapi-claim0
|
||||||
|
status: {}
|
19
charts/fp/templates-old/strapi-service.yaml
Normal file
19
charts/fp/templates-old/strapi-service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: strapi
|
||||||
|
name: strapi
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "1337"
|
||||||
|
port: 1337
|
||||||
|
targetPort: 1337
|
||||||
|
selector:
|
||||||
|
io.kompose.service: strapi
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: uppy-claim0
|
||||||
|
name: uppy-claim0
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 100Mi
|
||||||
|
status: {}
|
47
charts/fp/templates-old/uppy-pod.yaml
Normal file
47
charts/fp/templates-old/uppy-pod.yaml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: uppy
|
||||||
|
name: uppy
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: B2_BUCKET
|
||||||
|
- name: B2_ENDPOINT
|
||||||
|
- name: B2_KEY
|
||||||
|
- name: B2_REGION
|
||||||
|
- name: B2_SECRET
|
||||||
|
- name: DRIVE_KEY
|
||||||
|
- name: DRIVE_SECRET
|
||||||
|
- name: DROPBOX_KEY
|
||||||
|
- name: DROPBOX_SECRET
|
||||||
|
- name: FILEPATH
|
||||||
|
- name: HOST
|
||||||
|
- name: JWT_SECRET
|
||||||
|
- name: NEXT_PUBLIC_SITE_URL
|
||||||
|
- name: PORT
|
||||||
|
- name: SECRET
|
||||||
|
- name: SERVER_BASE_URL
|
||||||
|
- name: SESSION_SECRET
|
||||||
|
- name: STRAPI_API_KEY
|
||||||
|
- name: STRAPI_URL
|
||||||
|
- name: UPLOAD_URLS
|
||||||
|
image: uppy
|
||||||
|
name: fp-uppy
|
||||||
|
ports:
|
||||||
|
- containerPort: 3020
|
||||||
|
resources: {}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /app/index.js
|
||||||
|
name: uppy-claim0
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
volumes:
|
||||||
|
- name: uppy-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: uppy-claim0
|
||||||
|
status: {}
|
19
charts/fp/templates-old/uppy-service.yaml
Normal file
19
charts/fp/templates-old/uppy-service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert --file compose.yml -c --out ./charts
|
||||||
|
kompose.version: 1.26.0 (40646f47)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: uppy
|
||||||
|
name: uppy
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "3020"
|
||||||
|
port: 3020
|
||||||
|
targetPort: 3020
|
||||||
|
selector:
|
||||||
|
io.kompose.service: uppy
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
23
charts/fp/templates/link2cid-pod.yaml
Normal file
23
charts/fp/templates/link2cid-pod.yaml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: link2cid-pod
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: link2cid-pod
|
||||||
|
image: fp/link2cid
|
||||||
|
ports:
|
||||||
|
- containerPort: 3939
|
||||||
|
env:
|
||||||
|
- name: PORT
|
||||||
|
value: '3939'
|
||||||
|
- name: API_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: link2cid
|
||||||
|
key: apiKey
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 1024Mi
|
||||||
|
restartPolicy: OnFailure
|
14
charts/fp/templates/link2cid-pvc.yaml
Normal file
14
charts/fp/templates/link2cid-pvc.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: link2cid-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 40Gi
|
||||||
|
allowVolumeExpansion: true
|
||||||
|
storageClassName: {{ .Values.storageClassName }}
|
||||||
|
status: {}
|
||||||
|
|
11
charts/fp/templates/link2cid-service.yaml
Normal file
11
charts/fp/templates/link2cid-service.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: link2cid-service
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "3939"
|
||||||
|
port: 3939
|
||||||
|
targetPort: 3939
|
||||||
|
status:
|
||||||
|
loadBalancer: {}
|
1
charts/fp/values-dev.yaml
Normal file
1
charts/fp/values-dev.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
storageClassName: csi-hostpath-sc
|
1
charts/fp/values.prod.yaml
Normal file
1
charts/fp/values.prod.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
storageClassName: vultr-block-storage-hdd
|
3
charts/windmill/README.md
Normal file
3
charts/windmill/README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
windmill helm chart is pulled in via ../../helmfile.yaml.
|
||||||
|
|
||||||
|
This folder is here just to hold our values.yaml file for configuring windmill.
|
87
charts/windmill/values.yaml
Normal file
87
charts/windmill/values.yaml
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# windmill root values block
|
||||||
|
windmill:
|
||||||
|
# domain as shown in browser, this is used together with `baseProtocol` as part of the BASE_URL environment variable in app and worker container and in the ingress resource, if enabled
|
||||||
|
baseDomain: windmill
|
||||||
|
baseProtocol: http
|
||||||
|
# postgres URI, pods will crashloop if database is unreachable, sets DATABASE_URL environment variable in app and worker container
|
||||||
|
databaseUrl: postgres://postgres:windmill@windmill-postgresql/windmill?sslmode=disable
|
||||||
|
# replica for the application app
|
||||||
|
appReplicas: 2
|
||||||
|
# replicas for the workers, jobs are executed on the workers
|
||||||
|
lspReplicas: 2
|
||||||
|
workerGroups:
|
||||||
|
# The default worker group is the one that will execute jobs with any taggs except the native ones. Windmill has a default worker group configuration for it
|
||||||
|
- name: "default"
|
||||||
|
replicas: 2
|
||||||
|
# -- Annotations to apply to the pods
|
||||||
|
annotations: {}
|
||||||
|
|
||||||
|
# -- Labels to apply to the pods
|
||||||
|
labels: {}
|
||||||
|
|
||||||
|
# -- Node selector to use for scheduling the pods
|
||||||
|
nodeSelector: {}
|
||||||
|
|
||||||
|
# -- Tolerations to apply to the pods
|
||||||
|
tolerations: []
|
||||||
|
|
||||||
|
# -- Affinity rules to apply to the pods
|
||||||
|
affinity: {}
|
||||||
|
|
||||||
|
# -- Resource limits and requests for the pods
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "1028Mi"
|
||||||
|
cpu: "500m"
|
||||||
|
limits:
|
||||||
|
memory: "2048Mi"
|
||||||
|
cpu: "1000m"
|
||||||
|
|
||||||
|
# -- Extra environment variables to apply to the pods
|
||||||
|
extraEnv: []
|
||||||
|
|
||||||
|
# -- Extra sidecar containers
|
||||||
|
extraContainers: []
|
||||||
|
|
||||||
|
# Thenative worker group will only execute native jobs. Windmill has a default worker group configuration for it
|
||||||
|
- name: "native"
|
||||||
|
replicas: 3
|
||||||
|
# -- Resource limits and requests for the pods
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "128Mi"
|
||||||
|
cpu: "100m"
|
||||||
|
limits:
|
||||||
|
memory: "256Mi"
|
||||||
|
cpu: "200m"
|
||||||
|
|
||||||
|
# -- Extra environment variables to apply to the pods
|
||||||
|
extraEnv: []
|
||||||
|
|
||||||
|
# -- Extra sidecar containers
|
||||||
|
extraContainers: []
|
||||||
|
|
||||||
|
- name: "gpu"
|
||||||
|
replicas: 0
|
||||||
|
|
||||||
|
# Use those to override the tag or image used for the app and worker containers. Windmill uses the same image for both.
|
||||||
|
# By default, if enterprise is enable, the image is set to ghcr.io/windmill-labs/windmill-ee, otherwise the image is set to ghcr.io/windmill-labs/windmill
|
||||||
|
#tag: "mytag"
|
||||||
|
#image: "ghcr.io/windmill-labs/windmill"
|
||||||
|
|
||||||
|
# enable postgres (bitnami) on kubernetes
|
||||||
|
postgresql:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
# enable minio (bitnami) on kubernetes
|
||||||
|
minio:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# Configure Ingress
|
||||||
|
# ingress:
|
||||||
|
# className: ""
|
||||||
|
|
||||||
|
# enable enterprise features
|
||||||
|
enterprise:
|
||||||
|
# -- enable windmill enterprise, requires license key.
|
||||||
|
enabled: false
|
14
helmfile.yaml
Normal file
14
helmfile.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# repositories:
|
||||||
|
# - name: windmill
|
||||||
|
# url: https://windmill-labs.github.io/windmill-helm-charts
|
||||||
|
|
||||||
|
releases:
|
||||||
|
# - name: windmill
|
||||||
|
# namespace: windmill
|
||||||
|
# chart: windmill/windmill
|
||||||
|
# values:
|
||||||
|
# - ./charts/windmill/values.yaml
|
||||||
|
|
||||||
|
- name: fp
|
||||||
|
namespace: default
|
||||||
|
chart: charts/fp
|
@ -7,9 +7,9 @@ RUN corepack enable
|
|||||||
|
|
||||||
|
|
||||||
FROM deps AS build
|
FROM deps AS build
|
||||||
ARG NEXT_PUBLIC_SITE_URL=foo
|
ARG NEXT_PUBLIC_SITE_URL=https://futureporn.net
|
||||||
ARG NEXT_PUBLIC_STRAPI_URL=foo
|
ARG NEXT_PUBLIC_STRAPI_URL=https://portal.futureporn.net
|
||||||
ARG NEXT_PUBLIC_UPPY_COMPANION_URL=foo
|
ARG NEXT_PUBLIC_UPPY_COMPANION_URL=https://uppy.futureporn.net
|
||||||
ENV NEXT_PUBLIC_SITE_URL ${NEXT_PUBLIC_SITE_URL}
|
ENV NEXT_PUBLIC_SITE_URL ${NEXT_PUBLIC_SITE_URL}
|
||||||
ENV NEXT_PUBLIC_STRAPI_URL ${NEXT_PUBLIC_STRAPI_URL}
|
ENV NEXT_PUBLIC_STRAPI_URL ${NEXT_PUBLIC_STRAPI_URL}
|
||||||
ENV NEXT_PUBLIC_UPPY_COMPANION_URL ${NEXT_PUBLIC_UPPY_COMPANION_URL}
|
ENV NEXT_PUBLIC_UPPY_COMPANION_URL ${NEXT_PUBLIC_UPPY_COMPANION_URL}
|
||||||
@ -28,5 +28,5 @@ CMD ["pnpm", "run", "dev"]
|
|||||||
|
|
||||||
FROM deps AS next
|
FROM deps AS next
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=build /usr/src/app /app
|
COPY --from=build /app /app
|
||||||
CMD ["pnpm", "start"]
|
CMD ["pnpm", "start"]
|
@ -6,6 +6,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
"kompose": "kompose convert --file compose.yml -c --out ./charts",
|
"kompose": "kompose convert --file compose.yml -c --out ./charts",
|
||||||
|
"build:next": "docker build --build-arg=\"NEXT_PUBLIC_SITE_URL=https://futureporn.net\" --build-arg=\"NEXT_PUBLIC_STRAPI_URL=https://portal.futureporn.net\" --build-arg=\"NEXT_PUBLIC_UPPY_COMPANION_URL=https://uppy.futureporn.net\" -t fp-next:latest -f ./next.Dockerfile .",
|
||||||
"deploy:bot": "echo @todo",
|
"deploy:bot": "echo @todo",
|
||||||
"deploy:next": "git push origin:next main",
|
"deploy:next": "git push origin:next main",
|
||||||
"deploy:link2cid": "echo @todo",
|
"deploy:link2cid": "echo @todo",
|
||||||
|
1
packages/link2cid/.npmrc
Normal file
1
packages/link2cid/.npmrc
Normal file
@ -0,0 +1 @@
|
|||||||
|
engine-strict=true
|
1
packages/link2cid/.nvmrc
Normal file
1
packages/link2cid/.nvmrc
Normal file
@ -0,0 +1 @@
|
|||||||
|
lts/iron
|
@ -25,7 +25,7 @@ app.use(bodyParser.urlencoded({ extended: false }));
|
|||||||
const port = process.env.PORT || 3000;
|
const port = process.env.PORT || 3000;
|
||||||
const ipfsUrl = process.env.IPFS_URL || 'http://localhost:5001';
|
const ipfsUrl = process.env.IPFS_URL || 'http://localhost:5001';
|
||||||
if (!process.env.API_KEY) throw new Error('API_KEY was missing in env');
|
if (!process.env.API_KEY) throw new Error('API_KEY was missing in env');
|
||||||
|
if (!process.env.PORT) throw new Error('PORT is missing in env');
|
||||||
|
|
||||||
// greetz https://stackoverflow.com/a/51302466/1004931
|
// greetz https://stackoverflow.com/a/51302466/1004931
|
||||||
async function downloadFile(url, filePath, sse) {
|
async function downloadFile(url, filePath, sse) {
|
||||||
|
41
pnpm-lock.yaml
generated
41
pnpm-lock.yaml
generated
@ -6,6 +6,8 @@ settings:
|
|||||||
|
|
||||||
importers:
|
importers:
|
||||||
|
|
||||||
|
.: {}
|
||||||
|
|
||||||
packages/bot:
|
packages/bot:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/express':
|
'@types/express':
|
||||||
@ -28,6 +30,37 @@ importers:
|
|||||||
specifier: ^4.7.0
|
specifier: ^4.7.0
|
||||||
version: 4.7.0
|
version: 4.7.0
|
||||||
|
|
||||||
|
packages/link2cid:
|
||||||
|
dependencies:
|
||||||
|
'@types/express':
|
||||||
|
specifier: ^4.17.21
|
||||||
|
version: 4.17.21
|
||||||
|
body-parser:
|
||||||
|
specifier: ^1.20.2
|
||||||
|
version: 1.20.2
|
||||||
|
cors:
|
||||||
|
specifier: ^2.8.5
|
||||||
|
version: 2.8.5
|
||||||
|
date-fns:
|
||||||
|
specifier: ^3.0.5
|
||||||
|
version: 3.3.1
|
||||||
|
dotenv:
|
||||||
|
specifier: ^16.3.1
|
||||||
|
version: 16.3.1
|
||||||
|
express:
|
||||||
|
specifier: ^4.18.2
|
||||||
|
version: 4.18.2
|
||||||
|
jsonwebtoken:
|
||||||
|
specifier: ^9.0.2
|
||||||
|
version: 9.0.2
|
||||||
|
ssestream:
|
||||||
|
specifier: ^1.1.0
|
||||||
|
version: 1.1.0
|
||||||
|
devDependencies:
|
||||||
|
nodemon:
|
||||||
|
specifier: ^3.0.3
|
||||||
|
version: 3.0.3
|
||||||
|
|
||||||
packages/next:
|
packages/next:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@fortawesome/fontawesome-free':
|
'@fortawesome/fontawesome-free':
|
||||||
@ -3535,6 +3568,10 @@ packages:
|
|||||||
'@babel/runtime': 7.23.8
|
'@babel/runtime': 7.23.8
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/date-fns@3.3.1:
|
||||||
|
resolution: {integrity: sha512-y8e109LYGgoQDveiEBD3DYXKba1jWf5BA8YU1FL5Tvm0BTdEfy54WLCwnuYWZNnzzvALy/QQ4Hov+Q9RVRv+Zw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/dayjs@1.11.10:
|
/dayjs@1.11.10:
|
||||||
resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
|
resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
|
||||||
dev: false
|
dev: false
|
||||||
@ -6447,6 +6484,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
|
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/ssestream@1.1.0:
|
||||||
|
resolution: {integrity: sha512-UOS3JTuGqGEOH89mfHFwVOJNH2+JX9ebIWuw6WBQXpkVOxbdoY3RMliSHzshL4XVYJJrcul5NkuvDFCzgYu1Lw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/statuses@2.0.1:
|
/statuses@2.0.1:
|
||||||
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
|
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user