docker-compose.yml
Rama main · réplica de lectura del repositorio original.
services:
pastebox:
image: ghcr.io/kmw0410/pastebox:latest
container_name: pastebox
restart: unless-stopped
stop_grace_period: 40s
ports:
- "8080:8080"
environment:
# Optional. Set this only if you want to override Alpine repositories inside the container.
# Example: "https://example-mirror.com/alpine"
MIRROR_URL: "https://mirror5.krfoss.org/alpine"
# The default time zone is Asia/Seoul (GMT +9). Change it as needed.
# TZ: "Asia/Seoul"
# Match these to the host user that should own ./data, for example UID: "1000" and GID: "1000".
# UID: "1000"
# GID: "1000"
LANGUAGE: "en" # value: ko/en
# Optional Discord webhook URL for paste create/clone/delete notifications.
# DISCORD_WEBHOOK: "https://discord.com/api/webhooks/..."
# Paste content storage backend. Use "local" for /paste-data files or "mysql" for an external MySQL/MariaDB database.
STORAGE_BACKEND: "local" # value: local/mysql
# Required only when STORAGE_BACKEND=mysql. Keep parseTime=true and utf8mb4 options for compatibility.
# MYSQL_DSN: "pastebox:pastebox@tcp(mysql.example.com:3306)/pastebox?parseTime=true&charset=utf8mb4&collation=utf8mb4_unicode_ci"
# Optional zstd compression level for DB-mode paste content. Default is 3.
# DB_ZSTD_LEVEL: "3"
# When STORAGE_BACKEND=mysql, migrate existing local paste files into MySQL on startup.
# MIGRATE_LOCAL_PASTES: "true"
# When STORAGE_BACKEND=mysql, migrate the existing SQLite admin account into MySQL on startup.
# MIGRATE_SQLITE_ADMIN_ACCOUNTS: "true"
# Default admin reset token. Change this value before production use.
ADMIN_RESET_TOKEN: "41345bfc5d9ab9e6e4c8d2e1b90e129af9cc472286954beeddb51c9b2beaf1d5b4eb3f10ae872ba1db4ef7e3f6fe1b474cdbe3aeeee9323a5b9ca99edf224883"
volumes:
- ./data:/paste-data
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://127.0.0.1:8080/healthz || exit 1"]
interval: 30s
timeout: 3s
retries: 3
start_period: 10s