Commit graph

396 commits

Author SHA1 Message Date
Nicolas Meienberger
86ed9503a7 fix(cli): mark app store repo as git safe folder before pulling 2023-08-29 22:54:31 +02:00
Nicolas Meienberger
333c588293 fix(cli): mark app store repo as git safe folder before pulling 2023-08-28 22:15:34 +02:00
Nicolas Meienberger
ca8e05652c refactor: move db migrations in cli start command 2023-08-28 20:23:51 +02:00
Nicolas Meienberger
a594e63906 feat: make start script work in an unintened cli 2023-08-26 11:28:22 +02:00
Nicolas Meienberger
62490a596b fix(system-executor): add correct permissions to traefik folder 2023-08-26 00:28:13 +02:00
Nicolas Meienberger
30d1977a63 refactor: protect redis instance with a password 2023-08-24 18:40:38 +02:00
Nicolas Meienberger
6def5a1168 chore(cli): remove commented out code 2023-08-24 08:59:09 +02:00
Nicolas Meienberger
ac3ca00240 fix(cli): load .env file on each access to getEnv to ensure updated values 2023-08-24 08:59:09 +02:00
Nicolas Meienberger
bff2b804ce fix(system-executors): wrong usage of getEnv in start script 2023-08-24 08:59:09 +02:00
Nicolas Meienberger
73a3a2a91a fix(system-helpers): wrong usage of openssl 2023-08-24 08:59:09 +02:00
Nicolas Meienberger
9d525bfc71 chore: fix permission issues with running watcher sudoless 2023-08-24 08:59:09 +02:00
Nicolas Meienberger
8da6bed609 revert(cli): remove stderr evaluation after docker command 2023-08-18 21:46:21 +02:00
Nicolas Meienberger
09df5bb58f feat(cli): fail and log error in case of stderr on execAsync calls 2023-08-17 00:04:17 +02:00
Nicolas Meienberger
6d170ce78b refactor(cli): centralise loggers into one singleton 2023-08-16 22:51:42 +02:00
Nicolas Meienberger
e036532b55 chore: remove un-used exports and dependencies 2023-08-16 21:53:59 +02:00
Nicolas Meienberger
56c9d51d13 feat: create app update event 2023-08-16 21:53:59 +02:00
Nicolas Meienberger
da9fa0d72a feat: create shared package between main app and cli 2023-08-16 21:53:59 +02:00
Nicolas Meienberger
ceba313ade refactor: translate bash scripts to node in packages/cli 2023-08-16 21:53:59 +02:00
Nicolas Meienberger
8fc132f3d0 feat: create new cli package 2023-08-16 21:53:59 +02:00
Nicolas Meienberger
9c340faecb refactor: move dashboard files in root folder 2023-02-20 08:41:59 +01:00
Nicolas Meienberger
7d255acdbb chore: drop armv7 support 2023-02-17 21:43:25 +01:00
Nicolas Meienberger
00d6f42928 ci: make pipeline pass by cd into dashboard before each step (temp) 2023-02-17 20:59:46 +01:00
Nicolas Meienberger
079e1e1bc7 refactor: ts issue mis-used file from client in server 2023-02-17 20:59:46 +01:00
Nicolas Meienberger
7e1af1069c feat: compile server using esbuild 2023-02-17 20:59:46 +01:00
Nicolas Meienberger
4cb9cfa6d2 refactor: move migrations to server folder 2023-02-17 20:59:46 +01:00
Nicolas Meienberger
dd0790157f fix: failing build caused by remark-mdx 2023-02-13 21:32:09 +01:00
Nicolas Meienberger
747fee006d feat: create scheduler to run cron jobs and setup periodic repo update 2023-02-13 21:32:09 +01:00
Nicolas Meienberger
88e0ccd7b9 chore: remove legacy system-api folder 2023-02-13 21:32:09 +01:00
Nicolas Meienberger
f1c295e84d fix: return correct update info 2023-02-12 18:29:25 +01:00
Nicolas Meienberger
a47606b472 refactor(client): remove layoutv2 abstraction 2023-02-12 00:55:23 +01:00
Nicolas Meienberger
5ff7451267 refactor(server): move auth and system services to class 2023-02-12 00:33:32 +01:00
Nicolas Meienberger
c42b96ae53 refactor: serve static files through next's server instead of system-api 2023-02-12 00:08:45 +01:00
Nicolas Meienberger
365f2fb1ab refactor(dashboard): remove code related to apollo 2023-02-12 00:01:56 +01:00
Nicolas Meienberger
36a6483ff7 chore: cleanup system-api from now un-used files 2023-02-04 15:08:17 +01:00
Nicolas Meienberger
79f1da00d0 test: fix tests and bump various dependencies 2023-02-04 15:08:17 +01:00
Nicolas Meienberger
29c7f98a69 refactor: move from node --require to custom next server 2023-02-04 15:08:17 +01:00
Nicolas Meienberger
d72526ab8a refactor: removal and replace usage of old graphql generated types 2023-02-04 15:08:17 +01:00
Nicolas Meienberger
783c80714b refactor: migrate client app queries/mutations to trpc 2023-02-04 15:08:17 +01:00
Nicolas Meienberger
fa8f178433 feat: create trpc router & service for apps 2023-02-04 15:08:17 +01:00
Nicolas Meienberger
3e67758d86 refactor: remove prisma from context and use client directly in service 2023-01-26 07:31:22 +01:00
Nicolas Meienberger
257966c18d chore: remove legacy migrations steps 2023-01-23 20:51:47 +01:00
Nicolas Meienberger
5eaa78a9e0 feat: create server-preload script to run migrations upon server start 2023-01-23 20:51:47 +01:00
Nicolas Meienberger
5f1ad108c6 feat: create sql migrations by replicating typeorm ones in an idempotent manner 2023-01-23 20:51:47 +01:00
Nicolas Meienberger
4609078894 refactor: cleanup now un-used graphql resolvers and services 2023-01-23 20:42:25 +01:00
Nicolas Meienberger
f6a6b85b60 refactor: migrate client auth queries to trpc procedures 2023-01-23 20:42:25 +01:00
Nicolas Meienberger
2e13666d80 feat: create trpc router for auth service 2023-01-23 20:42:25 +01:00
Nicolas Meienberger
7c9bd4fab3 feat: setup prisma and configure it for tests and development 2023-01-23 20:42:25 +01:00
Nicolas Meienberger
92c1a769c5 chore: bump dependencies 2023-01-23 20:04:29 +01:00
Nicolas Meienberger
7d9c8a75a0 refactor: remove now un-used system queries/mutations/resolvers from both client and server 2023-01-23 20:04:29 +01:00
Nicolas Meienberger
3cc3c9011e refactor: replace grapqhl queries with trpc in the frontend 2023-01-23 20:04:29 +01:00
Nicolas Meienberger
ce6662bef5 test: split jest config for client and server 2023-01-23 20:04:29 +01:00
Nicolas Meienberger
d4f507ced3 feat: setup trpc and create system router 2023-01-23 20:04:29 +01:00
Nicolas Meienberger
34e6ff33e1 refactor: move all dashboard's files into a client folder 2022-12-26 04:22:37 +01:00
Nicolas Meienberger
80fbddaa9c chore: bump version 0.8.1 2022-12-20 20:52:45 +01:00
ImgBotApp
358d50cafd [ImgBot] Optimize images
*Total -- 2,048.42kb -> 1,263.43kb (38.32%)

/screenshots/darkmode.png -- 998.43kb -> 609.77kb (38.93%)
/screenshots/appstore.png -- 1,006.73kb -> 620.12kb (38.4%)
/packages/dashboard/public/error.png -- 42.38kb -> 32.70kb (22.84%)
/packages/dashboard/public/empty.svg -- 0.87kb -> 0.85kb (2.35%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-12-20 20:41:25 +01:00
Nicolas Meienberger
a46a02231c feat: add link to open exposed app to domain 2022-12-20 20:40:54 +01:00
Nicolas Meienberger
d55dda39fd chore: bump version 2022-12-17 23:49:04 +01:00
Nicolas Meienberger
f3dff9c576 fix: custom 404 page & styling fixes 2022-12-16 20:50:09 +01:00
Nicolas Meienberger
c4bda4eb07 test: front-end setup jest, testing-library, msw & test components 2022-12-16 07:59:10 +00:00
Nicolas Meienberger
ec8e422eb5 refactor(server): migrate to esbuild to have a smaller docker image size
Migrated the server build to esbuild in order to have one bundle for the whole app including the
used modules
2022-12-15 19:28:03 +00:00
Nicolas Meienberger
8445c8adc7 refactor: use named exports & remove unused files 2022-12-07 20:29:12 +00:00
Nicolas Meienberger
59b12c2679 refactor(dashboard): move from chakra-ui to tabler
Complete redesign of the dashboard to use tabler as CSS
2022-12-07 20:29:12 +00:00
Nicolas Meienberger
dbddf8ad1c Merge branch 'release/0.7.4' into develop 2022-11-20 20:55:23 +01:00
Nicolas Meienberger
5527f4c785 test: correct broken test 2022-11-18 13:39:47 +01:00
Nicolas Meienberger
e441836013 feat: use redis cache in apollo server 2022-11-18 13:35:53 +01:00
Nicolas Meienberger
dccbcdc461 chore: bump version 0.7.4 2022-11-18 13:35:40 +01:00
Nicolas Meienberger
1109661fba fix(dashboard): refresh page when update is successful 2022-11-18 13:35:40 +01:00
Nicolas Meienberger
ad4b4354a8 chore: update tests to cover invalid config.json 2022-11-18 13:35:40 +01:00
Nicolas Meienberger
f37ef84417 feat(install form): add input placeholder
chore: fix code smells
2022-11-18 13:35:39 +01:00
Nicolas Meienberger
12e0174ab0 feat: specify which app have no GUI and therefore don't show the "open" button 2022-11-18 13:35:39 +01:00
Nicolas Meienberger
270789190c refactor: allow all origins 2022-11-18 13:34:37 +01:00
Nicolas Meienberger
552bf02b10 test: auth.service & auth.resolver
test: auth.resolver
2022-11-18 13:30:15 +01:00
Nicolas Meienberger
694122c67a feat: move from cookie base auth to jwt auth
test: mock redis
2022-11-18 13:27:47 +01:00
Nicolas Meienberger
844a983048 test: correct broken test 2022-11-18 12:58:26 +01:00
Nicolas Meienberger
e04bdc52d6 feat: allow apps to configure a uid:gid for folder permissions 2022-11-18 12:55:13 +01:00
Nicolas Meienberger
8d1612ee46 feat: allow apps to configure a uid:gid for folder permissions 2022-11-18 12:52:17 +01:00
Nicolas Meienberger
30dc8e3e17 feat: use redis cache in apollo server 2022-11-17 23:00:41 +01:00
Nicolas Meienberger
69ed0fd028 fix(dashboard): refresh page when update is successful 2022-11-17 21:29:44 +00:00
Nicolas Meienberger
affbf10985 chore: update tests to cover invalid config.json 2022-11-17 20:37:39 +00:00
Nicolas Meienberger
722dfbf852 feat(install form): add input placeholder
chore: fix code smells
2022-11-17 20:37:39 +00:00
Nicolas Meienberger
5432c761ec feat: specify which app have no GUI and therefore don't show the "open" button 2022-11-17 20:37:39 +00:00
Nicolas Meienberger
63c2af8c91 Merge branch 'master' into develop 2022-11-09 20:02:34 +01:00
Nicolas Meienberger
08b6b31884 fix: use direct path with same origin when calling api 2022-11-09 18:49:03 +01:00
Nicolas Meienberger
e081d3d4bd fix: ensure protocol is the same to avoid mixed content 2022-11-09 17:28:00 +01:00
Nicolas Meienberger
6e299eb832 chore: bump version 2022-11-09 08:38:15 +00:00
Nicolas Meienberger
b67e41995a feat: open apps from same domain in the dashboard 2022-11-09 08:38:15 +00:00
Nicolas Meienberger
1d9c631705 refactor: allow all origins 2022-11-09 08:38:15 +00:00
Nicolas Meienberger
f6efd94ed9 fix: linting warnings 2022-11-09 08:38:15 +00:00
Nicolas Meienberger
f6257d4ea0 chore: fix eslint rules 2022-11-09 08:38:15 +00:00
Nicolas Meienberger
65ff20387a fix: semver comparaison client side 2022-11-09 08:38:15 +00:00
Nicolas Meienberger
0bc2db058f feat: open apps from same domain in the dashboard 2022-11-08 19:09:00 +01:00
Nicolas Meienberger
c8dce109a2 refactor: allow all origins 2022-11-08 09:35:51 +01:00
Nicolas Meienberger
b201f99d49 fix: linting warnings 2022-11-08 00:23:14 +01:00
Nicolas Meienberger
35ebb1069a chore: fix eslint rules 2022-11-05 20:43:14 +01:00
Nicolas Meienberger
ef93cdd669 fix: semver comparaison client side 2022-11-05 12:31:33 +01:00
Ikko Ashimine
0ea17b7901 Fix typo in UpdateBanner.tsx
Github -> GitHub
2022-11-05 08:49:49 +00:00
Nicolas Meienberger
48c1e2607f
Release/0.7.2 (#249)
* feat: move from cookie base auth to jwt auth

test: mock redis

* test: auth.service & auth.resolver

test: auth.resolver

* test: session middleware

* chore: bump version

fix: merge conflicts

* docs: update readme & trace start script

* fix: start script unbound variables [skip ci]

* fix: kill watcher function [skip ci]

* fix: register store token

* fix: don't delete token immediately after refresh. keep it for 6 sec to account for delays
2022-11-04 07:49:40 +00:00
Nicolas Meienberger
b9667f29f1 feat: hide apps which are not supported on the host architecture 2022-10-19 14:39:19 +02:00
Nicolas Meienberger
b29d6cc234 chore: bump version 2022-10-19 14:39:19 +02:00
Nicolas Meienberger
d102f18f91 fix: pull repositories from their current branch instead of master 2022-10-19 14:39:19 +02:00
Nicolas Meienberger
84ceb52088 feat: leverage next standalone output for smaller image size 2022-10-19 14:39:19 +02:00
Nicolas Meienberger
c67d92bdec fix: dockerfile issue 2022-10-08 02:15:52 +02:00
Nicolas Meienberger
8d15b0c29f fix: fetcher [skip ci] 2022-10-07 22:50:02 +02:00
Nicolas Meienberger
c44b6ae7f8 fix: make client-side env vriable being loadad at runtime-n 2022-10-07 19:47:09 +02:00
Nicolas Meienberger
4a5eb2d430 fix: release tests 2022-10-07 13:36:29 +02:00
Nicolas Meienberger
0e16295dc3 chore: bump version to 0.7.0 2022-10-06 18:42:32 +02:00
Nicolas Meienberger
5aa050a7d6 feat: add donate button in side menu 2022-10-06 18:33:02 +02:00
Nicolas Meienberger
55beac4477 chore: remove unused dependencies and files client & server 2022-10-06 18:29:12 +02:00
Nicolas Meienberger
ecca216c0b fix: various issues in scripts 2022-10-06 18:28:29 +02:00
Nicolas Meienberger
4f265151f8 chore: bump version 2022-10-05 22:46:29 +02:00
Nicolas Meienberger
b6e41bbfb6 test: event dispatcher 2022-10-05 22:30:29 +02:00
Nicolas Meienberger
a024b03508 refactor: make event dispatcher a singleton and update app accordingly 2022-10-05 19:18:11 +02:00
Nicolas Meienberger
3b0fc56563 feat: event base dispatcher to run commands from the host 2022-10-05 19:18:11 +02:00
Nicolas Meienberger
7adc37ab26 test: apps.helpers.ts 2022-09-29 21:20:46 +02:00
Nicolas Meienberger
bb5a50e143 feat: customize applications storage-path 2022-09-29 18:33:34 +02:00
Nicolas Meienberger
164635d33b test: system.resolver 2022-09-26 22:56:05 +02:00
Nicolas Meienberger
ba0996a1f2 test: system.service 2022-09-26 22:00:12 +02:00
Nicolas Meienberger
aa518c660f feat(settings): in app update and restart 2022-09-26 22:00:12 +02:00
Nicolas Meienberger
9d4cdf6f77 test: cron jobs 2022-09-24 16:02:33 +02:00
Nicolas Meienberger
7a444698b8 test: repo-helpers.ts 2022-09-22 22:55:25 +02:00
Nicolas Meienberger
dd62fcdde0 test(config): add unit testing
test: add unhappy path
2022-09-22 22:12:23 +02:00
Nicolas Meienberger
ddfc6eff34 refactor: add logs volume to retrive logs as files
refactor(url-helper.ts): remove empty block statement
2022-09-22 20:45:50 +02:00
Nicolas Meienberger
f4ec85ed15 refactor: remove now useless api routes on client 2022-09-21 22:59:33 +02:00
Nicolas Meienberger
78cb3c36ad refactor: replace usage of config with new runtime config
wip: make script executable from everywhere
2022-09-21 22:59:33 +02:00
Nicolas Meienberger
bd881711f8 test: update execfile calls 2022-09-21 22:57:26 +02:00
Nicolas Meienberger
ae2dd8d364 feat(config): make the config as a singleton class overridable by a json config 2022-09-21 22:57:26 +02:00
Nicolas Meienberger
acac8bc14c chore: bump version 2022-09-11 13:03:48 +02:00
Nicolas Meienberger
68191d95b1 fix: add port to api url if it is not 80 2022-09-11 12:58:11 +02:00
Nicolas Meienberger
21cec26e06 fix(apps.helpers.ts): check folder existense before accesing it 2022-09-10 16:37:07 +02:00
Nicolas Meienberger
f6bd298ff3 test: adapt tests to support new APP_DOMAIN 2022-09-10 02:53:22 +02:00
Nicolas Meienberger
25acb235c8 feat: includ internalip:port as app_domain if app is not exposed 2022-09-10 02:42:54 +02:00
Seth For Privacy
8eae068220
Set APP_DOMAIN to INTERNAL_IP:APP_PORT if unexposed 2022-09-09 16:52:50 -04:00
Seth For Privacy
39a824947d
Set APP_DOMAIN to INTERNAL_IP:APP_PORT if unexposed 2022-09-09 16:52:44 -04:00
Seth For Privacy
1106b693c2
Add APP_PROTOCOL env var when exposing apps 2022-09-09 16:19:24 -04:00
Nicolas Meienberger
bbdee4a42b fix(apps.service): updating an app config was throwing an error if domain was unchanged 2022-09-08 08:41:19 +02:00
Nicolas Meienberger
d196b8ff10 feat: display domain link if app is exposed 2022-09-07 21:55:22 +02:00
Nicolas Meienberger
bbe774857a feat: don't allow multiple apps with same domain 2022-09-07 21:29:58 +02:00
Nicolas Meienberger
26ba5c9656 fix: set cookie same-site to lax in production 2022-09-07 18:22:50 +02:00
Nicolas Meienberger
8ed04f07f4 fix: various small bugs 2022-09-06 13:52:19 +02:00
Nicolas Meienberger
4e19aad2f0 ci(release): move to node 18 image
SWC is not working anymore in alpine arm/v7
2022-09-06 08:25:25 +02:00
Nicolas Meienberger
52e275b1ec chore: bump version 2022-09-05 21:54:54 +02:00
Nicolas Meienberger
5e7563240a test(auth): test auth resolvers 2022-09-05 21:41:19 +02:00
Nicolas Meienberger
60ef5816a7 test(apps): test domain linking
test(apps): test linking domain
2022-09-05 21:41:16 +02:00
Nicolas Meienberger
95c9196e37 chore: update categories 2022-09-04 15:11:03 +02:00
Nicolas Meienberger
583a0c4631 chore: update client side types 2022-09-04 15:06:36 +02:00
Nicolas Meienberger
e7a6a55194 chore: improve api response typing 2022-09-04 14:54:11 +02:00
Nicolas Meienberger
33099de6f1 fix: don't watch data.ip 2022-09-04 14:54:11 +02:00
Nicolas Meienberger
97bb074ae5 feat(update front-end to support a custom domain api): n 2022-09-04 14:54:11 +02:00
Nicolas Meienberger
b483a284bd test(apps.resolvers): update tests to implement new mandatory fields 2022-09-04 14:54:11 +02:00
Nicolas Meienberger
fc73184fa0 feat(dashboard): frontend domain & tls configuration 2022-09-04 14:54:11 +02:00