66 lines
2.1 KiB
YAML
66 lines
2.1 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
BROWSER_LIBS_REFRESH: ${BROWSER_LIBS_REFRESH:-manual}
|
|
image: rustpad:${IMAGE_TAG:-local}
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
ports:
|
|
- "${RUSTPAD_PORT:-3000}:${APP_PORT:-3000}"
|
|
volumes:
|
|
- ./data:/data
|
|
|
|
postgres:
|
|
image: postgres:18
|
|
profiles: [ "pgsql" ]
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:-rustpad}
|
|
POSTGRES_USER: ${POSTGRES_USER:-rustpad}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-rustpad}
|
|
PGDATA: /var/lib/postgresql
|
|
volumes:
|
|
- ./data/db/pgsql:/var/lib/postgresql
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-rustpad} -d ${POSTGRES_DB:-rustpad}" ]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 20
|
|
|
|
mysql:
|
|
image: mysql:8
|
|
profiles: [ "mysql" ]
|
|
environment:
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE:-rustpad}
|
|
MYSQL_USER: ${MYSQL_USER:-rustpad}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-rustpad}
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
|
|
command: [ "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci" ]
|
|
volumes:
|
|
- ./data/db/mysql:/var/lib/mysql
|
|
healthcheck:
|
|
test: [ "CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-root}" ]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 30
|
|
|
|
garage:
|
|
image: dxflrs/garage:v2.3.0
|
|
profiles: [ "s3" ]
|
|
restart: unless-stopped
|
|
command: [ "/garage", "server", "--single-node", "--default-bucket" ]
|
|
environment:
|
|
GARAGE_DEFAULT_ACCESS_KEY: ${S3_ACCESS_KEY:-GK0123456789abcdef0123456789abcdef}
|
|
GARAGE_DEFAULT_SECRET_KEY: ${S3_SECRET_KEY:-0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef}
|
|
GARAGE_DEFAULT_BUCKET: ${S3_BUCKET:-attachments}
|
|
ports:
|
|
- "${GARAGE_S3_PORT:-3900}:3900"
|
|
- "${GARAGE_ADMIN_PORT:-3903}:3903"
|
|
volumes:
|
|
- ./docker/garage/garage.toml:/etc/garage.toml:ro
|
|
- ./data/garage/meta:/var/lib/garage/meta
|
|
- ./data/garage/data:/var/lib/garage/data
|