Skip to content

Commit

Permalink
Merge pull request #724 from iMuFeng/canary
Browse files Browse the repository at this point in the history
feat: add HeyForm template
  • Loading branch information
Siumauricio authored Nov 20, 2024
2 parents b737454 + 105cf10 commit 597842a
Show file tree
Hide file tree
Showing 4 changed files with 100 additions and 0 deletions.
5 changes: 5 additions & 0 deletions apps/dokploy/public/templates/heyform.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 48 additions & 0 deletions apps/dokploy/templates/heyform/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
services:
heyform:
image: heyform/community-edition:latest
restart: always
volumes:
# Persist uploaded images
- heyform-data:/app/static/upload
depends_on:
- mongo
- redis
ports:
- 8000
env_file:
- .env
environment:
MONGO_URI: 'mongodb://mongo:27017/heyform'
REDIS_HOST: redis
REDIS_PORT: 6379
networks:
- heyform-network

mongo:
image: percona/percona-server-mongodb:4.4
restart: always
networks:
- heyform-network
volumes:
# Persist MongoDB data
- mongo-data:/data/db

redis:
image: redis
restart: always
command: "redis-server --appendonly yes"
networks:
- heyform-network
volumes:
# Persist KeyDB data
- redis-data:/data

networks:
heyform-network:
driver: bridge

volumes:
heyform-data:
mongo-data:
redis-data:
32 changes: 32 additions & 0 deletions apps/dokploy/templates/heyform/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import {
type DomainSchema,
type Schema,
type Template,
generateBase64,
generateRandomDomain,
} from "../utils";

export function generate(schema: Schema): Template {
const mainDomain = generateRandomDomain(schema);
const sessionKey = generateBase64(64);
const formEncryptionKey = generateBase64(64);

const domains: DomainSchema[] = [
{
host: mainDomain,
port: 8000,
serviceName: "heyform",
},
];

const envs = [
`APP_HOMEPAGE_URL=http://${mainDomain}`,
`SESSION_KEY=${sessionKey}`,
`FORM_ENCRYPTION_KEY=${formEncryptionKey}`,
];

return {
envs,
domains,
};
}
15 changes: 15 additions & 0 deletions apps/dokploy/templates/templates.ts
Original file line number Diff line number Diff line change
Expand Up @@ -837,6 +837,21 @@ export const templates: TemplateData[] = [
tags: ["3d", "rendering", "animation"],
load: () => import("./blender/index").then((m) => m.generate),
},
{
id: "heyform",
name: "HeyForm",
version: "latest",
description:
"Allows anyone to create engaging conversational forms for surveys, questionnaires, quizzes, and polls. No coding skills required.",
logo: "heyform.svg",
links: {
github: "https://github.com/heyform/heyform",
website: "https://heyform.net",
docs: "https://docs.heyform.net",
},
tags: ["form", "builder", "questionnaire", "quiz", "survey"],
load: () => import("./heyform/index").then((m) => m.generate),
},
{
id: "chatwoot",
name: "Chatwoot",
Expand Down

0 comments on commit 597842a

Please sign in to comment.