Hi, I'm following the instructions in the contributing docs and got as far as it telling me to run `...
c
Hi, I'm following the instructions in the contributing docs and got as far as it telling me to run
sudo make run-arm
but I don't see this in the makefile. Is there something I should use instead? I'm on an M3 Macbook
a
yes, I think we have to run
make run-local
instead. I managed to deploy containers on local with this diff: https://github.com/SigNoz/signoz/compare/develop...Rindrics:signoz:deploy-local?expand=1
This takes up new contributors' time and risks discouraging them from contributing. I wish the ‘official’ method, the way early contributors and admins deploy SigNoz on local, to be documented.
c
Thanks Akira, that's really useful, particularly the ${GOOS}-${GOARCH} bits as this was catching me out
Did you manage to get frontend talking to the query service? I have query service building and running in isolation now but frontend can't talk to it - it bounces me back to registration page with an error when I try to register. I tried using the default nginx conf that is included but I had to make some modifications like adding events {} section. Also tried using the yarn start referenced in readme in frontend folder but it says command not found.
a
I managed to deploy containers on local with this diff: https://github.com/SigNoz/signoz/compare/develop...Rindrics:signoz:deploy-local?expand=1
update: I'm sorry, now I can't get query-service container keep "healthy"... Now I can't reproduce the previous success
Did you manage to get frontend talking to the query service?
In previous, the answer is "yes"!
FYI: the screenshots in this issue is taken from SigNoz on my local https://github.com/SigNoz/signoz/issues/5976
is your query-service container works healthy?
I think we have to build query-service binary with GOARCH=linux to execute it inside container (I'm not sure I used config "linux" before)
Also tried using the yarn start referenced in readme in frontend folder but it says command not found.
which command is said to be "not found?"
I think I used
yarn dev
(in "Without Docker" section) not
yarn start
c
I'm currently running query service locally rather than with the container so maybe that's why - but I haven't done much with it yet other than accessing the /health endpoint to confirm I could call it - maybe I will see more issues when I hook up the front end to it 😄
Yarn dev works for me to start it but doesn't seem to be taking the FRONTEND_API_ENDPOINT variable i set in .env so it's not calling the right thing
a
Sorry, I realized
yarn dev
method requires test env URL everyone asking in this Slack workspace, but I managed to use local SigNoz without setting it. Thus I think I used
yarn start
like you. sorry.
c
Okay I managed to get in now but I had to override env.ts in frontend with my backend address as it didnt seem to work with env variable override, so I have:
Copy code
export const ENVIRONMENT = {
    baseURL: '<http://localhost:8080>',
    wsURL: process?.env?.WEBSOCKET_API_ENDPOINT || '',
};
now to see what issues I have with the query service 😄
Yeah I think the test env URL people are talking about is for people who dont want to run query service locally and just want to contribute to front end, whereas we want to run both frontend/query service
I get a 500 on /services when I log into frontend but generally seems to be calling query service okay
So now next problem seems to be my DB setup is incorrect... "Database signoz_traces does not exist" I guess there is some migration job I need to run, I am running clickhouse as a container
a
really? I think I did not need it (although I'm not sure now...)
we really need the "official way"...
c
Yeah I'm not sure - the docs seemed to suggest clickhouse is needed, but I also have a sqlite db I created from some of the instructions - not sure if both are needed or sqlite is meant to be a replacement for local testing so we dont need clickhouse...
Yes agreed, it'd be good to have an official up to date way as I am sure my setup must not be right as I have done so many things different to docs
a
yes, we use sqlite as storage of clickhouse container!
c
Oh I see - I am not familiar with Clickhouse - so Clickhouse will store its data in the sqlite db?
a
yes, on local.
c
Thanks, that clears up some confusion!
a
ClickHouse need some RDB
(FYI: when you can't signup your local SigNoz instance because of "require invitation" verification error, you have to clear local .sqlite data for hard initialization)
c
So just to confirm, you dont get any error about the missing signoz_traces table, but you also didn't have to run any specific migration/db setup script?
a
I'm sorry I'm not sure now, but I think yes.
I updated configuration and deployed system via docker-compose.
I think I did not need manual executions like migrations to get system working.
I'm trying to reproduce previous success. • I think I managed to run query-service binary in my shell (not in container) ◦ you can find a message
Migration successful
in the output • The next step is to re-build binary with GOOS=linux to execute it in Docker container ◦ but I think I will have cross-compiling error with message "error: call to undeclared function 'setresgid'"
my problem resembles to the problem discussed on issue below thus I'll try cross-compiling using docker container https://github.com/mattn/go-sqlite3/issues/1040
c
Hey Akira, thanks for updating - sounds like some progress! Did you get anywhere with the cross compiling? I was looking into this when I got my initial issues with the GOOS etc variables and thought I'd just need to compile the binary with some Go compielr options - but it sounds like you need to use a docker container to actually do the linux build if I understand you?
a
yes, you need Docker container if you get the same error from runtime/cgo. (I will stop posting my progresshere because it's too noisy for you, and my method may be wrong. I will be push as GitHub topic branch!) I managed to run query-service binary in query-service container (small progress!) but facing different error.
I think I should return to the document because Makefile in project root is well designed than my workaround.
c
Yes the Makefile looked good, I stopped using it when I saw the inconsistencies between the make file and the contributor documentation, but maybe I'll take another look at it
a
yes, I think we should 🚀