Commit graph

385 commits

Author SHA1 Message Date
Nicolas Meienberger
d9ed205168 Merge branch 'master' into develop 2023-03-02 21:24:26 +01:00
Nicolas Meienberger
3925cfa7bb
Release/1.0.0 (#316)
* fix: create default media folder structure on install

* feat: add link to open exposed app to domain

* [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>

* chore: bump version 0.8.1

* refactor: move all dashboard's files into a client folder

* feat: setup trpc and create system router

* test: split jest config for client and server

* refactor: replace grapqhl queries with trpc in the frontend

* refactor: remove now un-used system queries/mutations/resolvers from both client and server

* chore: bump dependencies

* feat: setup prisma and configure it for tests and development

* feat: create trpc router for auth service

* refactor: migrate client auth queries to trpc procedures

* refactor: cleanup now un-used graphql resolvers and services

* feat: create sql migrations by replicating typeorm ones in an idempotent manner

* feat: create server-preload script to run migrations upon server start

* chore: remove legacy migrations steps

* feat: add redis_host as an env variable

* refactor: remove prisma from context and use client directly in service

* feat: create trpc router & service for apps

* refactor: migrate client app queries/mutations to trpc

* refactor: removal and replace usage of old graphql generated types

* refactor: move from node --require to custom next server

* test: fix tests and bump various dependencies

* chore: cleanup system-api from now un-used files

* refactor(dashboard): remove code related to apollo

* refactor: serve static files through next's server instead of system-api

* refactor(server): move auth and system services to class

* refactor(client): remove layoutv2 abstraction

* fix: return correct update info

* chore: remove legacy system-api folder

* refactor: remove system-api from docker files

* feat: create scheduler to run cron jobs and setup periodic repo update

* fix: failing build caused by remark-mdx

* refactor: move migrations to server folder

* feat: compile server using esbuild

* refactor: ts issue mis-used file from client in server

* ci: make pipeline pass by cd into dashboard before each step (temp)

* chore: drop armv7 support

* refactor: move dashboard files in root folder

* feat(db): create migration to add operator field on user

* feat(user): create routes and services for password reset

* feat(auth): add reset password page, container & form

* refactor(dashboard): change layout and page of auth to be url based instead of state based

* feat(script): add reset-password script

* fix(dashboard): only check status if restart or update has been requested

* test: increase coverage for get-server-auth-session

* fix(start.sh): prompt for network interface only if there is not an internal ip set

* feat(script): support user docker-compose.yml and app.env

* chore: bump version

* fix: add missing postgres variables to start script

* fix: check for 32 bits before installing/starting

* fix: create default media folder structure on install

* Updated demo instance link

Changed demo.runtipi.com to https://demo.runtipi.com

* feat: adding config for codespaces

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: Freddie Sackur <github@dustyfox.uk>
Co-authored-by: Kieran Klukas <92754843+kcoderhtml@users.noreply.github.com>
Co-authored-by: alwerner <alexander.werner@bonprix.net>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-03-02 20:19:20 +01:00
Nicolas Meienberger
9c340faecb refactor: move dashboard files in root folder 2023-02-20 08:41:59 +01:00
Nicolas Meienberger
7e1af1069c feat: compile server using esbuild 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
f1c295e84d fix: return correct update info 2023-02-12 18:29:25 +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
fa8f178433 feat: create trpc router & service for apps 2023-02-04 15:08:17 +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
4609078894 refactor: cleanup now un-used graphql resolvers and services 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
d4f507ced3 feat: setup trpc and create system router 2023-01-23 20:04:29 +01:00
Nicolas Meienberger
79d405da9f fix: create default media folder structure on install 2022-12-20 22:24:41 +01:00
Nicolas Meienberger
e0d6baf4f6 fix: create default media folder structure on install 2022-12-20 20:06:05 +01:00
Nicolas Meienberger
794512d511 chore: align release/0.8.0 with master 2022-12-18 00:05:50 +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
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
937b709d75 docs: update readme 2022-12-07 10:17:24 +01:00
Nicolas Meienberger
8cafb1ee26 Release/0.7.4 (#266)
* feat: move from cookie base auth to jwt auth

test: mock redis

* test: auth.service & auth.resolver

test: auth.resolver

* fix: semver comparaison client side

* refactor: allow all origins

* feat: specify which app have no GUI and therefore don't show the "open" button

* feat(install form): add input placeholder

chore: fix code smells

* chore: update tests to cover invalid config.json

* fix(dashboard): refresh page when update is successful

* chore: bump version 0.7.4

* feat: use redis cache in apollo server

* feat: allow apps to configure a uid:gid for folder permissions

* test: correct broken test
2022-12-07 09:34:55 +01:00
Nicolas Meienberger
dbddf8ad1c Merge branch 'release/0.7.4' into develop 2022-11-20 20:55:23 +01:00
Nicolas Meienberger
6117bf837c
Release/0.7.4 (#266)
* feat: move from cookie base auth to jwt auth

test: mock redis

* test: auth.service & auth.resolver

test: auth.resolver

* fix: semver comparaison client side

* refactor: allow all origins

* feat: specify which app have no GUI and therefore don't show the "open" button

* feat(install form): add input placeholder

chore: fix code smells

* chore: update tests to cover invalid config.json

* fix(dashboard): refresh page when update is successful

* chore: bump version 0.7.4

* feat: use redis cache in apollo server

* feat: allow apps to configure a uid:gid for folder permissions

* test: correct broken test
2022-11-20 19:48:44 +00:00
Nicolas Meienberger
5527f4c785 test: correct broken test 2022-11-18 13:39:47 +01:00
Nicolas Meienberger
7186630f4d feat: allow apps to configure a uid:gid for folder permissions 2022-11-18 13:36:04 +01:00
Nicolas Meienberger
e441836013 feat: use redis cache in apollo server 2022-11-18 13:35:53 +01:00
Nicolas Meienberger
270789190c refactor: allow all origins 2022-11-18 13:34:37 +01:00
Nicolas Meienberger
0a7bb5f2e3 fix: semver comparaison client side 2022-11-18 13:32:00 +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
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
1d9c631705 refactor: allow all origins 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
a7b97ed34c Merge branch 'release/0.7.3' into develop 2022-11-08 20:52:13 +01:00
Nicolas Meienberger
c8dce109a2 refactor: allow all origins 2022-11-08 09:35:51 +01:00
Nicolas Meienberger
ef93cdd669 fix: semver comparaison client side 2022-11-05 12:31:33 +01: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
fda8a4d824 Merge branch 'master' into develop 2022-10-23 10:14:29 +02:00
Nicolas Meienberger
86f29b5754 feat: move from cookie base auth to jwt auth
test: mock redis
2022-10-20 23:40:11 +02:00
Nicolas Meienberger
b29d6cc234 chore: bump version 2022-10-19 14:39:19 +02:00
Nicolas Meienberger
8d15b0c29f fix: fetcher [skip ci] 2022-10-07 22:50:02 +02:00
Nicolas Meienberger
55beac4477 chore: remove unused dependencies and files client & server 2022-10-06 18:29:12 +02:00
Nicolas Meienberger
aa518c660f feat(settings): in app update and restart 2022-09-26 22:00:12 +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
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
f0607b5db0 chore: cleanup testing code 2022-09-04 14:51:58 +02:00
Nicolas Meienberger
14ee8a3493 chore(dashboard): add missing jest deps 2022-08-29 21:05:25 +02:00
Nicolas Meienberger
bc95544846 refactor(docker): improve build for optimized caching
Only use one step inside the Dockerfile to avoid re-running everything in each pipeline
2022-08-25 10:23:35 +02:00
Nicolas Meienberger
930dcc6ae8 feat: cron job to update repo periodically 2022-08-11 20:02:32 +02:00
Nicolas Meienberger
cb38cc9c90 feat(api): copy app files locally instead of reading from repo 2022-08-09 20:44:07 +02:00
Nicolas Meienberger
c5b4a95abb test(wip): apps.resolver 2022-07-27 22:15:41 +02:00
Nicolas Meienberger
bc31b51631 Error handling [skip ci] 2022-07-20 20:11:41 +00:00
Nicolas Meienberger
85b74c1463 Update lock file 2022-07-08 19:09:30 +02:00
Nicolas Meienberger
33e0343ba8 Switch esbuild to SWC 2022-07-06 23:03:45 +02:00
Nicolas Meienberger
774ce22dcd Ormconfig 2022-07-06 15:07:03 +02:00
Nicolas Meienberger
085a99c224 Ormconfig 2022-07-06 14:32:35 +02:00
Nicolas Meienberger
cfb3825074 Update lock file 2022-06-30 16:24:45 +02:00
Nicolas Meienberger
73c01425d9 Update lockfile 2022-06-28 22:05:42 +02:00
Nicolas Meienberger
37662b574b Adapt tests 2022-06-28 22:01:06 +02:00
Nicolas Meienberger
537cdcd811 WIP - Client side GraphQL [skip ci] 2022-06-20 22:57:27 +02:00
Nicolas Meienberger
ce615a40f1 WIP - App Service with GraphQL 2022-06-20 21:04:42 +02:00
Nicolas Meienberger
ac712013da Change form fields to array 2022-06-19 10:26:24 +02:00
Nicolas Meienberger
16f3e3313d WIP: Postgres + Redis + Typeorm + Type-GraphQL 2022-06-16 23:29:03 +02:00
Nicolas Meienberger
6715880c01 App resolver 2022-06-16 22:15:16 +02:00
Nicolas Meienberger
4d8ca0e247 Update .lock 2022-06-08 23:27:47 +02:00
Nicolas Meienberger
6345fce1a7 Frontend - load .md description 2022-06-08 23:18:00 +02:00
Nicolas Meienberger
11eda1b09e Update tests 2022-06-07 20:59:30 +02:00
Nicolas Meienberger
f0f1da36ae WIP - New app store page 2022-06-03 22:42:23 +02:00
Nicolas Meienberger
123aaee235 WIP - Common package 2022-06-02 22:12:51 +02:00
Nicolas Meienberger
e008487e74 Replace node-fetch with axios 2022-06-01 22:52:17 +02:00
Nicolas Meienberger
71aaa7f03b Test app configs 2022-05-24 18:45:16 +02:00
Nicolas Meienberger
7a77939af0 Update dependencies 2022-05-17 20:50:35 +02:00
Nicolas Meienberger
f6df848866 Update lock file 2022-05-17 13:27:48 +02:00
Nicolas Meienberger
2ffc43a5f3 Settings page: Display latest version message 2022-05-15 11:58:04 +02:00
Nicolas Meienberger
b6ca683203 Fix config issues: Node version 2022-05-13 14:41:34 +00:00
Nicolas Meienberger
1e7e5c9782 Update dependencies 2022-05-12 21:21:41 +02:00
Nicolas Meienberger
16a44c9c46 Add husky 2022-05-12 21:19:35 +02:00
Nicolas Meienberger
8f5e4635fb Update lock file 2022-05-12 21:10:02 +02:00
Nicolas Meienberger
371c6dde36 🤖 Tests: Authentication 2022-05-12 21:02:03 +02:00
Nicolas Meienberger
20b32526ef 🤖 Tests: AppsService 2022-05-09 22:52:00 +02:00
Nicolas Meienberger
96555d884b Merge develop 2022-05-09 11:06:53 +02:00
Nicolas Meienberger
31a76892a5 Switch to PNPM Workspaces for internal packages management 2022-05-07 08:03:22 +00:00