mirror of
https://github.com/Dokploy/templates.git
synced 2026-06-15 20:25:24 +02:00
feat: add template for colanode (#137)
* feat: add template for colanode - Introduced Colanode Server (v0.1.6), an open-source alternative to Slack and Notion. - Added relevant details including description, logo, links to GitHub, website, and documentation. - Tagged with documentation, knowledge-base, and collaboration. * Update blueprints/colanode/docker-compose.yml * Update blueprints/colanode/docker-compose.yml * Update blueprints/colanode/docker-compose.yml * Update blueprints/colanode/docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
This commit is contained in:
133
blueprints/colanode/docker-compose.yml
Normal file
133
blueprints/colanode/docker-compose.yml
Normal file
@@ -0,0 +1,133 @@
|
||||
services:
|
||||
postgres:
|
||||
image: pgvector/pgvector:pg17
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
POSTGRES_DB: ${POSTGRES_DB}
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
|
||||
valkey:
|
||||
image: valkey/valkey:8.1
|
||||
restart: always
|
||||
command: ["valkey-server", "--requirepass", "${VALKEY_PASSWORD}"]
|
||||
volumes:
|
||||
- valkey_data:/data
|
||||
|
||||
minio:
|
||||
image: minio/minio:RELEASE.2025-04-08T15-41-24Z
|
||||
restart: always
|
||||
environment:
|
||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
||||
MINIO_BROWSER: "on"
|
||||
MINIO_DOMAIN: minio
|
||||
MINIO_ADDRESS: ":9000"
|
||||
MINIO_CONSOLE_ADDRESS: ":9001"
|
||||
volumes:
|
||||
- minio_data:/data
|
||||
entrypoint: sh
|
||||
command: -c 'mkdir -p /data/colanode-avatars /data/colanode-files && minio server /data --address ":9000" --console-address ":9001"'
|
||||
|
||||
server:
|
||||
image: ghcr.io/colanode/server:latest
|
||||
restart: always
|
||||
depends_on:
|
||||
- postgres
|
||||
- valkey
|
||||
- minio
|
||||
environment:
|
||||
# ---------------------------------------------------------------
|
||||
# General Node/Server Config
|
||||
# ---------------------------------------------------------------
|
||||
NODE_ENV: production
|
||||
PORT: 3000
|
||||
|
||||
# The server requires a name and avatar URL which will be displayed in the desktop app login screen.
|
||||
SERVER_NAME: ${SERVER_NAME}
|
||||
SERVER_AVATAR: ${SERVER_AVATAR}
|
||||
# Possible values for SERVER_MODE: 'standalone', 'cluster'
|
||||
SERVER_MODE: "standalone"
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# Account Configuration
|
||||
# ---------------------------------------------------------------
|
||||
# Possible values for ACCOUNT_VERIFICATION_TYPE: 'automatic', 'manual', 'email'
|
||||
ACCOUNT_VERIFICATION_TYPE: "automatic"
|
||||
ACCOUNT_OTP_TIMEOUT: "600" # in seconds
|
||||
ACCOUNT_ALLOW_GOOGLE_LOGIN: "false"
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# User Configuration
|
||||
# ---------------------------------------------------------------
|
||||
USER_STORAGE_LIMIT: "10737418240" # 10 GB
|
||||
USER_MAX_FILE_SIZE: "104857600" # 100 MB
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# PostgreSQL Configuration
|
||||
# ---------------------------------------------------------------
|
||||
# The server expects a PostgreSQL database with the pgvector extension installed.
|
||||
POSTGRES_URL: "postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}"
|
||||
|
||||
# Optional variables for SSL connection to the database
|
||||
# POSTGRES_SSL_REJECT_UNAUTHORIZED: 'false'
|
||||
# POSTGRES_SSL_CA: ''
|
||||
# POSTGRES_SSL_KEY: ''
|
||||
# POSTGRES_SSL_CERT: ''
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# Redis Configuration
|
||||
# ---------------------------------------------------------------
|
||||
REDIS_URL: "redis://:${VALKEY_PASSWORD}@valkey:6379/0"
|
||||
REDIS_DB: "0"
|
||||
# Optional variables:
|
||||
REDIS_JOBS_QUEUE_NAME: "jobs"
|
||||
REDIS_JOBS_QUEUE_PREFIX: "colanode"
|
||||
REDIS_EVENTS_CHANNEL: "events"
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# S3 Configuration for Avatars
|
||||
# ---------------------------------------------------------------
|
||||
S3_AVATARS_ENDPOINT: "http://minio:9000"
|
||||
S3_AVATARS_ACCESS_KEY: ${MINIO_ROOT_USER}
|
||||
S3_AVATARS_SECRET_KEY: ${MINIO_ROOT_PASSWORD}
|
||||
S3_AVATARS_BUCKET_NAME: "colanode-avatars"
|
||||
S3_AVATARS_REGION: "us-east-1"
|
||||
S3_AVATARS_FORCE_PATH_STYLE: "true"
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# S3 Configuration for Files
|
||||
# ---------------------------------------------------------------
|
||||
S3_FILES_ENDPOINT: "http://minio:9000"
|
||||
S3_FILES_ACCESS_KEY: ${MINIO_ROOT_USER}
|
||||
S3_FILES_SECRET_KEY: ${MINIO_ROOT_PASSWORD}
|
||||
S3_FILES_BUCKET_NAME: "colanode-files"
|
||||
S3_FILES_REGION: "us-east-1"
|
||||
S3_FILES_FORCE_PATH_STYLE: "true"
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# SMTP configuration
|
||||
# ---------------------------------------------------------------
|
||||
SMTP_ENABLED: ${SMTP_ENABLED}
|
||||
SMTP_HOST: ${SMTP_HOST}
|
||||
SMTP_PORT: ${SMTP_PORT}
|
||||
SMTP_USER: ${SMTP_USER}
|
||||
SMTP_PASSWORD: ${SMTP_PASSWORD}
|
||||
SMTP_EMAIL_FROM: ${SMTP_EMAIL_FROM}
|
||||
SMTP_EMAIL_FROM_NAME: ${SMTP_EMAIL_FROM_NAME}
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# AI Configuration
|
||||
# ---------------------------------------------------------------
|
||||
# The AI integration is in experimental mode yet and we don't
|
||||
# recommend using it.
|
||||
# ---------------------------------------------------------------
|
||||
AI_ENABLED: "false"
|
||||
# ---------------------------------------------------------------
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
valkey_data:
|
||||
minio_data:
|
||||
18
blueprints/colanode/logo.svg
Normal file
18
blueprints/colanode/logo.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="1080.000000pt" height="1080.000000pt" viewBox="0 0 1080.000000 1080.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
|
||||
<g transform="translate(0.000000,1080.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path
|
||||
d="M0 5400 l0 -5400 5400 0 5400 0 0 5400 0 5400 -5400 0 -5400 0 0
|
||||
-5400z m8008 2133 l2 -472 -1637 -4 c-1487 -3 -1645 -5 -1713 -20 -236 -53
|
||||
-417 -153 -586 -323 -180 -182 -293 -411 -323 -659 -14 -117 -15 -1189 -1
|
||||
-1305 17 -138 47 -238 110 -365 159 -323 440 -541 800 -622 68 -15 226 -17
|
||||
1713 -20 l1637 -4 -2 -472 -3 -472 -1635 0 c-1724 0 -1694 -1 -1923 46 -760
|
||||
154 -1397 770 -1592 1539 -59 230 -60 255 -60 1015 0 624 2 712 18 815 77 496
|
||||
294 899 671 1249 345 319 793 511 1265 541 64 4 823 7 1686 6 l1570 -1 3 -472z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 982 B |
31
blueprints/colanode/template.toml
Normal file
31
blueprints/colanode/template.toml
Normal file
@@ -0,0 +1,31 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
|
||||
[config]
|
||||
mounts = []
|
||||
|
||||
[[config.domains]]
|
||||
serviceName = "server"
|
||||
port = 3000
|
||||
host = "${main_domain}"
|
||||
|
||||
[config.env]
|
||||
SERVER_NAME = "My Colanode"
|
||||
SERVER_AVATAR = "https://colanode.com/assets/logo-black.png"
|
||||
|
||||
POSTGRES_USER = "colanode_user"
|
||||
POSTGRES_PASSWORD = "your_postgres_password"
|
||||
POSTGRES_DB = "colanode_db"
|
||||
|
||||
VALKEY_PASSWORD = "your_valkey_password"
|
||||
|
||||
MINIO_ROOT_USER = "admin"
|
||||
MINIO_ROOT_PASSWORD = "your_minio_password"
|
||||
|
||||
SMTP_ENABLED = "false"
|
||||
SMTP_HOST = "smtp.gmail.com"
|
||||
SMTP_PORT = "587"
|
||||
SMTP_USER = "your_smtp_username"
|
||||
SMTP_PASSWORD = "your_smtp_password"
|
||||
SMTP_EMAIL_FROM = "your_email@example.com"
|
||||
SMTP_EMAIL_FROM_NAME = "Colanode"
|
||||
13
meta.json
13
meta.json
@@ -2132,6 +2132,19 @@
|
||||
},
|
||||
"tags": ["documentation", "development", "collaboration"]
|
||||
},
|
||||
{
|
||||
"id": "colanode",
|
||||
"name": "Colanode Server",
|
||||
"version": "v0.1.6",
|
||||
"description": "Open-source and local-first Slack and Notion alternative that puts you in control of your data",
|
||||
"logo": "logo.svg",
|
||||
"links": {
|
||||
"github": "https://github.com/colanode/colanode",
|
||||
"website": "https://colanode.com",
|
||||
"docs": "https://colanode.com/docs/"
|
||||
},
|
||||
"tags": ["documentation", "knowledge-base", "collaboration"]
|
||||
},
|
||||
{
|
||||
"id": "collabora-office",
|
||||
"name": "Collabora Office",
|
||||
|
||||
Reference in New Issue
Block a user