Skip to content

Commit 7f13fd2

Browse files
Siumauriciohehehaibayram-devhikinine
authored
v0.2.0 (#117)
* feat: add schema for registry and routes * feat: add docker registry upload * feat: add show cluster * refactor: set the registry url in image in case we have a registry asociated * feat: add update registry and fix the docker url markup * chore: remove --advertise-ip on swarm script * refactor: remove listen address of swarm initialize * feat: add table to show nodes and add dropdown to add manager & workers * refactor: improve interface for cluster * refactor: improve UI * feat: add experimental swarm settings * refactor: remove comments * refactor: prettify json of each setting * refactor: add interface tooltip * refactor: delete static form self registry * refactor: allow to se a empty registry * fix: remove text area warnings * feat: add network swarm json * refactor: update ui * revert: go back to swarm init config * refactor: remove initialization on server, only on setup script * Update LICENSE.MD * feat: appearance theme support system config * refactor: remove logs * fix(README-ru): hyperlink-ed docs url * feat: (#107) webhook listener filter docker events based on image tag. Fixes #107 * refactor: simplify comparison docker tags * refactor: remove return in res status * refactor: prevent to updates download automatically * feat: support code editor (#105) * feat: support code editor * Update codeblock * refactor: remove unused class --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * fix: select the right image from sourcetype (#109) * chore: bump minor version * fix: add redirect to https by default (#113) * Create FUNDING.yml * Docker compose support (#111) * feat(WIP): compose implementation * feat: add volumes, networks, services name hash generate * feat: add compose config test unique * feat: add tests for each unique config * feat: implement lodash for docker compose parsing * feat: add tests for generating compose file * refactor: implement logs docker compose * refactor: composeFile set not empty * feat: implement providers for compose deployments * feat: add Files volumes to compose * feat: add stop compose button * refactor: change strategie of building compose * feat: create .env file in composepath * refactor: simplify git and github function * chore: update deps * refactor: update migrations and add badge to recognize compose type * chore: update lock yaml * refactor: use code editor * feat: add monitoring for app types * refactor: reset stats on change appName * refactor: add option to clean monitoring folder * feat: show current command that will run * feat: add prefix * fix: add missing types * refactor: add docker provider and expose by default as false * refactor: customize error page * refactor: unified deployments to be a single one * feat: add vitest to ci/cd * revert: back to initial version * refactor: add maxconcurrency vitest * refactor: add pool forks to vitest * feat: add pocketbase template * fix: update path resolution compose * removed * feat: add template pocketbase * feat: add pocketbase template * feat: add support button * feat: add plausible template * feat: add calcom template * feat: add version to each template * feat: add code editor to enviroment variables and swarm settings json * refactor: add loader when download the image * fix: use base64 to generate keys plausible * feat: add recognized domain names by enviroment compose * refactor: show alert to redeploy in each card advanced tab * refactor: add validation to prevent create compose if not have permissions * chore: add templates section to contributing * chore: add example contributing * chore: add recomendation to show variables * chore: add video to contributing templates * chore: bump version --------- Co-authored-by: hehehai <riverhohai@gmail.com> Co-authored-by: Bayram Tagiev <bayram.tagiev.a@gmail.com> Co-authored-by: Paulo Santana <30875229+hikinine@users.noreply.github.com>
1 parent 2902281 commit 7f13fd2

File tree

140 files changed

+16530
-1209
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+16530
-1209
lines changed

.github/FUNDING.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# These are supported funding model platforms
2+
3+
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: #
5+
open_collective: dokploy
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/workflows/pull-request.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ jobs:
3030
run: pnpm install
3131
- name: Run Build
3232
run: pnpm build
33+
- name: Run Tests
34+
run: pnpm run test
3335

3436
build-and-push-docker-on-push:
3537
if: github.event_name == 'push'

CONTRIBUTING.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,3 +151,92 @@ curl -sSL "https://github.com/buildpacks/pack/releases/download/v0.32.1/pack-v0.
151151
- Once your pull request is merged, you will be automatically added as a contributor to the project.
152152

153153
Thank you for your contribution!
154+
155+
156+
157+
158+
159+
## Templates
160+
161+
To add a new template, go to `templates` folder and create a new folder with the name of the template.
162+
163+
Let's take the example of `plausible` template.
164+
165+
1. create a folder in `templates/plausible`
166+
2. create a `docker-compose.yml` file inside the folder with the content of compose.
167+
3. create a `index.ts` file inside the folder with the following code as base:
168+
4. When creating a pull request, please provide a video of the template working in action.
169+
170+
```typescript
171+
// EXAMPLE
172+
import {
173+
generateHash,
174+
generateRandomDomain,
175+
type Template,
176+
type Schema,
177+
} from "../utils";
178+
179+
180+
export function generate(schema: Schema): Template {
181+
182+
// do your stuff here, like create a new domain, generate random passwords, mounts.
183+
const mainServiceHash = generateHash(schema.projectName);
184+
const randomDomain = generateRandomDomain(schema);
185+
const secretBase = generateBase64(64);
186+
const toptKeyBase = generateBase64(32);
187+
188+
const envs = [
189+
// If you want to show a domain in the UI, please add the prefix _HOST at the end of the variable name.
190+
`PLAUSIBLE_HOST=${randomDomain}`,
191+
"PLAUSIBLE_PORT=8000",
192+
`BASE_URL=http://${randomDomain}`,
193+
`SECRET_KEY_BASE=${secretBase}`,
194+
`TOTP_VAULT_KEY=${toptKeyBase}`,
195+
`HASH=${mainServiceHash}`,
196+
];
197+
198+
const mounts: Template["mounts"] = [
199+
{
200+
mountPath: "./clickhouse/clickhouse-config.xml",
201+
content: `some content......`,
202+
},
203+
];
204+
205+
return {
206+
envs,
207+
mounts,
208+
};
209+
}
210+
```
211+
212+
4. Now you need to add the information about the template to the `templates/templates.ts` is a object with the following properties:
213+
214+
**Make sure the id of the template is the same as the folder name and don't have any spaces, only slugified names and lowercase.**
215+
216+
```typescript
217+
{
218+
id: "plausible",
219+
name: "Plausible",
220+
version: "v2.1.0",
221+
description:
222+
"Plausible is a open source, self-hosted web analytics platform that lets you track website traffic and user behavior.",
223+
logo: "plausible.svg", // we defined the name and the extension of the logo
224+
links: {
225+
github: "https://github.com/plausible/plausible",
226+
website: "https://plausible.io/",
227+
docs: "https://plausible.io/docs",
228+
},
229+
tags: ["analytics"],
230+
load: () => import("./plausible/index").then((m) => m.generate),
231+
},
232+
```
233+
234+
5. Add the logo or image of the template to `public/templates/plausible.svg`
235+
236+
237+
### Recomendations
238+
- Use the same name of the folder as the id of the template.
239+
- The logo should be in the public folder.
240+
- If you want to show a domain in the UI, please add the prefix _HOST at the end of the variable name.
241+
- Test first on a vps or a server to make sure the template works.
242+

0 commit comments

Comments
 (0)