Compare commits
2 Commits
963929475c
...
37dafcd24d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37dafcd24d | ||
|
|
b6d88e79ac |
14
README.md
14
README.md
@@ -97,20 +97,6 @@ Some apps require other apps to function. For example:
|
||||
|
||||
When you add an app, check its `requires` field in the manifest and ensure dependencies are added first.
|
||||
|
||||
## Available Apps
|
||||
|
||||
This repository includes apps for:
|
||||
- Content management (Ghost, Discourse)
|
||||
- Project management (OpenProject)
|
||||
- Photo management (Immich)
|
||||
- Code hosting (Gitea)
|
||||
- Email marketing (Listmonk, Keila)
|
||||
- AI interfaces (Open WebUI, vLLM)
|
||||
- Databases (PostgreSQL, MySQL, Redis, Memcached)
|
||||
- And more...
|
||||
|
||||
Browse the full catalog with descriptions through the web app, CLI, or via the API endpoint `/api/v1/apps/available`.
|
||||
|
||||
## Contributing
|
||||
|
||||
Want to add a new app or improve an existing one? See [ADDING-APPS.md](ADDING-APPS.md) for detailed guidance on creating Wild Cloud apps.
|
||||
|
||||
@@ -12,6 +12,7 @@ resources:
|
||||
- pvc-assets.yaml
|
||||
- pvc-system.yaml
|
||||
- db-init-job.yaml
|
||||
- vapid-init-job.yaml
|
||||
- deployment-web.yaml
|
||||
- deployment-sidekiq.yaml
|
||||
- deployment-streaming.yaml
|
||||
|
||||
@@ -51,9 +51,9 @@ defaultSecrets:
|
||||
- key: otpSecret
|
||||
default: "{{ random.AlphaNum 128 }}"
|
||||
- key: vapidPrivateKey
|
||||
# Must be generated with: bundle exec rake mastodon:webpush:generate_vapid_key
|
||||
# Generated by vapid-init-job.yaml on first deploy
|
||||
- key: vapidPublicKey
|
||||
# Must be generated with: bundle exec rake mastodon:webpush:generate_vapid_key
|
||||
# Generated by vapid-init-job.yaml on first deploy
|
||||
- key: activeRecordPrimaryKey
|
||||
default: "{{ random.AlphaNum 32 }}"
|
||||
- key: activeRecordDeterministicKey
|
||||
|
||||
68
mastodon/vapid-init-job.yaml
Normal file
68
mastodon/vapid-init-job.yaml
Normal file
@@ -0,0 +1,68 @@
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: mastodon-vapid-init
|
||||
namespace: {{ .namespace }}
|
||||
spec:
|
||||
ttlSecondsAfterFinished: 300
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
component: vapid-init
|
||||
spec:
|
||||
restartPolicy: OnFailure
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 991
|
||||
runAsGroup: 991
|
||||
fsGroup: 991
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
containers:
|
||||
- name: vapid-init
|
||||
image: {{ .image }}
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop: [ALL]
|
||||
readOnlyRootFilesystem: false
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- |
|
||||
set -e
|
||||
|
||||
# Check if VAPID keys already exist in the secret
|
||||
if [ -n "$VAPID_PRIVATE_KEY" ] && [ "$VAPID_PRIVATE_KEY" != "null" ] && \
|
||||
[ -n "$VAPID_PUBLIC_KEY" ] && [ "$VAPID_PUBLIC_KEY" != "null" ]; then
|
||||
echo "VAPID keys already exist in secret, skipping generation"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Generating VAPID keys..."
|
||||
bundle exec rake mastodon:webpush:generate_vapid_key > /tmp/vapid_output.txt
|
||||
|
||||
echo "VAPID keys generated:"
|
||||
cat /tmp/vapid_output.txt
|
||||
|
||||
echo ""
|
||||
echo "NOTE: These keys must be manually added to secrets.yaml:"
|
||||
echo " apps.mastodon.vapidPrivateKey: <VAPID_PRIVATE_KEY from above>"
|
||||
echo " apps.mastodon.vapidPublicKey: <VAPID_PUBLIC_KEY from above>"
|
||||
env:
|
||||
- name: VAPID_PRIVATE_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: mastodon-secrets
|
||||
key: vapidPrivateKey
|
||||
optional: true
|
||||
- name: VAPID_PUBLIC_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: mastodon-secrets
|
||||
key: vapidPublicKey
|
||||
optional: true
|
||||
- name: RAILS_ENV
|
||||
value: production
|
||||
- name: LOCAL_DOMAIN
|
||||
value: "{{ .domain }}"
|
||||
Reference in New Issue
Block a user