mirror of
https://github.com/okxlin/appstore.git
synced 2026-09-23 08:01:00 +00:00
Update the official cache image to Valkey 9.1.1 and use app-prefixed internal DNS aliases so Weblate cannot resolve generic dependency names from the shared 1Panel network. Document non-destructive cache and database upgrade precautions.
98 lines
2.7 KiB
YAML
98 lines
2.7 KiB
YAML
services:
|
|
cache:
|
|
image: "valkey/valkey:9.1.1"
|
|
container_name: ${CONTAINER_NAME}-cache
|
|
restart: always
|
|
read_only: true
|
|
command: ["valkey-server", "--save", "60", "1", "--loglevel", "warning"]
|
|
networks:
|
|
weblate-network:
|
|
aliases:
|
|
- weblate-cache
|
|
volumes:
|
|
- "${APP_DATA_DIR}/redis:/data"
|
|
healthcheck:
|
|
test: ["CMD", "valkey-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
labels:
|
|
createdBy: "Apps"
|
|
|
|
database:
|
|
image: "postgres:18-alpine"
|
|
container_name: ${CONTAINER_NAME}-db
|
|
restart: always
|
|
networks:
|
|
weblate-network:
|
|
aliases:
|
|
- weblate-database
|
|
environment:
|
|
- POSTGRES_USER=weblate
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_DB=weblate
|
|
volumes:
|
|
- "${APP_DATA_DIR}/postgres:/var/lib/postgresql"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U weblate -d weblate"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
labels:
|
|
createdBy: "Apps"
|
|
|
|
weblate:
|
|
image: "weblate/weblate:latest"
|
|
container_name: ${CONTAINER_NAME}
|
|
restart: always
|
|
read_only: true
|
|
depends_on:
|
|
cache:
|
|
condition: service_healthy
|
|
database:
|
|
condition: service_healthy
|
|
networks:
|
|
- 1panel-network
|
|
- weblate-network
|
|
ports:
|
|
- "${PANEL_APP_PORT_HTTP}:8080"
|
|
environment:
|
|
- TZ=${TZ}
|
|
- WEBLATE_DEBUG=0
|
|
- WEBLATE_LOGLEVEL=INFO
|
|
- WEBLATE_SITE_TITLE=${WEBLATE_SITE_TITLE}
|
|
- WEBLATE_SITE_DOMAIN=${WEBLATE_SITE_DOMAIN}
|
|
- WEBLATE_ADMIN_NAME=${WEBLATE_ADMIN_NAME}
|
|
- WEBLATE_ADMIN_EMAIL=${WEBLATE_ADMIN_EMAIL}
|
|
- WEBLATE_ADMIN_PASSWORD=${WEBLATE_ADMIN_PASSWORD}
|
|
- WEBLATE_SERVER_EMAIL=${WEBLATE_SERVER_EMAIL}
|
|
- WEBLATE_DEFAULT_FROM_EMAIL=${WEBLATE_DEFAULT_FROM_EMAIL}
|
|
- WEBLATE_ALLOWED_HOSTS=${WEBLATE_ALLOWED_HOSTS}
|
|
- WEBLATE_REGISTRATION_OPEN=${WEBLATE_REGISTRATION_OPEN}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_USER=weblate
|
|
- POSTGRES_DB=weblate
|
|
- POSTGRES_HOST=weblate-database
|
|
- POSTGRES_PORT=5432
|
|
- POSTGRES_DATABASE=weblate
|
|
- REDIS_HOST=weblate-cache
|
|
- REDIS_PORT=6379
|
|
- WEBLATE_EMAIL_HOST=${WEBLATE_EMAIL_HOST}
|
|
- WEBLATE_EMAIL_HOST_USER=${WEBLATE_EMAIL_HOST_USER}
|
|
- WEBLATE_EMAIL_HOST_PASSWORD=${WEBLATE_EMAIL_HOST_PASSWORD}
|
|
- CLIENT_MAX_BODY_SIZE=1000M
|
|
volumes:
|
|
- "${APP_DATA_DIR}/weblate-data:/app/data"
|
|
- "${APP_DATA_DIR}/weblate-cache:/app/cache"
|
|
tmpfs:
|
|
- /run
|
|
- /tmp
|
|
labels:
|
|
createdBy: "Apps"
|
|
|
|
networks:
|
|
1panel-network:
|
|
external: true
|
|
weblate-network:
|
|
driver: bridge
|