mirror of
https://github.com/Dokploy/templates.git
synced 2026-07-08 15:35:24 +02:00
feat: add OpenSourcePOS template (#890)
This commit is contained in:
committed by
GitHub
parent
06904b17be
commit
292716be4b
45
blueprints/opensourcepos/docker-compose.yml
Normal file
45
blueprints/opensourcepos/docker-compose.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
opensourcepos:
|
||||
image: jekkos/opensourcepos:master
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
opensourcepos-db:
|
||||
condition: service_healthy
|
||||
expose:
|
||||
- "80"
|
||||
environment:
|
||||
CI_ENVIRONMENT: production
|
||||
ALLOWED_HOSTNAMES: ${ALLOWED_HOSTNAMES}
|
||||
FORCE_HTTPS: ${FORCE_HTTPS}
|
||||
PHP_TIMEZONE: ${PHP_TIMEZONE}
|
||||
MYSQL_USERNAME: ${MYSQL_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||||
MYSQL_DB_NAME: ${MYSQL_DATABASE}
|
||||
MYSQL_HOST_NAME: opensourcepos-db
|
||||
volumes:
|
||||
- opensourcepos-uploads:/app/public/uploads
|
||||
- opensourcepos-logs:/app/writable/logs
|
||||
|
||||
opensourcepos-db:
|
||||
image: mariadb:10.11
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
||||
MYSQL_USER: ${MYSQL_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||||
volumes:
|
||||
- opensourcepos-db:/var/lib/mysql
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "healthcheck.sh --connect --innodb_initialized"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
|
||||
volumes:
|
||||
opensourcepos-db:
|
||||
opensourcepos-uploads:
|
||||
opensourcepos-logs:
|
||||
9
blueprints/opensourcepos/opensourcepos.svg
Normal file
9
blueprints/opensourcepos/opensourcepos.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" role="img" aria-label="OpenSourcePOS">
|
||||
<rect width="128" height="128" rx="24" fill="#177245"/>
|
||||
<path fill="#fff" d="M30 34h68l-6 44H40L30 34Z"/>
|
||||
<path fill="#d8f3dc" d="M42 45h44l-3 22H45l-3-22Z"/>
|
||||
<path fill="#fff" d="M42 83h44a10 10 0 0 1 10 10v3H32v-3a10 10 0 0 1 10-10Z"/>
|
||||
<path fill="#177245" d="M50 51h28v8H50zM49 88h30v5H49z"/>
|
||||
<circle cx="48" cy="75" r="4" fill="#177245"/>
|
||||
<circle cx="80" cy="75" r="4" fill="#177245"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 512 B |
51
blueprints/opensourcepos/template.toml
Normal file
51
blueprints/opensourcepos/template.toml
Normal file
@@ -0,0 +1,51 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
mysql_root_password = "${password:32}"
|
||||
mysql_password = "${password:32}"
|
||||
php_timezone = "UTC"
|
||||
force_https = "false"
|
||||
allowed_hostnames = "${main_domain}"
|
||||
|
||||
[[config.domains]]
|
||||
serviceName = "opensourcepos"
|
||||
port = 80
|
||||
host = "${main_domain}"
|
||||
path = "/"
|
||||
|
||||
[[config.mounts]]
|
||||
filePath = "README.md"
|
||||
content = """# OpenSourcePOS
|
||||
|
||||
This template deploys Open Source Point of Sale with MariaDB using the upstream Docker image and persistent storage for uploads, logs, and database data.
|
||||
|
||||
## Access
|
||||
|
||||
- URL: `http://${main_domain}`
|
||||
- Default application user: `admin`
|
||||
- Default application password: `pointofsale`
|
||||
|
||||
Change the default application password immediately after the first login.
|
||||
|
||||
## Hostnames and HTTPS
|
||||
|
||||
OpenSourcePOS validates incoming host headers in production. The `allowed_hostnames` variable defaults to `${main_domain}` and can be set to a comma-separated list such as `pos.example.com,www.pos.example.com`.
|
||||
|
||||
The template defaults `force_https` to `false` because Dokploy terminates TLS outside the container. Set it to `true` only when your deployment always reaches OpenSourcePOS through HTTPS and the reverse proxy sends the expected headers.
|
||||
|
||||
## Storage
|
||||
|
||||
The template creates persistent volumes for:
|
||||
|
||||
- MariaDB data
|
||||
- uploaded files
|
||||
- application logs
|
||||
"""
|
||||
|
||||
[config.env]
|
||||
MYSQL_ROOT_PASSWORD = "${mysql_root_password}"
|
||||
MYSQL_DATABASE = "ospos"
|
||||
MYSQL_USER = "admin"
|
||||
MYSQL_PASSWORD = "${mysql_password}"
|
||||
PHP_TIMEZONE = "${php_timezone}"
|
||||
FORCE_HTTPS = "${force_https}"
|
||||
ALLOWED_HOSTNAMES = "${allowed_hostnames}"
|
||||
19
meta.json
19
meta.json
@@ -5219,6 +5219,25 @@
|
||||
"nginx"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "opensourcepos",
|
||||
"name": "OpenSourcePOS",
|
||||
"version": "master",
|
||||
"description": "OpenSourcePOS is a web-based point of sale system for managing sales, inventory, customers, and reports.",
|
||||
"logo": "opensourcepos.svg",
|
||||
"links": {
|
||||
"github": "https://github.com/opensourcepos/opensourcepos",
|
||||
"website": "https://opensourcepos.org/",
|
||||
"docs": "https://github.com/opensourcepos/opensourcepos/blob/master/README.md"
|
||||
},
|
||||
"tags": [
|
||||
"pos",
|
||||
"retail",
|
||||
"inventory",
|
||||
"sales",
|
||||
"business"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "openspeedtest",
|
||||
"name": "OpenSpeedTest",
|
||||
|
||||
Reference in New Issue
Block a user