mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
Merge pull request #705 from seppulcro/feat/nextcloud-aio-template
feat: add nextcloud-aio template
This commit is contained in:
1
apps/dokploy/public/templates/nextcloud-aio.svg
Normal file
1
apps/dokploy/public/templates/nextcloud-aio.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="256" height="128" version="1.1" viewBox="0 0 256 128" xmlns="http://www.w3.org/2000/svg"><path d="m128 7c-25.871 0-47.817 17.485-54.713 41.209-5.9795-12.461-18.642-21.209-33.287-21.209-20.304 0-37 16.696-37 37s16.696 37 37 37c14.645 0 27.308-8.7481 33.287-21.209 6.8957 23.724 28.842 41.209 54.713 41.209s47.817-17.485 54.713-41.209c5.9795 12.461 18.642 21.209 33.287 21.209 20.304 0 37-16.696 37-37s-16.696-37-37-37c-14.645 0-27.308 8.7481-33.287 21.209-6.8957-23.724-28.842-41.209-54.713-41.209zm0 22c19.46 0 35 15.54 35 35s-15.54 35-35 35-35-15.54-35-35 15.54-35 35-35zm-88 20c8.4146 0 15 6.5854 15 15s-6.5854 15-15 15-15-6.5854-15-15 6.5854-15 15-15zm176 0c8.4146 0 15 6.5854 15 15s-6.5854 15-15 15-15-6.5854-15-15 6.5854-15 15-15z" color="#000000" fill="#fff" style="-inkscape-stroke:none"/></svg>
|
||||
|
After Width: | Height: | Size: 814 B |
38
apps/dokploy/templates/nextcloud-aio/docker-compose.yml
Normal file
38
apps/dokploy/templates/nextcloud-aio/docker-compose.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
services:
|
||||
nextcloud:
|
||||
image: nextcloud:30.0.2
|
||||
restart: always
|
||||
networks:
|
||||
- dokploy-network
|
||||
ports:
|
||||
- 80
|
||||
volumes:
|
||||
- nextcloud_data:/var/www/html
|
||||
environment:
|
||||
- NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_DOMAIN}
|
||||
- MYSQL_HOST=nextcloud_db
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
- MYSQL_PASSWORD=${MYSQL_SECRET_PASSWORD}
|
||||
- OVERWRITEPROTOCOL=https
|
||||
|
||||
nextcloud_db:
|
||||
image: mariadb
|
||||
restart: always
|
||||
networks:
|
||||
- dokploy-network
|
||||
volumes:
|
||||
- nextcloud_db_data:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_SECRET_PASSWORD_ROOT}
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
- MYSQL_PASSWORD=${MYSQL_SECRET_PASSWORD}
|
||||
|
||||
volumes:
|
||||
nextcloud_data:
|
||||
nextcloud_db_data:
|
||||
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
28
apps/dokploy/templates/nextcloud-aio/index.ts
Normal file
28
apps/dokploy/templates/nextcloud-aio/index.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import {
|
||||
type DomainSchema,
|
||||
type Schema,
|
||||
type Template,
|
||||
generatePassword,
|
||||
generateRandomDomain,
|
||||
} from "../utils";
|
||||
|
||||
export function generate(schema: Schema): Template {
|
||||
const randomDomain = generateRandomDomain(schema);
|
||||
const databasePassword = generatePassword();
|
||||
const databaseRootPassword = generatePassword();
|
||||
const envs = [
|
||||
`NEXTCLOUD_DOMAIN=${randomDomain}`,
|
||||
`MYSQL_SECRET_PASSWORD=${databasePassword}`,
|
||||
`MYSQL_SECRET_PASSWORD_ROOT=${databaseRootPassword}`,
|
||||
];
|
||||
|
||||
const domains: DomainSchema[] = [
|
||||
{
|
||||
host: randomDomain,
|
||||
port: 80,
|
||||
serviceName: "nextcloud",
|
||||
},
|
||||
];
|
||||
|
||||
return { envs, domains };
|
||||
}
|
||||
@@ -703,6 +703,21 @@ export const templates: TemplateData[] = [
|
||||
load: () => import("./lobe-chat/index").then((m) => m.generate),
|
||||
},
|
||||
{
|
||||
id: "nextcloud-aio",
|
||||
name: "Nextcloud All in One",
|
||||
version: "30.0.2",
|
||||
description:
|
||||
"Nextcloud (AIO) is a self-hosted file storage and sync platform with powerful collaboration capabilities. It integrates Files, Talk, Groupware, Office, Assistant and more into a single platform for remote work and data protection.",
|
||||
logo: "nextcloud-aio.svg",
|
||||
links: {
|
||||
github: "https://github.com/nextcloud/docker",
|
||||
website: "https://nextcloud.com/",
|
||||
docs: "https://docs.nextcloud.com/",
|
||||
},
|
||||
tags: ["file", "sync"],
|
||||
load: () => import("./nextcloud-aio/index").then((m) => m.generate),
|
||||
},
|
||||
{
|
||||
id: "blender",
|
||||
name: "Blender",
|
||||
version: "latest",
|
||||
|
||||
Reference in New Issue
Block a user