Running custom frontend with prebuilt docker image

Hi. I found the app very useful and plan to continue using it at work for managing job requests and their progress. Having some level of user permissions control and the fact that admin can create custom views that cannot be modified by others is what made Vikunja ideal for our needs.
The thing is, we’ve wanted some customization (css, some images, etc.) and I’ve tried few approaches. So far we’re using deb binaries as they are. The server is Ubuntu 22.04 running nginx and using proxy. As far as customizations I’ve mentioned, I tried building everything from source (0.24.1), but I was getting too many errors, so I figured it’s too much of a hassle to resolve them just because of some small changes.
I was able to build just the frontend and set up the dist files to be accessed remotely and then connect that frontend to the existing instance of Vikunja (installed from .deb). The visual changes were applied, but I was getting error notifications while switching between projects and pages. Also, some UI elements were missing, like “views” option (for editing views) once inside the project. I often got an error “You must provide a project view ID when sorting by position” and I was getting a lot of “(function name). Is not a function” when trying to do some actions on created tasks.
The next thing I tried was to build frontend using docker, which seemed a better option, since I didn’t see dependency warnings during build and it ran more smoothly, but that docker frontend had the same issue when used with the existing Vikunja installation.
Finally, I started thinking that maybe I built a wrong version of the frontend (tried 0.18 and few of the latest), so I decided to go full docker and I installed the prebuilt docker image (0.24.1) and tried connecting custom built frontend to it without success (works, but same problems persist).
Regarding changes I’ve made - it was a few SVG files, some icons, favicon, css and English language file in which I changed some words.
I’m thinking of building frontend without the edits, just to check if I could’ve caused some parsing errors while editing language file or css.
Any help with what to check and look for would be appreciated. I’m an advanced Linux server user with solid knowledge of coding, but very little experience in apps with this type of architecture (frontend, API, backend…), but willing to learn :slight_smile:

//Update: just did a clean docker build of release/0.18 and the same issues persist. I guess I should check out build logs and see what’s wrong.

This sounds like you built an old version of the frontend. API and frontend must always be the same version. Does it work if you build the frontend from the same tag as the api you have running?

This may be helpful as well: Build Vikunja from sources | Vikunja

Hi. You were absolutely right !!! I’ve cloned 0.24.1, the same version as my .deb installation, applied the changes that I wanted and rebuilt only the frontend, which I then successfully connected to the existing installation.
Learnt ton on the process. Thanks.

1 Like