mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
fix: remove erpnext/mailserver templates
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 6.2 KiB |
@@ -1 +0,0 @@
|
|||||||
<svg viewBox="20 244 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M122 490h172l70-27a10 10 0 0 0 6-12l-55-146a10 10 0 0 0-13-5L90 380a10 10 0 0 0-6 12z" fill="#e3e3e3"/><path d="m294 490 70-27a10 10 0 0 0 5-5l-149-54-46 86z" fill="#d4d4d4"/><path d="m84 387 150 53 75-140a10 10 0 0 0-7 0L90 380a10 10 0 0 0-6 6z" fill="#fff"/><path d="M423 397c-2 0-5 1-7 3-2 3-20 23-16 69 1 3 0 7-2 9-1 2-4 3-7 3H36.6c-2.6 0-5.4 1-7.6 3-2 2-3 5-3 8 0 160 117 177 168 177 129 0 219-78 258-148 52-8 74-43 75-45 3-5 1-11-4-14-1-1-31-20-59-15-7-29-33-47-35-48-1.75-1.3-3.7-1.86-5.66-1.8zM132 544a21 21 0 0 1 21 21 21 21 0 0 1-21 21 21 21 0 0 1-21-21 21 21 0 0 1 21-21z" fill="#fff"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 677 B |
@@ -1,211 +0,0 @@
|
|||||||
services:
|
|
||||||
backend:
|
|
||||||
image: frappe/erpnext:v15.35.1
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- sites:/home/frappe/frappe-bench/sites
|
|
||||||
- logs:/home/frappe/frappe-bench/logs
|
|
||||||
|
|
||||||
configurator:
|
|
||||||
image: frappe/erpnext:v15.35.1
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: none
|
|
||||||
entrypoint:
|
|
||||||
- bash
|
|
||||||
- -c
|
|
||||||
# add redis_socketio for backward compatibility
|
|
||||||
command:
|
|
||||||
- >
|
|
||||||
ls -1 apps > sites/apps.txt;
|
|
||||||
bench set-config -g db_host $$DB_HOST;
|
|
||||||
bench set-config -gp db_port $$DB_PORT;
|
|
||||||
bench set-config -g redis_cache "redis://$$REDIS_CACHE";
|
|
||||||
bench set-config -g redis_queue "redis://$$REDIS_QUEUE";
|
|
||||||
bench set-config -g redis_socketio "redis://$$REDIS_QUEUE";
|
|
||||||
bench set-config -gp socketio_port $$SOCKETIO_PORT;
|
|
||||||
environment:
|
|
||||||
DB_HOST: db
|
|
||||||
DB_PORT: "3306"
|
|
||||||
REDIS_CACHE: redis-cache:6379
|
|
||||||
REDIS_QUEUE: redis-queue:6379
|
|
||||||
SOCKETIO_PORT: "9000"
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- sites:/home/frappe/frappe-bench/sites
|
|
||||||
- logs:/home/frappe/frappe-bench/logs
|
|
||||||
|
|
||||||
create-site:
|
|
||||||
image: frappe/erpnext:v15.35.1
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: none
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- sites:/home/frappe/frappe-bench/sites
|
|
||||||
- logs:/home/frappe/frappe-bench/logs
|
|
||||||
entrypoint:
|
|
||||||
- bash
|
|
||||||
- -c
|
|
||||||
command:
|
|
||||||
- >
|
|
||||||
wait-for-it -t 120 db:3306;
|
|
||||||
wait-for-it -t 120 redis-cache:6379;
|
|
||||||
wait-for-it -t 120 redis-queue:6379;
|
|
||||||
export start=`date +%s`;
|
|
||||||
until [[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".db_host // empty"` ]] && \
|
|
||||||
[[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".redis_cache // empty"` ]] && \
|
|
||||||
[[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".redis_queue // empty"` ]];
|
|
||||||
do
|
|
||||||
echo "Waiting for sites/common_site_config.json to be created";
|
|
||||||
sleep 5;
|
|
||||||
if (( `date +%s`-start > 120 )); then
|
|
||||||
echo "could not find sites/common_site_config.json with required keys";
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done;
|
|
||||||
echo "sites/common_site_config.json found";
|
|
||||||
bench new-site --no-mariadb-socket --admin-password=admin --db-root-password=admin --install-app erpnext --set-default frontend;
|
|
||||||
|
|
||||||
db:
|
|
||||||
image: mariadb:10.6
|
|
||||||
healthcheck:
|
|
||||||
test: mysqladmin ping -h localhost --password=admin
|
|
||||||
interval: 1s
|
|
||||||
retries: 15
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
command:
|
|
||||||
- --character-set-server=utf8mb4
|
|
||||||
- --collation-server=utf8mb4_unicode_ci
|
|
||||||
- --skip-character-set-client-handshake
|
|
||||||
- --skip-innodb-read-only-compressed # Temporary fix for MariaDB 10.6
|
|
||||||
environment:
|
|
||||||
MYSQL_ROOT_PASSWORD: admin
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- db-data:/var/lib/mysql
|
|
||||||
|
|
||||||
frontend:
|
|
||||||
image: frappe/erpnext:v15.35.1
|
|
||||||
depends_on:
|
|
||||||
- websocket
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
command:
|
|
||||||
- nginx-entrypoint.sh
|
|
||||||
environment:
|
|
||||||
BACKEND: backend:8000
|
|
||||||
FRAPPE_SITE_NAME_HEADER: frontend
|
|
||||||
SOCKETIO: websocket:9000
|
|
||||||
UPSTREAM_REAL_IP_ADDRESS: 127.0.0.1
|
|
||||||
UPSTREAM_REAL_IP_HEADER: X-Forwarded-For
|
|
||||||
UPSTREAM_REAL_IP_RECURSIVE: "off"
|
|
||||||
PROXY_READ_TIMEOUT: 120
|
|
||||||
CLIENT_MAX_BODY_SIZE: 50m
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- sites:/home/frappe/frappe-bench/sites
|
|
||||||
- logs:/home/frappe/frappe-bench/logs
|
|
||||||
ports:
|
|
||||||
- "8080:8080"
|
|
||||||
|
|
||||||
queue-long:
|
|
||||||
image: frappe/erpnext:v15.35.1
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
command:
|
|
||||||
- bench
|
|
||||||
- worker
|
|
||||||
- --queue
|
|
||||||
- long,default,short
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- sites:/home/frappe/frappe-bench/sites
|
|
||||||
- logs:/home/frappe/frappe-bench/logs
|
|
||||||
|
|
||||||
queue-short:
|
|
||||||
image: frappe/erpnext:v15.35.1
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
command:
|
|
||||||
- bench
|
|
||||||
- worker
|
|
||||||
- --queue
|
|
||||||
- short,default
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- sites:/home/frappe/frappe-bench/sites
|
|
||||||
- logs:/home/frappe/frappe-bench/logs
|
|
||||||
|
|
||||||
redis-queue:
|
|
||||||
image: redis:6.2-alpine
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- redis-queue-data:/data
|
|
||||||
|
|
||||||
redis-cache:
|
|
||||||
image: redis:6.2-alpine
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- redis-cache-data:/data
|
|
||||||
|
|
||||||
scheduler:
|
|
||||||
image: frappe/erpnext:v15.35.1
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
command:
|
|
||||||
- bench
|
|
||||||
- schedule
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- sites:/home/frappe/frappe-bench/sites
|
|
||||||
- logs:/home/frappe/frappe-bench/logs
|
|
||||||
|
|
||||||
websocket:
|
|
||||||
image: frappe/erpnext:v15.35.1
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
command:
|
|
||||||
- node
|
|
||||||
- /home/frappe/frappe-bench/apps/frappe/socketio.js
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
volumes:
|
|
||||||
- sites:/home/frappe/frappe-bench/sites
|
|
||||||
- logs:/home/frappe/frappe-bench/logs
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
db-data:
|
|
||||||
redis-queue-data:
|
|
||||||
redis-cache-data:
|
|
||||||
sites:
|
|
||||||
logs:
|
|
||||||
networks:
|
|
||||||
dokploy-network:
|
|
||||||
external: true
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
import {
|
|
||||||
type DomainSchema,
|
|
||||||
type Schema,
|
|
||||||
type Template,
|
|
||||||
generateRandomDomain,
|
|
||||||
} from "../utils";
|
|
||||||
|
|
||||||
export function generate(schema: Schema): Template {
|
|
||||||
const mainDomain = generateRandomDomain(schema);
|
|
||||||
|
|
||||||
const domains: DomainSchema[] = [
|
|
||||||
{
|
|
||||||
host: mainDomain,
|
|
||||||
port: 8080,
|
|
||||||
serviceName: "frontend",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
return {
|
|
||||||
domains,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
services:
|
|
||||||
mailserver:
|
|
||||||
image: ghcr.io/docker-mailserver/docker-mailserver:latest
|
|
||||||
hostname: ${DMS_HOSTNAME}
|
|
||||||
ports:
|
|
||||||
- "25:25" # SMTP (STARTTLS)
|
|
||||||
- "465:465" # SMTP (Implicit TLS)
|
|
||||||
- "587:587" # SMTP (STARTTLS)
|
|
||||||
- "143:143" # IMAP (STARTTLS)
|
|
||||||
- "993:993" # IMAP (Implicit TLS)
|
|
||||||
volumes:
|
|
||||||
- dms-mail-data:/var/mail/
|
|
||||||
- dms-mail-state:/var/mail-state/
|
|
||||||
- dms-mail-logs:/var/log/mail/
|
|
||||||
- dms-mail-config:/tmp/docker-mailserver/
|
|
||||||
- /etc/dokploy/traefik/dynamic/acme.json:/etc/letsencrypt/acme.json:ro
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
environment:
|
|
||||||
- ENABLE_FAIL2BAN=${DMS_ENABLE_FAIL2BAN}
|
|
||||||
- PERMIT_DOCKER=${DMS_PERMIT_DOCKER}
|
|
||||||
- SPOOF_PROTECTION=${DMS_SPOOF_PROTECTION}
|
|
||||||
- SSL_TYPE=${DMS_SSL_TYPE}
|
|
||||||
- SSL_DOMAIN=${DMS_SSL_DOMAIN}
|
|
||||||
- POSTMASTER_ADDRESS=${DMS_POSTMASTER_ADDRESS}
|
|
||||||
cap_add:
|
|
||||||
- NET_ADMIN
|
|
||||||
restart: always
|
|
||||||
stop_grace_period: 1m
|
|
||||||
healthcheck:
|
|
||||||
test: ${DMS_HEALTHCHECK_CMD}
|
|
||||||
timeout: ${DMS_HEALTHCHECK_TIMEOUT}
|
|
||||||
retries: ${DMS_HEALTHCHECK_RETRIES}
|
|
||||||
command: >
|
|
||||||
sh -c '
|
|
||||||
if [ ! -s /tmp/docker-mailserver/postfix-accounts.cf ]; then
|
|
||||||
echo "File does not exist or is empty. Running setup command...";
|
|
||||||
setup email add "${DMS_DEFAULT_USER}" "${DMS_DEFAULT_USER_PASS}";
|
|
||||||
else
|
|
||||||
echo "File exists and is not empty. Skipping setup command.";
|
|
||||||
fi
|
|
||||||
exec supervisord -c /etc/supervisor/supervisord.conf
|
|
||||||
'
|
|
||||||
networks:
|
|
||||||
- dokploy-network
|
|
||||||
|
|
||||||
networks:
|
|
||||||
dokploy-network:
|
|
||||||
external: true
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
dms-mail-data:
|
|
||||||
dms-mail-state:
|
|
||||||
dms-mail-logs:
|
|
||||||
dms-mail-config:
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
import type { Schema, Template } from "../utils";
|
|
||||||
|
|
||||||
export function generate(schema: Schema): Template {
|
|
||||||
const envs = [
|
|
||||||
"DMS_HOSTNAME=mail.example.com",
|
|
||||||
"DMS_HEALTHCHECK_CMD='ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1'",
|
|
||||||
"DMS_HEALTHCHECK_TIMEOUT=3s",
|
|
||||||
"DMS_HEALTHCHECK_RETRIES=0",
|
|
||||||
"DMS_POSTMASTER_ADDRESS=postmaster@example.com",
|
|
||||||
"DMS_DEFAULT_USER=admin@example.com",
|
|
||||||
"DMS_DEFAULT_USER_PASS=password",
|
|
||||||
"DMS_ENABLE_FAIL2BAN=1",
|
|
||||||
"DMS_PERMIT_DOCKER=network",
|
|
||||||
"DMS_SPOOF_PROTECTION=0",
|
|
||||||
"DMS_SSL_TYPE=letsencrypt",
|
|
||||||
"DMS_SSL_DOMAIN=example.com",
|
|
||||||
];
|
|
||||||
|
|
||||||
return { envs };
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user