Skip to content

Commit cf37d3c

Browse files
authored
Merge pull request #72 from ever-co/develop
Stage
2 parents a9ac858 + 8857350 commit cf37d3c

22 files changed

Lines changed: 3488 additions & 557 deletions

website/docs/advanced-guide/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ sidebar_position: 3
77

88
# Advanced Guide
99

10-
- [Support](./support.md)
10+
- [Support](./support.mdx)

website/docs/advanced-guide/support.md

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 377 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,377 @@
1+
---
2+
id: support
3+
title: Support
4+
sidebar_label: Support
5+
sidebar_position: 5
6+
hide_title: true
7+
toc_max_heading_level: 2
8+
description: How to get help with Ever Teams — self-service resources, community channels, commercial support, and what to include in a good support request.
9+
---
10+
11+
import styles from "./support.module.css";
12+
13+
{/*
14+
Markdown links are mapped to Docusaurus' `Link`, which sends external
15+
destinations to a new tab. Literal JSX anchors skip that mapping, so they
16+
need the same treatment applied by hand — anything that is not a site path,
17+
a relative path or an anchor leaves the site. `mailto:`/`tel:` are handed to
18+
another application rather than navigated to, so a new tab would only be
19+
left behind blank.
20+
*/}
21+
export const externalProps = (href) =>
22+
/^([./#]|mailto:|tel:)/.test(href)
23+
? {}
24+
: { target: "_blank", rel: "noopener noreferrer" };
25+
26+
export const Icon = ({ children }) => (
27+
<svg
28+
viewBox="0 0 24 24"
29+
fill="none"
30+
stroke="currentColor"
31+
strokeWidth="1.5"
32+
strokeLinecap="round"
33+
strokeLinejoin="round"
34+
aria-hidden="true"
35+
>
36+
{children}
37+
</svg>
38+
);
39+
40+
export const BookIcon = () => (
41+
<Icon>
42+
<path d="M12 7v14" />
43+
<path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z" />
44+
</Icon>
45+
);
46+
47+
export const ChatIcon = () => (
48+
<Icon>
49+
<path d="M7.9 20A9 9 0 1 0 4 16.1L2 22z" />
50+
</Icon>
51+
);
52+
53+
export const BugIcon = () => (
54+
<Icon>
55+
<path d="m8 2 1.88 1.88" />
56+
<path d="M14.12 3.88 16 2" />
57+
<path d="M9 7.13v-1a3 3 0 1 1 6 0v1" />
58+
<path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6" />
59+
<path d="M12 20v-9" />
60+
<path d="M6.5 9C4.6 8.8 3 7.1 3 5" />
61+
<path d="M6 13H2" />
62+
<path d="M3 21c0-2.1 1.7-3.9 3.8-4" />
63+
<path d="M21 5c0 2.1-1.6 3.8-3.5 4" />
64+
<path d="M22 13h-4" />
65+
<path d="M17.2 17c2.1.1 3.8 1.9 3.8 4" />
66+
</Icon>
67+
);
68+
69+
export const BulbIcon = () => (
70+
<Icon>
71+
<path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5" />
72+
<path d="M9 18h6" />
73+
<path d="M10 22h4" />
74+
</Icon>
75+
);
76+
77+
export const ShieldIcon = () => (
78+
<Icon>
79+
<path d="M20 13c0 5-3.5 7.5-7.7 9a1 1 0 0 1-.7 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.5 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z" />
80+
<path d="m9 12 2 2 4-4" />
81+
</Icon>
82+
);
83+
84+
export const BriefcaseIcon = () => (
85+
<Icon>
86+
<path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16" />
87+
<rect width="20" height="14" x="2" y="6" rx="2" />
88+
</Icon>
89+
);
90+
91+
export const Channel = ({ href, icon, title, text }) => (
92+
<a className={styles.channel} href={href} {...externalProps(href)}>
93+
<span className={styles.channelIcon}>{icon}</span>
94+
<span className={styles.channelBody}>
95+
<span className={styles.channelTitle}>{title}</span>
96+
<span className={styles.channelText}>{text}</span>
97+
</span>
98+
</a>
99+
);
100+
101+
export const Definition = ({ term, text }) => (
102+
<div className={styles.definition}>
103+
<span className={styles.definitionTerm}>{term}</span>
104+
<span className={styles.definitionText}>{text}</span>
105+
</div>
106+
);
107+
108+
export const Resource = ({ href, name, text }) => (
109+
<a className={styles.resource} href={href} {...externalProps(href)}>
110+
<span className={styles.resourceName}>{name}</span>
111+
<span className={styles.resourceText}>{text}</span>
112+
</a>
113+
);
114+
115+
<div className={styles.page}>
116+
117+
<span className={styles.eyebrow}>Help &amp; Support</span>
118+
119+
<h1 className={styles.heroTitle}>Get help with Ever Teams</h1>
120+
121+
<p className={styles.heroLead}>
122+
123+
Ever Teams is developed by <a href="https://ever.co" target="_blank" rel="noopener noreferrer">Ever Co. LTD</a> and runs
124+
both as a self-hosted, open-source platform and as a cloud service at{" "}
125+
<a href="https://app.ever.team" target="_blank" rel="noopener noreferrer">app.ever.team</a>. Here is where to get help,
126+
which channel fits which problem, and how to make your request easy to answer.
127+
128+
</p>
129+
130+
## Choose the right channel
131+
132+
<p className={styles.lead}>
133+
134+
Picking the channel that matches your problem is the fastest route to a useful
135+
answer.
136+
137+
</p>
138+
139+
<div className={styles.channels}>
140+
<Channel
141+
href="../troubleshooting/"
142+
icon={<BookIcon />}
143+
title="Solve it yourself"
144+
text="Common errors, fixes, and frequently asked questions."
145+
/>
146+
<Channel
147+
href="https://discord.gg/hKQfn4j"
148+
icon={<ChatIcon />}
149+
title="Ask the community"
150+
text="Quick questions and general chat on Discord."
151+
/>
152+
<Channel
153+
href="https://github.com/ever-co/ever-teams/issues"
154+
icon={<BugIcon />}
155+
title="Report a bug"
156+
text="Reproducible defects, on GitHub Issues."
157+
/>
158+
<Channel
159+
href="https://github.com/ever-co/feature-requests/issues"
160+
icon={<BulbIcon />}
161+
title="Request a feature"
162+
text="Propose an idea in the feature requests repo."
163+
/>
164+
<Channel
165+
href="mailto:security@ever.co"
166+
icon={<ShieldIcon />}
167+
title="Report a vulnerability"
168+
text="Privately, to security@ever.co — never a public issue."
169+
/>
170+
<Channel
171+
href="mailto:ever@ever.co"
172+
icon={<BriefcaseIcon />}
173+
title="Commercial support"
174+
text="Licensing, billing, custom development, enterprise."
175+
/>
176+
</div>
177+
178+
Full channel details, including Slack and Gitter, live on the
179+
[Contact Us](/community/contact-us) page.
180+
181+
## Before you ask
182+
183+
Most reports resolve faster when they arrive complete. Work through this list first.
184+
185+
<ol className={styles.steps}>
186+
<li>
187+
188+
**Search the docs** — start with{" "}
189+
<a href="../troubleshooting/">Troubleshooting &amp; FAQ</a>, then{" "}
190+
<a href="../getting-started/">Getting started</a> and{" "}
191+
<a href="../getting-started/configuration">Configuration</a>.
192+
193+
</li>
194+
<li>
195+
196+
**Search existing issues** — your problem may already be
197+
reported, or already fixed on <code>develop</code>.
198+
199+
</li>
200+
<li>
201+
202+
**Check the API is reachable** — visit{" "}
203+
<code>[https://api.ever.team/api/health](https://api.ever.team/api/health)</code>, or your own API host, and
204+
confirm it responds.
205+
206+
</li>
207+
<li>
208+
209+
**Reproduce on a clean state** — clear browser cookies and local
210+
storage, or rebuild without the <code>.next</code> cache.
211+
212+
</li>
213+
<li>
214+
215+
**Check the console and server logs** — the actual error message
216+
is usually already there.
217+
218+
</li>
219+
</ol>
220+
221+
## What to include in a report
222+
223+
A good report answers _what did you do, what did you expect, what happened instead_ — and gives us enough to reproduce it.
224+
225+
<div className={styles.definitions}>
226+
<Definition term="Version" text="Release tag or commit SHA." />
227+
<Definition term="Deployment" text="Cloud, self-hosted, or local development." />
228+
<Definition term="Application" text="Web, desktop, mobile, or browser extension." />
229+
<Definition
230+
term="Environment"
231+
text="OS, browser, Node.js version, Docker and Compose versions."
232+
/>
233+
<Definition
234+
term="Backend"
235+
text="Ever Gauzy API URL and database — PostgreSQL or SQLite."
236+
/>
237+
<Definition term="Steps to reproduce" text="Numbered, starting from a fresh session." />
238+
<Definition
239+
term="Expected vs. actual"
240+
text="What should have happened, and what did."
241+
/>
242+
<Definition
243+
term="Evidence"
244+
text="Console output, server logs, screenshots, or a short recording."
245+
/>
246+
</div>
247+
248+
:::danger[Redact your secrets]
249+
250+
Logs and `.env` files contain API keys, database credentials, and tokens. Strip them before pasting anything into a public issue or a chat channel.
251+
252+
:::
253+
254+
## Self-service resources
255+
256+
<div className={styles.resources}>
257+
<Resource
258+
href="https://docs.ever.team"
259+
name="Documentation"
260+
text="Setup, architecture, features, deployment, API."
261+
/>
262+
<Resource
263+
href="https://ever.team/resources/guides"
264+
name="Guides"
265+
text="Practical guides to work & time tracking."
266+
/>
267+
<Resource
268+
href="https://demo.ever.team"
269+
name="Live demo"
270+
text="Try the platform with no installation."
271+
/>
272+
<Resource
273+
href="https://ever.team/demo"
274+
name="Product demo"
275+
text="Guided walkthrough, including the Kit."
276+
/>
277+
<Resource
278+
href="https://ever.team/downloads"
279+
name="Downloads"
280+
text="Desktop, mobile, API server, Docker images, source."
281+
/>
282+
<Resource
283+
href="https://ever.team/roadmap"
284+
name="Roadmap"
285+
text="What is planned and what is in progress."
286+
/>
287+
<Resource
288+
href="https://blog.ever.team"
289+
name="Blog"
290+
text="Release notes, news, and updates."
291+
/>
292+
<Resource
293+
href="https://ever.team/resources/free-tools/pomodoro-timer"
294+
name="Free tools"
295+
text="Pomodoro timer, time card, timer, time converter."
296+
/>
297+
<Resource
298+
href="https://ever.team/open-source"
299+
name="Open source"
300+
text="How the project is built and governed in the open."
301+
/>
302+
<Resource
303+
href="https://ever.team/partners"
304+
name="Partners"
305+
text="Partner program and implementation help."
306+
/>
307+
</div>
308+
309+
## Community support
310+
311+
Community support is free and covers the open-source Community Edition. It is best-effort — maintainers and other users answer as they are available, and there is no response-time commitment. Every channel, and what each one is best for, is listed on [Contact Us](/community/contact-us).
312+
313+
:::tip[Ask once, in one place]
314+
315+
Post your question in a single channel and link to it if you need to follow up elsewhere. Cross-posting the same question splits the answers.
316+
317+
:::
318+
319+
## Support by plan
320+
321+
<p className={styles.lead}>
322+
323+
Cloud plans are tiered by number of active users, and one purchase covers both
324+
the Platform and the Kit. See [ever.team/pricing](https://ever.team/pricing) for
325+
the current tiers, limits, and prices.
326+
327+
</p>
328+
329+
For cloud accounts, Ever Teams lists email and live chat as the support contact methods — see the FAQ on the [pricing page](https://ever.team/pricing) for the current commitment. Subscription details, credits, and license upgrades are managed from your account dashboard, and an upgrade credits the cost of your current license toward the new one.
330+
331+
## Commercial & enterprise support
332+
333+
Beyond the community channels, Ever Co. offers paid engagements:
334+
335+
- **Priority and dedicated support** for production deployments
336+
- **Custom development** and feature sponsorship
337+
- **Deployment and migration assistance** for self-hosted installations
338+
- **Commercial licensing** — Enterprise and Small Business licenses for use outside AGPL-3.0 terms
339+
340+
See [Contact Us](/community/contact-us) for how to reach the team, and [ever.team/partners](https://ever.team/partners) for implementation partners.
341+
342+
## Self-hosted support
343+
344+
Self-hosting means you own the deployment, so most issues are environment-specific. Ever Teams requires a reachable **Ever Gauzy** API — either the hosted one at `api.ever.team` or your own instance.
345+
346+
Before opening an issue, confirm:
347+
348+
- The API URL is set in both `GAUZY_API_SERVER_URL` and `NEXT_PUBLIC_GAUZY_API_SERVER_URL`
349+
- The API responds at `/api/health`
350+
- CORS allows your web app's domain
351+
- Ports 3030, 3000, 5432 and 6379 are free, and Docker has at least 4 GB of RAM allocated
352+
353+
See [Deployment](/deployment/) and [Troubleshooting](/troubleshooting/) for the details, and [Configuration](/getting-started/configuration) for the full environment variable reference.
354+
355+
## Service status
356+
357+
The [ever.team](https://ever.team) footer publishes a live system status indicator for the hosted services. If the cloud app or API is unreachable, check there before filing a report. For self-hosted deployments, check your own API health endpoint and container logs first.
358+
359+
## Security issues
360+
361+
Vulnerabilities go through private disclosure, never a public issue. Include affected versions, reproduction steps, and impact — the [Security](/security/) guide covers the full process, and [Contact Us](/community/contact-us) has the address.
362+
363+
## Helping others
364+
365+
Support goes both ways. Answering someone else's question, or fixing the page that would have answered it, is the fastest way to improve it — every page here has an **Edit this page** link at the foot.
366+
367+
See [Community](/community/) for the other ways to contribute.
368+
369+
<p className={styles.source}>
370+
371+
Resource and status details on this page are sourced from{" "}
372+
<a href="https://ever.team" target="_blank" rel="noopener noreferrer">ever.team</a> and{" "}
373+
<a href="https://ever.team/pricing" target="_blank" rel="noopener noreferrer">ever.team/pricing</a>.
374+
375+
</p>
376+
377+
</div>

0 commit comments

Comments
 (0)