diff --git a/.woodpecker/build.yml b/.woodpecker/build.yml
new file mode 100644
index 0000000..13d578b
--- /dev/null
+++ b/.woodpecker/build.yml
@@ -0,0 +1,23 @@
+steps:
+ - name: build
+ image: node:alpine
+ commands:
+ - npm install -g pnpm
+ - pnpm install
+ - pnpm build
+ when:
+ - event: push
+ - event: pull_request
+
+ - name: publish
+ image: debian:12
+ commands:
+ - apt update -y && apt install -y rsync openssh-client
+ - printf "Host *\n StrictHostKeyChecking no" >> /etc/ssh/ssh_config
+ - ssh-agent bash -c "ssh-add <(echo '$KEY' | base64 -d) && rsync --archive --verbose --compress --hard-links --delete-during --partial --progress ./.output/ root@gorb.app:/var/www/gorb.app && ssh root@gorb.app systemctl restart gorb.app.service"
+ environment:
+ KEY:
+ from_secret: ssh_key
+ when:
+ - branch: main
+ event: push
diff --git a/nuxt.config.ts b/nuxt.config.ts
index c27a274..54649b8 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -2,5 +2,20 @@
export default defineNuxtConfig({
compatibilityDate: '2024-11-01',
devtools: { enabled: true },
- modules: ['@nuxt/fonts', '@nuxt/image']
+ modules: ['@nuxt/fonts', '@nuxt/image'],
+ app: {
+ head: {
+ title: 'Gorb - The Chat App',
+ // this is purely used to embed in that other chat app, and similar stuff
+ meta: [
+ { property: 'og:title', content: 'Gorb - The Federated Chat App' },
+ { property: 'og:description', content: 'GORB! The open-source and federated chat application!' },
+ // { property: 'og:image', content: 'missing' },
+ { property: 'og:url', content: 'https://gorb.app' },
+ { property: 'og:type', content: 'website' },
+ { property: 'og:site_name', content: 'Gorb' },
+ { property: 'theme-color', content: "#c200c2" }
+ ]
+ }
+ }
})
\ No newline at end of file
diff --git a/pages/index.vue b/pages/index.vue
index 5d53c22..c7eac12 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -15,6 +15,13 @@