-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
79 lines (75 loc) · 2.14 KB
/
docker-compose.yml
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
services:
backend:
build:
context: .
image: quails-app
environment:
RAILS_ENV: production
SECRET_KEY_BASE: 8ed44e73d525a97a10e105cb585094e04975995dac921da790f3b7c1cdbc3b2c
QUAILS_ADMIN_USERNAME: admin
# Password: admin
QUAILS_ADMIN_PASSWORD: "$2a$12$2T5ypL1zWAsEc2FK/KMVKOQyZFgZPegUiL3u0/CLWHPiIeBG6cxLq"
DATABASE_URL: postgres://quails:quails@database/quails_production
RAILS_SERVE_STATIC_FILES: "true"
REDIS_CACHE_URL: redis://redis-cache
env_file:
- .env.docker
command: bin/rails s
ports:
- "3005:3000"
depends_on:
- database
- redis-cache
# Placing tmp on a volume is good for local dev, but not required for prod
volumes:
- rails_app_tmp:/app/tmp
- rails_app_storage:/app/storage
good_job:
build:
context: .
image: quails-app
environment:
POSTGRES_PASSWORD: quails
RAILS_ENV: production
SECRET_KEY_BASE: 8ed44e73d525a97a10e105cb585094e04975995dac921da790f3b7c1cdbc3b2c
DATABASE_URL: postgres://quails:quails@database/quails_production
REDIS_CACHE_URL: redis://redis-cache
# COUNT: 1
# GOOD_JOB_POLL_INTERVAL: 5
GOOD_JOB_QUEUES: "ebird:1;-ebird:4"
# env_file:
# - .env.docker
command: bundle exec good_job start
depends_on:
- database
- redis-cache
volumes:
- rails_app_tmp:/app/tmp
- rails_app_storage:/app/storage
database:
image: bitnami/postgresql:16-debian-12
environment:
POSTGRES_USER: quails
POSTGRES_PASSWORD: quails
POSTGRES_DB: quails_production
ports:
- "5499:5432"
volumes:
- db_data16:/bitnami/postgresql
redis-cache:
image: redis:7-alpine
# This is cache
command: redis-server --maxmemory 25mb --maxmemory-policy allkeys-lru --save 120 1
# It is beneficial to preserve cache between deploys, but it can be cleared
volumes:
- cache_data:/data
# Declare the volumes that our application uses.
volumes:
db_data16:
cache_data:
rails_app_storage:
rails_app_tmp:
# rails_app_pids:
# driver_opts:
# type: tmpfs
# device: tmpfs