m1k1o / neko

A self hosted virtual browser that runs in docker and uses WebRTC.
https://neko.m1k1o.net/
Apache License 2.0
7.74k stars 569 forks source link

How to modify the Web UI #416

Closed z2labplus closed 1 month ago

z2labplus commented 2 months ago

I modify the neko/client/src/locale/en-us.ts login_title: 'Please Log In 7', and then I run the command in neko/.docker/base
docker build -t base:20240829 . but it show the error bug 1724926340484 How to solve this problem? Do you have documentation for custom development?

m1k1o commented 2 months ago

Here is the documentation: https://github.com/m1k1o/neko/tree/master/.docker

So you need to go to .docker and run ./build base. Then when done run ./build firefox or anything that you want.

z2labplus commented 2 months ago

I really can't thank you enough, it means a lot!

hari-ultiweb commented 2 months ago

Where is the build command executed? Since that requires the Dockerfile, it should be under .docker/base, however when done from that location, it errors out saying

[+] Building 1.4s (21/25)                                                                                                                                                       docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                      0.0s
 => => transferring dockerfile: 3.81kB                                                                                                                                                    0.0s
 => WARN: FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 4)                                                                                                            0.0s
 => WARN: FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 35)                                                                                                           0.0s
 => [internal] load metadata for docker.io/library/debian:bullseye-slim                                                                                                                   1.2s
 => [internal] load metadata for docker.io/library/golang:1.20-bullseye                                                                                                                   1.2s
 => [internal] load metadata for docker.io/library/node:18-bullseye-slim                                                                                                                  1.3s
 => [internal] load .dockerignore                                                                                                                                                         0.0s
 => => transferring context: 2B                                                                                                                                                           0.0s
 => [internal] load build context                                                                                                                                                         0.0s
 => => transferring context: 2B                                                                                                                                                           0.0s
 => [client 1/6] FROM docker.io/library/node:18-bullseye-slim@sha256:f32d74a92ce8b17a1ea7b8eb2942ba42123ed678c5986e71205e9ded08caf661                                                     0.0s
 => [stage-2 1/8] FROM docker.io/library/debian:bullseye-slim@sha256:9058862a1be84689bd13292549ba981364f85ff99e50a612f94b188ac69db137                                                     0.0s
 => [server 1/5] FROM docker.io/library/golang:1.20-bullseye@sha256:a393b941c42b0fae8beb0e5bc033cd6499563e2f1b8d2ccf00d395e8c2ccc0ce                                                      0.0s
 => CACHED [client 2/6] WORKDIR /src                                                                                                                                                      0.0s
 => CACHED [client 3/6] COPY client/package*.json ./                                                                                                                                      0.0s
 => CACHED [client 4/6] RUN npm install                                                                                                                                                   0.0s
 => ERROR [client 5/6] COPY client/ .                                                                                                                                                     0.0s
 => CACHED [stage-2 2/8] RUN set -eux;     apt-get update;     apt-get install -y --no-install-recommends wget ca-certificates supervisor;     apt-get install -y --no-install-recommend  0.0s
 => ERROR [stage-2 3/8] COPY .docker/base/dbus /usr/bin/dbus                                                                                                                              0.0s
 => ERROR [stage-2 4/8] COPY .docker/base/default.pa /etc/pulse/default.pa                                                                                                                0.0s
 => ERROR [stage-2 5/8] COPY .docker/base/supervisord.conf /etc/neko/supervisord.conf                                                                                                     0.0s
 => ERROR [stage-2 6/8] COPY .docker/base/xorg.conf /etc/neko/xorg.conf                                                                                                                   0.0s
 => CACHED [server 2/5] WORKDIR /src                                                                                                                                                      0.0s
 => CACHED [server 3/5] RUN set -eux; apt-get update;     apt-get install -y --no-install-recommends git cmake make libx11-dev libxrandr-dev libxtst-dev     libgstreamer1.0-dev libgstr  0.0s
 => ERROR [server 4/5] COPY server/ .                                                                                                                                                     0.0s
------
 > [client 5/6] COPY client/ .:
------
------
 > [stage-2 3/8] COPY .docker/base/dbus /usr/bin/dbus:
------
------
 > [stage-2 4/8] COPY .docker/base/default.pa /etc/pulse/default.pa:
------
------
 > [stage-2 5/8] COPY .docker/base/supervisord.conf /etc/neko/supervisord.conf:
------
------
 > [stage-2 6/8] COPY .docker/base/xorg.conf /etc/neko/xorg.conf:
------
------
 > [server 4/5] COPY server/ .:
------

 4 warnings found (use --debug to expand):
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 4)
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 35)
 - SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "NEKO_PASSWORD") (line 124)
 - SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "NEKO_PASSWORD_ADMIN") (line 125)
Dockerfile:45
--------------------
  43 |     #
  44 |     # build client
  45 | >>> COPY client/ .
  46 |     RUN npm run build
  47 |     
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 6003de64-3d91-46ae-8655-458c1c6b6798::2qllpaillw1qfzrilwkrwh1s8: "/client": not found

are the following steps correct?

  1. Git clone the project, make necessary changes
  2. cd to .docker and do ./build base followed by ./build firefox or ./build/chromium or any other flavor required
  3. then cd base and do docker build -t {name}:{tag} .

anything that am missing please?

m1k1o commented 2 months ago

are the following steps correct?

Git clone the project, make necessary changes
cd to .docker and do ./build base followed by ./build firefox or ./build/chromium or any other flavor required
then cd base and do docker build -t {name}:{tag} .

anything that am missing please?

Only ./build base followed by ./build firefox or ./build/chromium or any other flavor is required, those commands already create local images named as m1k1o/neko:base ans m1k1o/neko:firefox or m1k1o/neko:chromium. No need to run docker build manually.