diff --git a/blueprints/paymenter/docker-compose.yml b/blueprints/paymenter/docker-compose.yml new file mode 100644 index 00000000..35a2ea5e --- /dev/null +++ b/blueprints/paymenter/docker-compose.yml @@ -0,0 +1,53 @@ +services: + database: + image: mariadb:lts + restart: unless-stopped + command: --default-authentication-plugin=mysql_native_password + volumes: + - paymenter-database:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_DATABASE=${MYSQL_DATABASE:-paymenter} + - MYSQL_USER=${MYSQL_USER:-paymenter} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + + cache: + image: redis:alpine + restart: unless-stopped + volumes: + - paymenter-redis:/data + + paymenter: + image: ghcr.io/paymenter/paymenter:latest + restart: unless-stopped + ports: + - 80 + depends_on: + - database + - cache + volumes: + - paymenter-storage:/app/var + - paymenter-logs:/app/storage/logs + - paymenter-public:/app/storage/app/public + environment: + - APP_ENV=${APP_ENV:-production} + - APP_DEBUG=false + - APP_KEY=${APP_KEY} + - APP_URL=${APP_URL} + - DB_CONNECTION=mysql + - DB_HOST=database + - DB_PORT=3306 + - DB_DATABASE=${MYSQL_DATABASE:-paymenter} + - DB_USERNAME=${MYSQL_USER:-paymenter} + - DB_PASSWORD=${MYSQL_PASSWORD} + - CACHE_STORE=redis + - REDIS_HOST=cache + - REDIS_PORT=6379 + - TRUSTED_PROXIES=* + +volumes: + paymenter-database: {} + paymenter-storage: {} + paymenter-logs: {} + paymenter-public: {} + paymenter-redis: {} \ No newline at end of file diff --git a/blueprints/paymenter/paymenter.png b/blueprints/paymenter/paymenter.png new file mode 100644 index 00000000..71d90e4c Binary files /dev/null and b/blueprints/paymenter/paymenter.png differ diff --git a/blueprints/paymenter/template.toml b/blueprints/paymenter/template.toml new file mode 100644 index 00000000..36790074 --- /dev/null +++ b/blueprints/paymenter/template.toml @@ -0,0 +1,22 @@ +[variables] +main_domain = "${domain}" +app_key = "${base64:32}" +mysql_password = "${password:16}" +mysql_root_password = "${password:20}" + +[config] +[[config.domains]] +serviceName = "paymenter" +port = 80 +host = "${main_domain}" +path = "/" + +[config.env] +APP_URL = "https://${main_domain}" +APP_KEY = "base64:${app_key}" +MYSQL_PASSWORD = "${mysql_password}" +MYSQL_ROOT_PASSWORD = "${mysql_root_password}" +MYSQL_DATABASE = "paymenter" +MYSQL_USER = "paymenter" + +[[config.mounts]] \ No newline at end of file diff --git a/meta.json b/meta.json index fc51082f..502b4534 100644 --- a/meta.json +++ b/meta.json @@ -3709,6 +3709,27 @@ "oauth2" ] }, + { + "id": "paymenter", + "name": "Paymenter", + "version": "latest", + "description": "Paymenter is a modern billing and payment management system for hosting providers, with automation, invoicing, and client management features.", + "logo": "paymenter.png", + "links": { + "github": "https://github.com/Paymenter/Paymenter", + "website": "https://paymenter.org/", + "docs": "https://paymenter.org/docs/" + }, + "tags": [ + "billing", + "payment", + "hosting", + "invoicing", + "business", + "automation", + "client-management" + ] + }, { "id": "penpot", "name": "Penpot",