production build
parent
da5286dc86
commit
8b2e0595f2
|
|
@ -16,7 +16,7 @@ WORKDIR /rails
|
||||||
|
|
||||||
# Install base packages
|
# Install base packages
|
||||||
RUN apt-get update -qq && \
|
RUN apt-get update -qq && \
|
||||||
apt-get install --no-install-recommends -y curl libjemalloc2 libvips sqlite3 && \
|
apt-get install --no-install-recommends -y curl libjemalloc2 libvips sqlite3 libpq-dev && \
|
||||||
rm -rf /var/lib/apt/lists /var/cache/apt/archives
|
rm -rf /var/lib/apt/lists /var/cache/apt/archives
|
||||||
|
|
||||||
# Set production environment
|
# Set production environment
|
||||||
|
|
@ -45,9 +45,6 @@ COPY . .
|
||||||
# Precompile bootsnap code for faster boot times
|
# Precompile bootsnap code for faster boot times
|
||||||
RUN bundle exec bootsnap precompile app/ lib/
|
RUN bundle exec bootsnap precompile app/ lib/
|
||||||
|
|
||||||
# Precompiling assets for production without requiring secret RAILS_MASTER_KEY
|
|
||||||
RUN SECRET_KEY_BASE_DUMMY=1 ./bin/rails assets:precompile
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
2
Gemfile
2
Gemfile
|
|
@ -30,6 +30,8 @@ gem 'solid_cable'
|
||||||
gem 'solid_cache'
|
gem 'solid_cache'
|
||||||
gem 'solid_queue'
|
gem 'solid_queue'
|
||||||
|
|
||||||
|
gem 'pg'
|
||||||
|
|
||||||
# Reduces boot times through caching; required in config/boot.rb
|
# Reduces boot times through caching; required in config/boot.rb
|
||||||
gem 'bootsnap', require: false
|
gem 'bootsnap', require: false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -240,6 +240,7 @@ GEM
|
||||||
parser (3.3.6.0)
|
parser (3.3.6.0)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
racc
|
racc
|
||||||
|
pg (1.5.9)
|
||||||
propshaft (1.1.0)
|
propshaft (1.1.0)
|
||||||
actionpack (>= 7.0.0)
|
actionpack (>= 7.0.0)
|
||||||
activesupport (>= 7.0.0)
|
activesupport (>= 7.0.0)
|
||||||
|
|
@ -461,6 +462,7 @@ DEPENDENCIES
|
||||||
jbuilder
|
jbuilder
|
||||||
kamal
|
kamal
|
||||||
lookbook (~> 2.3)
|
lookbook (~> 2.3)
|
||||||
|
pg
|
||||||
propshaft
|
propshaft
|
||||||
puma (>= 5.0)
|
puma (>= 5.0)
|
||||||
rails (~> 8.0.0)
|
rails (~> 8.0.0)
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
rQktudMLk/4nS4BJHGKoD4lBqDG6MEtDu6OGfa2co0Xh8IJKZptHAj/NQYLJ5/KKFjT4neeHnik9PggP8wA0xHsd2CpYz0tZtkBVNqKMsup2SawPXGFyXvxIuWjz4cnrR+ld1eRXW//9fReowT4h39sNnmoCdjJ/V9dIHW7SpsEm+GZwG4nxKbC69OI6cB1tnZw9yLbQ7YaiyEn0F0jAX8Z12KDnBrWBvoE7FT2Q46mdPBLOq/Y01SmgRnf4gG10qnL6vekNi+uCwpK7uFR7yOs9l4GB0HgU/f+E+6FZQzLOKv9xZQHosykScU87NAJ8l2cMCUpaxyO2nea7+7NXbbl0zu51TcBbRTdLZris9yGH0TXwfpX7PchcL5PHUG6PWh/F2UI4aEV1cM5IK+YOQmPHrB99dFYyKTWfnnWD3jRQRsyOQKTndTPHO7rm+kilUiy0SCzgrY+Pm2qR/eozCJ7tx6j/soqgTePSCUdo+A39oNrsXW3mzmOb--Gxpp+BnADvqu/55D--KNdQDd1XXqlyBaf7l0UnPQ==
|
PRcWjIOSDHFafgdZ5HQOiUQNOZpdKVqG62n3hbtmJ07hJzUdQ6vVOjRtw7j49J+4bHykHIMwqbwtYtreroD10bItlKmQ11Nd+h3cauM+DJxsa8DdWeV8zDx94jImPRPtofu3C9Oj6ogHCJrcxWg3L9rWNaOyYCsLN1uECMOQhpIxNVjF0bcGERZhTAWbLIr2jewkJK0TWu8DyZCSn9esA4MZFEP8rVae5ApZlFHcDKkXVHG/JuF+MuP7OO6rFPdgigRO0nzIXH6yXNwNATH9Yi8x0dREjK0mk6h/aYHWnNp0RT8Qnbcpt30lauFLv3W48qkQ621UU7fuFS6LZukr30NLrNUEXVZMid3iGGvLUZk2P3bS1dl0rg9X11f/3FJ58dXAZnJkMogqR3NlfjqArZD74UC0AURGFUuAwNJCfw6vCAbAMHW9iNGE0IiRT0PcrQsNApqlTZQie0SM+89TWr4CV2EEqXdgc8v7SG6X4mks58AEDWaYRSeH--h6b3cNVTSphSsWVJ--5cXbFf2DabGLMkRA0K2GcQ==
|
||||||
|
|
@ -25,8 +25,13 @@ test:
|
||||||
# is mounted as a persistent Docker volume in config/deploy.yml.
|
# is mounted as a persistent Docker volume in config/deploy.yml.
|
||||||
production:
|
production:
|
||||||
primary:
|
primary:
|
||||||
<<: *default
|
adapter: postgresql
|
||||||
database: storage/production.sqlite3
|
encoding: unicode
|
||||||
|
host: <%= ENV['DATABASE_HOST'] %>
|
||||||
|
database: <%= ENV['DATABASE_NAME'] %>
|
||||||
|
username: <%= ENV['DATABASE_USER'] %>
|
||||||
|
password: <%= ENV['DATABASE_PASS'] %>
|
||||||
|
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
||||||
cache:
|
cache:
|
||||||
<<: *default
|
<<: *default
|
||||||
database: storage/production_cache.sqlite3
|
database: storage/production_cache.sqlite3
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
rails:
|
||||||
|
build:
|
||||||
|
context: ./
|
||||||
|
environment:
|
||||||
|
DATABASE_HOST: postgres
|
||||||
|
DATABASE_NAME: chatbot_prod
|
||||||
|
DATABASE_USER: postgres
|
||||||
|
DATABASE_PASS: postgres
|
||||||
|
RAILS_MASTER_KEY: 8a8e7fc319733cd969f23450cbdfadaf
|
||||||
|
SOLID_QUEUE_IN_PUMA: true
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
networks:
|
||||||
|
- chatbot-network
|
||||||
|
postgres:
|
||||||
|
image: postgres:16.8-alpine3.20
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: chatbot_prod
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
volumes:
|
||||||
|
- postgres-data:/var/lib/postgresql/data
|
||||||
|
networks:
|
||||||
|
- chatbot-network
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres-data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
chatbot-network:
|
||||||
Loading…
Reference in New Issue