FreeScout template (#149)

* Add FreeScout template

* Final commit. Tested and working.
 - opted to use internal db rather than external
 - http instead of https for traefik-generated domain
This commit is contained in:
Arob
2025-05-24 23:42:20 +00:00
committed by GitHub
parent 7c91a413c0
commit f3358000b1
4 changed files with 124 additions and 29 deletions

View File

@@ -0,0 +1,61 @@
services:
freescout-db:
image: mariadb:10.6
volumes:
- freescout-db-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASS}
healthcheck:
test:
[
"CMD",
"mysqladmin",
"ping",
"-h",
"localhost",
"-u",
"root",
"-p${MYSQL_ROOT_PASSWORD}",
]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
freescout:
image: tiredofit/freescout:latest
volumes:
- freescout-data:/data
- freescout-html:/www/html
- freescout-logs:/www/logs
depends_on:
freescout-db:
condition: service_healthy
environment:
- ADMIN_EMAIL=${ADMIN_EMAIL}
- ADMIN_PASS=${ADMIN_PASS}
- ADMIN_FIRST_NAME=${ADMIN_FIRST_NAME}
- ADMIN_LAST_NAME=${ADMIN_LAST_NAME}
- SITE_URL=${SITE_URL}
- DB_HOST=freescout-db
- DB_PORT=3306
- DB_TYPE=mysql
- DB_NAME=${DB_NAME}
- DB_USER=${DB_USER}
- DB_PASS=${DB_PASS}
- APPLICATION_NAME=${APPLICATION_NAME}
- SETUP_TYPE=AUTO
- ENABLE_AUTO_UPDATE=TRUE
- DISPLAY_ERRORS=FALSE
- APP_PROXY=${APP_PROXY}
- APP_TRUSTED_PROXIES=${APP_TRUSTED_PROXIES}
restart: unless-stopped
volumes:
freescout-db-data:
freescout-data:
freescout-html:
freescout-logs:

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 96 96" enable-background="new 0 0 96 96" xml:space="preserve">
<g id="XMLID_2_">
<path id="XMLID_6_" fill="#FFFFFF" d="M0,48l0,3.6c0,12.7,7.7,21.6,18.7,21.6h1.8c4.9,0,9.8-2.8,13.3-6.8c3.9,3,8.8,4.9,14.2,4.9
c12.9,0,23.3-10.5,23.3-23.3S60.9,24.7,48,24.7c-12.9,0-23.3,10.5-23.3,23.3v7.5c-0.1,1.3-2.8,3.9-4.1,4h-1.8c-4.4,0-5-4.9-5-7.8
V48c0-18.9,15.4-34.3,34.3-34.3c18.9,0,34.3,15.4,34.3,34.3c0,18.9-15.4,34.3-34.3,34.3c-7,0-11.9-2-15.2-3.5l-7.4,11.6
C30.6,93.2,38.2,96,48,96c26.5,0,48-21.5,48-48C96,21.5,74.5,0,48,0C21.5,0,0,21.5,0,48z M38.4,48c0-5.3,4.3-9.6,9.6-9.6
c5.3,0,9.6,4.3,9.6,9.6c0,5.3-4.3,9.6-9.6,9.6C42.7,57.6,38.4,53.3,38.4,48z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,30 @@
[variables]
main_domain = "${domain}"
mysql_root_password = "${password:16}"
admin_email = "${email}"
admin_password = "${password:16}"
db_name = "freescout"
db_user = "freescout_user"
db_pass = "${password:16}"
[config]
mounts = []
[[config.domains]]
serviceName = "freescout"
port = 80
host = "${main_domain}"
[config.env]
MYSQL_ROOT_PASSWORD = "${mysql_root_password}"
DB_NAME = "${db_name}"
DB_USER = "${db_user}"
DB_PASS = "${db_pass}"
ADMIN_EMAIL = "${admin_email}"
ADMIN_PASS = "${admin_password}"
ADMIN_FIRST_NAME = "Admin"
ADMIN_LAST_NAME = "User"
SITE_URL = "http://${main_domain}"
APPLICATION_NAME = "Customer Support"
APP_PROXY = ""
APP_TRUSTED_PROXIES = "172.16.0.0/12,192.168.0.0/16,10.0.0.0/8"

View File

@@ -12,6 +12,19 @@
"logo": "autobase.svg",
"tags": ["database", "postgres", "self-hosted", "server"]
},
{
"id": "freescout",
"name": "FreeScout",
"version": "latest",
"description": "FreeScout is a free open source help desk and shared inbox system. It's a self-hosted alternative to HelpScout, Zendesk, and similar services that allows you to manage customer communications through email and a clean web interface. FreeScout makes it easy to organize support requests, track customer conversations, and collaborate with your team.",
"links": {
"github": "https://github.com/freescout-helpdesk/freescout",
"website": "https://freescout.net/",
"docs": "https://github.com/freescout-helpdesk/freescout/wiki/Installation-Guide"
},
"logo": "freescout.svg",
"tags": ["helpdesk", "support", "email", "customer-service", "self-hosted"]
},
{
"id": "openresty-manager",
"name": "OpenResty Manager",
@@ -686,11 +699,7 @@
"website": "https://pterodactyl.io",
"docs": "https://pterodactyl.io/project/introduction.html"
},
"tags": [
"self-hosted",
"open-source",
"management"
]
"tags": ["self-hosted", "open-source", "management"]
},
{
"id": "pyrodactyl",
@@ -703,11 +712,7 @@
"website": "https://pyrodactyl.dev",
"docs": "https://pyrodactyl.dev/docs"
},
"tags": [
"self-hosted",
"open-source",
"management"
]
"tags": ["self-hosted", "open-source", "management"]
},
{
"id": "influxdb",
@@ -2252,13 +2257,7 @@
"website": "https://homebridge.io/",
"docs": "https://github.com/homebridge/homebridge/wiki"
},
"tags": [
"iot",
"homekit",
"internet-of-things",
"self-hosted",
"server"
]
"tags": ["iot", "homekit", "internet-of-things", "self-hosted", "server"]
},
{
"id": "homeassistant",
@@ -2342,11 +2341,7 @@
"website": "https://qdrant.tech/",
"docs": "https://qdrant.tech/documentation/"
},
"tags": [
"vector-db",
"database",
"search"
]
"tags": ["vector-db", "database", "search"]
},
{
"id": "trmnl-byos-laravel",
@@ -2359,12 +2354,9 @@
"website": "https://docs.usetrmnl.com/go/diy/byos",
"docs": "https://github.com/usetrmnl/byos_laravel/blob/main/README.md"
},
"tags": [
"e-ink"
]
},
"tags": ["e-ink"]
},
{
"id": "chibisafe",
"name": "Chibisafe",
"version": "latest",
@@ -2378,7 +2370,6 @@
"tags": ["media system", "storage", "file-sharing"]
},
{
"id": "rybbit",
"name": "Rybbit",
"version": "latest",
@@ -2390,5 +2381,5 @@
"docs": "https://www.rybbit.io/docs"
},
"tags": ["analytics"]
}
}
]