Skip to content

/opt/sentry/postgres-entrypoint.sh: no such file or directory #1609

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Luew2 opened this issue Aug 1, 2022 · 5 comments
Closed

/opt/sentry/postgres-entrypoint.sh: no such file or directory #1609

Luew2 opened this issue Aug 1, 2022 · 5 comments

Comments

@Luew2
Copy link

Luew2 commented Aug 1, 2022

Self-Hosted Version

22.7.0

CPU Architecture

86x

Docker Version

20.10.12

Docker Compose Version

1.29.2

Steps to Reproduce

Create an ubuntu docker container.

Run docker run -v /var/run/docker.sock:/var/run/docker.sock
-ti (container name)

Make a directory in home called sentry

clone the sentry repo

run ./install.sh

Expected Result

Expect sentry to install properly

Actual Result

Docker images built.

▶ Setting up Zookeeper ...
Creating network "sentry-self-hosted_default" with the default driver
Creating sentry-self-hosted_zookeeper_run ...
Creating sentry-self-hosted_zookeeper_run ... done
Creating sentry-self-hosted_zookeeper_run ...
Creating sentry-self-hosted_zookeeper_run ... done
Creating sentry-self-hosted_zookeeper_run ...
Creating sentry-self-hosted_zookeeper_run ... done

▶ Downloading and installing wal2json ...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5417 100 5417 0 0 18926 0 --:--:-- --:--:-- --:--:-- 18940

▶ Bootstrapping and migrating Snuba ...
Creating sentry-self-hosted_zookeeper_1 ...
Creating sentry-self-hosted_redis_1 ...
Creating sentry-self-hosted_clickhouse_1 ...
Creating sentry-self-hosted_clickhouse_1 ... done
Creating sentry-self-hosted_redis_1 ... done
Creating sentry-self-hosted_zookeeper_1 ... done
Creating sentry-self-hosted_kafka_1 ...
Creating sentry-self-hosted_kafka_1 ... done
Creating sentry-self-hosted_snuba-api_run ...
Creating sentry-self-hosted_snuba-api_run ... done
2022-08-01 17:47:24,260 Attempting to connect to Kafka (attempt 0)...
2022-08-01 17:47:24,296 Connected to Kafka on attempt 0
2022-08-01 17:47:24,297 Creating Kafka topics...
Creating sentry-self-hosted_snuba-api_run ...
Creating sentry-self-hosted_snuba-api_run ... done
Finished running migrations

▶ Creating additional Kafka topics ...

▶ Ensuring proper PostgreSQL version ...

▶ Setting up / migrating database ...
Creating sentry-self-hosted_smtp_1 ...
Creating sentry-self-hosted_postgres_1 ...
Creating sentry-self-hosted_symbolicator_1 ...
Creating sentry-self-hosted_memcached_1 ...
Creating sentry-self-hosted_snuba-replacer_1 ...
Creating sentry-self-hosted_snuba-sessions-consumer_1 ...
Creating sentry-self-hosted_snuba-transactions-consumer_1 ...
Creating sentry-self-hosted_snuba-api_1 ...
Creating sentry-self-hosted_snuba-subscription-consumer-events_1 ...
Creating sentry-self-hosted_snuba-subscription-consumer-transactions_1 ...
Creating sentry-self-hosted_snuba-consumer_1 ...
Creating sentry-self-hosted_snuba-outcomes-consumer_1 ...
Creating sentry-self-hosted_smtp_1 ... done
Creating sentry-self-hosted_memcached_1 ... done
Creating sentry-self-hosted_symbolicator_1 ... done
Creating sentry-self-hosted_snuba-sessions-consumer_1 ... done
Creating sentry-self-hosted_snuba-replacer_1 ... done
Creating sentry-self-hosted_snuba-api_1 ... done
Creating sentry-self-hosted_snuba-transactions-consumer_1 ... done
Creating sentry-self-hosted_postgres_1 ... error

ERROR: for sentry-self-hosted_postgres_1 Cannot start service postgres: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/opt/sentry/postgres-entrypoint.sh": stat /opt/sentry/postgres-entrypoint.sh: no such file or directory: unknown
Creating sentry-self-hosted_snuba-consumer_1 ... done
Creating sentry-self-hosted_snuba-subscription-consumer-transactions_1 ... done
Creating sentry-self-hosted_snuba-subscription-consumer-events_1 ... done
Creating sentry-self-hosted_snuba-outcomes-consumer_1 ... done

ERROR: for postgres Cannot start service postgres: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/opt/sentry/postgres-entrypoint.sh": stat /opt/sentry/postgres-entrypoint.sh: no such file or directory: unknown
Encountered errors while bringing up the project.

An error occurred, caught SIGERR on line 12
Cleaning up...

@Luew2
Copy link
Author

Luew2 commented Aug 1, 2022

So, I'm trying to get a self-hosted sentry platform running within a docker container. I know, containerizing containers isn't ideal but I have my reasons. Anyways, I'm assuming something is wrong with the container I am running the install script in, but the logs aren't being very helpful. It seems like the postgres-entrypoint.sh should exist since the build was completed properly, but it doesn't, any ideas?

@emmatyping
Copy link
Contributor

So when you run docker in docker, volumes and mounts work weirdly. Since the docker daemon is running on the host, if you ask to bind mount, I believe that ends up on the host, but the installer inside the container doesn't see that.

I think you could do some trickery with doing a bind mount from the container the installer is running in to the host to line up the mounts... I've never done this before myself though so the best I can do is wish you luck from there, sorry!

You may also want to look at the possibility of setting up a VM via lxd or qemu perhaps...

@Luew2
Copy link
Author

Luew2 commented Aug 1, 2022

Ah, thanks for pointing that out @ethanhs! What I believe may fix this issue.

If I run a true docker:dind (dind = docker in docker) but based on an ubuntu image, I may be able to clone the repo and install it there with a proper mounting within the container. I haven't tried this yet but I'll report back.

Otherwise the VM route could work, although I would prefer DIND to work.

@Luew2
Copy link
Author

Luew2 commented Aug 1, 2022

Success!

Leaving this here for future persons that may want to do what I am doing:

Use this image for your original docker image:
https://github.com/cruizba/ubuntu-dind

run apt-get update
run apt-get install git-all

clone the self-hosted sentry repo

run ./install.sh

Everything should work, at least it did on my end.

@Luew2 Luew2 closed this as completed Aug 1, 2022
@emmatyping
Copy link
Contributor

emmatyping commented Aug 1, 2022

That's great to hear! Thank you for reporting back and documenting the steps you took.

@chadwhitacre this may solve #999. We should discuss making this a supported method of running self-hosted. There are of course downsides of using DIND... but if we document the issues then perhaps this will make the installer better contained.

@github-actions github-actions bot locked and limited conversation to collaborators Aug 17, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants