forked from IshikawaUta/ruby-chatbot
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
46 lines (37 loc) · 1.08 KB
/
Dockerfile
File metadata and controls
46 lines (37 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Menggunakan Node.js sebagai base image
FROM node:20-bookworm-slim
# Install Ruby, build tools, dan dependencies untuk Chromium (Puppeteer)
RUN apt-get update && apt-get install -y \
ruby \
ruby-dev \
build-essential \
chromium \
fonts-ipafont-gothic \
fonts-wqy-zenhei \
fonts-thai-tlwg \
fonts-kacst \
fonts-freefont-ttf \
libxss1 \
--no-install-recommends \
&& gem install bundler \
&& rm -rf /var/lib/apt/lists/*
# Set environment variables untuk Puppeteer
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
WORKDIR /app
# Copy package files dan install Node dependencies
COPY bridge/package*.json ./bridge/
RUN cd bridge && npm install
# Copy Gemfile dan install Ruby dependencies
COPY brain/Gemfile* ./brain/
RUN cd brain && \
bundle config set --local path 'vendor/bundle' && \
bundle install --jobs 4 --retry 3
# Copy semua file project
COPY . .
# Pastikan script start.sh bisa dieksekusi
RUN chmod +x start.sh
# Port default Railway
EXPOSE 3001
# Jalankan script utama
CMD ["./start.sh"]