Standardize indentation to a consistent hierarchy and declare the homelab network as an external resource.
59 lines
1.5 KiB
YAML
59 lines
1.5 KiB
YAML
services:
|
|
# PostgreSQL Database
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: memos-postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: memos
|
|
POSTGRES_USER: memos
|
|
POSTGRES_PASSWORD: zcA3LEfW
|
|
PGDATA: /var/lib/postgresql/data/pgdata
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U memos -d memos"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- homelab
|
|
|
|
# Memos Application
|
|
memos:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: memos-app
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8081:8081"
|
|
environment:
|
|
# Database configuration
|
|
MEMOS_DRIVER: postgres
|
|
MEMOS_DSN: "postgres://memos:zcA3LEfW@postgres:5432/memos?sslmode=disable"
|
|
|
|
# Application configuration
|
|
MEMOS_MODE: prod
|
|
MEMOS_PORT: 8081
|
|
MEMOS_DATA: /var/opt/memos
|
|
|
|
# Optional: Set your instance URL
|
|
# MEMOS_INSTANCE_URL: "https://your-domain.com"
|
|
volumes:
|
|
- memos_data:/var/opt/memos
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
networks:
|
|
- homelab
|
|
|
|
volumes:
|
|
postgres_data:
|
|
driver: local
|
|
memos_data:
|
|
driver: local
|
|
networks:
|
|
homelab:
|
|
external: true
|