web:
build:
context: .
+ environment:
+ PIDFILE: /tmp/pids/server.pid
volumes:
- .:/app
- # don't mount tmp directory (https://github.com/Shopify/bootsnap/issues/177)
- - /app/tmp
- # Prevent node_modules from mounting so it's not shared between host OS and Docker
+ # Prevent these directories from mounting so they're not shared between host OS and Docker
- /app/node_modules/
+ # Mount a tmp directory that will persist between runs
+ - web-tmp:/app/tmp
+ # Mount a storage directory that will persist between runs
+ - web-storage:/app/storage
+ tmpfs:
+ /tmp/pids/
ports:
- "3000:3000"
- environment:
- # https://github.com/Shopify/bootsnap/issues/262
- ENABLE_BOOTSNAP: 'false'
command: bundle exec rails s -p 3000 -b '0.0.0.0'
depends_on:
- db
POSTGRES_HOST_AUTH_METHOD: trust
POSTGRES_DB: openstreetmap
volumes:
- - ./docker-db-data:/var/lib/postgresql/data
+ # Mount the Postgres data directory so it persists between runs
+ - db-data:/var/lib/postgresql/data
+
+volumes:
+ web-tmp:
+ web-storage:
+ db-data: