Commit Graph

16 Commits

Author SHA1 Message Date
Vishnu Narayanan
91dd92e318 feat: switch to postgres docker images with pgvector support (v4.0) (#10658)
Starting v4.0, pgvector support is mandatory. This PR adds pgvector
support for new docker installations.

- Switch to postgres images with pgvector support
- Change the default postgres version from `12` to `16`
2025-01-14 19:45:42 +05:30
Vishnu Narayanan
55dfd7db50 fix: pnpm in vite docker (#10344)
- Fix pnpm path in vite docker
- Remove webpack files
- fFx vite server port
2024-10-29 15:16:10 +05:30
Vishnu Narayanan
35a1dcce43 feat: switch docker dev from webpack to vite (#10322)
# Pull Request Template

## Description

- Fix docker development 
- Switch from webpack to vite 

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [x] Breaking change (fix or feature that would cause existing
functionality not to work as expected)

## How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration.


## Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
2024-10-22 14:40:30 +05:30
Ali Behnamfard
168a4dc323 fix: build error during development using docker-compose (#8714)
* Fix ssl error in final build stage

* add env to docker compose

---------

Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com>
2024-02-06 12:56:53 +05:30
Sony Mathew
39c2270227 fix: pg pass printed by docker container (#1382)
* fix: pg pass printed by docker container (#1371)

The "POSTGRES_PASSWORD" variable setting inside the entrypoint script
of the rails docker container was printed in the logs when the
container was run using docker compose.

Fixed this by removing this password being set in this script.
Added env file from root directory to the container
Updated the tailwind evrsion in yarn lock

* fix: moved pg database url check in the entrypoint to another helper

created a new helper docker/entrypoints/helpers/pg_database_url.sh
to parse the databse url and export the postgres host, user and
port.

With this the pg is_ready check falls to a common format rather
than two formats depending on DATABASE_URL env variable is
present or not.

* fix: rename pg ready variable in rails entrypoint
2020-11-06 00:06:07 +05:30
Sojan Jose
7483796a14 Chore: Update PostgreSQL version to 12 (#1034)
Fixes: #1031
2020-07-14 11:36:31 +05:30
Anto Dominic
6325acd183 Feature: Add Sidekiq docker (#443)
* update db:schema due to migration

* reduce default concurrency for redis connection limit

* Allow auto update packages in the development mode without building image

* add sidekiq support to docker-compose

* Pass sidekiq cofig file

* passed the env file in base image rather than separately in rails, web packer and sidekiq in docker-compose
* removed un-necessary changes in schema
* changed concurrency to finer values
* removed default size set in sidekiq redis config
* Added the sidekiq config option in Procfile.dev

Co-authored-by: Sony Mathew <ynos1234@gmail.com>
2020-01-27 00:15:13 +05:45
sony-mathew
8cf135f2db Merge branch 'hotfix/1.0.3' into develop
# Conflicts:
#	config/cable.yml
#	docs/development/environment-setup/docker.md
2020-01-26 22:51:39 +05:45
sony-mathew
2168f823a5 [#446] Redis authentication support
Previously we did not support authentication for redis anywhere. Also in the docker compose we were exposing redis port 6379 without any authentication. In the app side for the connections that app server (for storing keys as well as for socket connections made using action cable) and Sidekiq were making to redis server did not support authentication.

With this commit, we support authentication for redis connections from app side and Sidekiq. This is supported in docker-compose as well.

The changes include :
* Added support for new env variable REDIS_PASSWORD
* This redis password is now supported by action cable connections, Sidekiq connections and app side redis connections
* Since Sidekiq did not have an initializer, added an initializer to pass custom config to Sidekiq (for now it's options for redis)
* Changes in docker-compose to pickup a password set in .env file to protect the redis server running in docker
* Added necessary documentation changes in `docker.md` and `environment-variables.md`
2020-01-26 22:46:34 +05:45
Sojan Jose
91ace96acd Chore: Sidekiq ActionCable fix for Development (#405)
- action cable works from sidekiq in development environments
- documentation updates for docker
2020-01-05 23:26:22 +05:30
Cadu Ribeiro
434d6c2656 Reduce docker image size (#394)
Reduce docker image size based on:  https://cadu.dev/reduce-your-docker-images-an-example-with-ruby/
2019-12-31 18:23:18 +05:30
Pranav Raj S
19b4311e8b Upgrade: Use postgres 11.6 in docker-compose (#391) 2019-12-26 22:04:52 +05:30
Anto Dominic
1ee17cc826 [Enhancement] Docker support Debugging (byebug & pry) and receive emails to MailHog via smtp (#371)
* updated development docker setup

* turned on yarn integrity check

* create test docker compose and update development dockerfile

* create docker Readme.md file

* fix README.md file

* create docker-copmose and dockerfile for production/staging environment setup

* added mailhog to catch email

* remove yarn integrity check in development mode!

* Update Readme.md file to support mailhog inbox

* update link to docker development guide from mail README

* remove .env.development and use .env.example for docker as .env.development was mixing with circleci config

* make the dockerfile configurable like before

* update docker-compose as per suggesion in PR

* create docker setup docs

* Revert accidental deletion

* fix: typo for branding consistency

* fix typo

* update the code as per recommendation in PR

* remove package-lock and add gitignore

* fix vulnerability AND update env for tests to pass

* Fix yarn integrity check across different docker services

* update code based on rubocop and PR suggestions

* remove redundant test docker-compose and dockerfile

* update rails entrypoint, update docs and Gemfile

* [Rubocop] order Gemfile alphabetically

* Reordering Gemfile
2019-12-22 22:53:18 +05:30
petebytes
3f403c9e7a Improve docker compose performance (#347)   🤩
* Fix warning Integrity check: System parameters don't match

* Reduce commands required to use docker-compose and update quick-setup doc

Data will still persist when stopping and restarting containers.
To destroy the data can use docker-compose down --volumes

* Moved webpacker-dev-server to its own service

* cache bundle and yarn - improve volume performance - env conditional statements

* Fix inconsistent build results found during testing
2019-12-05 16:42:46 +05:30
Pranav Raj S
8ea74a21b0 Fix docker file to use rails_env=production on precompile (#315)
* Fix docker file to use rails_env=production on precompile

* Fix docker file for prod deployment
2019-11-28 23:34:21 +05:30
Sony Mathew
da9ac8b26d 🔥Docker and environment variables cleanup (#270)
* Added dotenv-rails gem to manage environment variables

* Added dotenv-rails gem to manage environment variables
* Removed figaro which was used earlier for this purpose

* Standardized variable names

* Changed all env variables to be upper case. This included changes in files referencing env variables.
* Added example env file with all variables set to empty value
* Removed the earlier setup of copying application.yml and database.yml and the scripts and documentation associated to this

* Docker setup

* Added docker file for building the docker images
* Added entrypoint.sh script which is referenced inside the Docker image
* Cloned the Procfile for development using docker which has slight change compared to regular procfile
* Added the docker-compose.yml which has 3 service's configuration, postgres, redis and chatwoot server and a mounted volume for postgres

* Added docker related info to documentation

* Added the docker setup info in the documentation
* Added info for using`rbenv` instead of rvm for managing ruby versions
* Updated the documentation for environment variables to have one about `dotenv-rails` gem and removed the documentation about the old copy paste method used by figaro

* Changing the postgres database, username and password as environment variables

* Removed database.yml from gitignore
* Made the postgres databse, username and password as environemnt variables
* Added this in documentation

* Added a quick setup page

* Added quick setup page
* Removed the docs from README and added link to the docs in website
* Removed the figaro related things from circle.ci config

* Adding external volume for redis in docker compose

* Added instructions for adding the redis volume in docs
2019-11-24 01:27:39 +05:30