-
Notifications
You must be signed in to change notification settings - Fork 11.6k
Added Docker Support #7
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
Conversation
|
@officialasit is attempting to deploy a commit to the calendso Team on Vercel. To accomplish this, @officialasit needs to request access to the Team. Afterwards, an owner of the Team is required to accept their membership request. |
|
Didn't see this before my PR https://github.com/calendso/calendso/pull/18. There may be some stuff from there to help with this. It's using the LSIO base as they follow best practices and include s6supervisor which allows pre-init scripts and service management. It also includes nginx to serve the project as that'll likely be better than a dev server. |
|
Hello @ALL I was about to bring the docker support. Any place I shall jump in, or focus on Kubernetes? |
|
@gonrial I've commited the changes onto my Forked Repo, but for some reason its not appearing into this pull request. |
|
For people who want to create a docker image before this is merged you could use a FROM alpine/git:v2.30.1 as src
RUN git clone https://github.com/calendso/calendso.git /srv
FROM node:15-alpine3.13
WORKDIR /opt/app
COPY --from=src /srv/. .
RUN adduser -S app && \
yarn install && \
chown -R app .
USER app
EXPOSE 3000 5555
CMD ["yarn", "dev"] |
No need to add a new user since there is already one that has a login and is named |
|
Any estimates on making this happen? |
|
It got updated 5 hours before. Is it good to go? |
|
Good. I suggest adding adminer to docker-compose too. adminer:
image: adminer
ports:
- 8080:8080
environment:
ADMINER_DEFAULT_SERVER: postgres:5432
|
|
Can we have the |
|
When running The way to fix it is just by running until psql --host=$DB_HOST --port=$DB_PORT --username=$DB_USER $DB_NAME -w #&>/dev/null
do
echo "Waiting for PostgreSQL..."
sleep 5
done
echo "DB is up!" |
| POSTGRES_USER: postgres | ||
| POSTGRES_PASSWORD: p0stgr3s_pass | ||
| ports: | ||
| - '5432:5432' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it necessary to expose this port? The Calendso container will already find the database because of Docker's internal routing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's a best practice to document them, for what it's worth. It also helps if you want to use an external postgresql client.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd recommend leaving it there but commented out as it could be a security issue for anyone who adds the compose file to their server and exposes their db port by accident. Docker exposed ports often bypass firewalls too!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rberrelleza, why is it a best practice? In the container on the Docker hub it's probably already mentioned if you want to use it that way. What it does now is use that port (possibly blocking other postgres services) and leave a security risk as @Soneji mentioned.
I should/could have been more clear of my reasoning, but these are the biggest reasons to not expose a port if it's not needed. Postgres isn't a service that needs to communicate with the outside world in this context.
|
While I can get the docker image (https://hub.docker.com/r/ctadeu/calendso) to run, whenever I load it in the browser, I get the following stack trace in the docker-compose logs. (Docker compose file below stacktrace) docker-compose.ymlAny help is appreciated. |
|
Closing this as we don't officially support Docker installations. At some point we may reconsider supporting Docker however, so thanks for all of your help. |
Why not? It would significantly reduce the barrier to entry for new developer-users. I’m curious why this PR was closed… doesn’t it add support for Docker installations? If you don’t want to support Docker, couldn’t you just say that in the readme and still allow merging PRs like this one? |
|
Wow, I just found out about this amazing project and here I find that one of the most popular deployment tools is not going to be supported and the issue is closed just like that, discouraging further discussion on it. Why take this approach towards your users' wishes? Is this what calendso's approach is towards open source? Please let us know before we invest further in the project |
|
Bumped on the same need. Docker should really be a thing to use here. |
|
Can we please get docker support its an absolute must in the cloud era. |
|
From the point of view of this project; we would like to support every hosting option out there; whether Docker, K8s, Nginx, Apache, Vercel, Netlify, ... The challenge we are facing is the following: Once we add a hosting option (in this case Docker) to our repository: we are expected to support that hosting option in an official capacity. Internally, we are currently focused fully on feature-parity with our competitors, and release our first stable version; and this means we don't really have resource that can be allocated to maintain Docker within our team, so maintaining Docker would be impossible on our end at this point in time. If we merge Docker and something breaks, this is likely result in damage to our reputation as a company - and crucially, we wouldn't have the internal knowledge to address this. Due to the nature of OS we are unable to guarantee the community will jump in either. As the maintainer of this project however I do acknowledge this is something sorely wanted; and I am eager to find a solution that works for the community as a whole. Any feedback offering suggestions to resolve this challenge are much appreciated. |
|
How about explicitly writing that you won't official maintain the Docker image but you will accept fixes and documentation for it (and maybe configure a GH action that automatically publishes releases on an official calendso organisation image on Docker Hub — it's free and already usable with GitHub)? This way you won't need to feel guilty once the image brakes broke but you still allow all systems that rely on containers (i.e. Docker, K8s, podman, …) to be used. |
|
Indeed that would be awesome, even if the PR is community supported, or just make it a separate repo with just the files and say it’s without warranty and all prs are welcome might make it easier to decouple the code from the maintenance process of Docker. git clone If you have CI would be more then happy to help automate the build process I have it working already for us. |
|
Hi everyone, There is a new repository @ https://github.com/calendso/docker intended for Docker configuration files. I've taken the liberty to add some skeleton, structure to how I think it makes sense (after looking at similar repositories); and a start on the README. Thanks to everyone that added and discussed this PR, and also the feedback that suggested this method. Please raise the PRs against the calendso/docker repo and let's get this merged in! By the way, feel free to create an issue in the new repo if there's anything that need doing for:
Ps. I set this up using submodules, but if it is preferred not to use them feel free to ditch. Hope this helps, |
|
Thank you everyone for helping out! This is really cool to see. I am glad we can finally bring Calendso to Docker, even though our core team has limited experience. Great community effort, thank you! 🎉 |
|
It's great to see that docker support for calendso has finally arrived. 🥳 ❤️ |
|
we're hoping to get at least one docker expert into the core team to call it "official docker image" and properly support it 🙏 |
feat: adds bookings and more tests
- Fix #1: Weekly schedule now shows multiple time slots per day in AvailabilityTab - Fix #2: Allow numeric input fields to be empty with proper validation - Fix #3: Add native iOS date picker for date range in Limits tab - Fix #4: Change 'Email verification' to 'Booker email verification' in Advanced tab - Fix #5: Fix Requires confirmation comparison logic in buildPartialUpdatePayload - Fix #6: Forward parameters toggle already working, verified wiring - Fix #7: Add toggles for redirect booking URL and interface language in Advanced tab - Fix #8: Increase scroll padding at bottom from 200 to 350 for better keyboard access
* fix(companion): iOS event type detail fixes - Fix #1: Weekly schedule now shows multiple time slots per day in AvailabilityTab - Fix #2: Allow numeric input fields to be empty with proper validation - Fix #3: Add native iOS date picker for date range in Limits tab - Fix #4: Change 'Email verification' to 'Booker email verification' in Advanced tab - Fix #5: Fix Requires confirmation comparison logic in buildPartialUpdatePayload - Fix #6: Forward parameters toggle already working, verified wiring - Fix #7: Add toggles for redirect booking URL and interface language in Advanced tab - Fix #8: Increase scroll padding at bottom from 200 to 350 for better keyboard access * fix(companion): conditional scroll padding for limits and advanced tabs only * fix(companion): remove static date text from iOS date picker, keep only picker * fix(companion): simplify iOS date picker to match RescheduleScreen pattern * update code
Docker Support for Calendso. 🐳
Docker Support Added
ToDo Tasks: