93 lines
2.9 KiB
YAML
93 lines
2.9 KiB
YAML
# documentation: https://github.com/Smaug6739/Alexandrie/tree/main/docs
|
|
# slogan: A powerful Markdown workspace designed for speed, clarity, and creativity.
|
|
# category: productivity
|
|
# tags: note-taking, markdown, knowledge-management, personal-wiki, productivity
|
|
# logo: svgs/alexandrie.svg
|
|
# port: 8200
|
|
|
|
services:
|
|
frontend:
|
|
image: ghcr.io/smaug6739/alexandrie-frontend:v8.4.1
|
|
environment:
|
|
- SERVICE_URL_FRONTEND_8200
|
|
- PORT=8200
|
|
- NUXT_PUBLIC_CONFIG_DISABLE_SIGNUP_PAGE=${CONFIG_DISABLE_SIGNUP:-false}
|
|
- NUXT_PUBLIC_CONFIG_DISABLE_LANDING_PAGE=${CONFIG_DISABLE_LANDING:-false}
|
|
- NUXT_PUBLIC_BASE_API=${SERVICE_URL_BACKEND}
|
|
- NUXT_PUBLIC_BASE_CDN=${SERVICE_URL_RUSTFS}
|
|
- NUXT_PUBLIC_CDN_ENDPOINT=${CDN_ENDPOINT:-/alexandrie/}
|
|
- NUXT_PUBLIC_BASE_URL=${SERVICE_URL_FRONTEND}
|
|
depends_on:
|
|
- backend
|
|
|
|
backend:
|
|
image: ghcr.io/smaug6739/alexandrie-backend:v8.4.1
|
|
environment:
|
|
- SERVICE_URL_BACKEND_8201
|
|
- BACKEND_PORT=8201
|
|
- GIN_MODE=release
|
|
- JWT_SECRET=${SERVICE_PASSWORD_JWT}
|
|
- COOKIE_DOMAIN=${SERVICE_URL_FRONTEND}
|
|
- FRONTEND_URL=${SERVICE_URL_FRONTEND}
|
|
- ALLOW_UNSECURE=${ALLOW_UNSECURE:-false}
|
|
- DATABASE_HOST=mysql
|
|
- DATABASE_PORT=3306
|
|
- DATABASE_NAME=${MYSQL_DATABASE:-alexandrie-db}
|
|
- DATABASE_USER=${SERVICE_USER_MYSQL}
|
|
- DATABASE_PASSWORD=${SERVICE_PASSWORD_MYSQL}
|
|
- MINIO_ENDPOINT=rustfs:9000
|
|
- MINIO_PUBLIC_URL=${SERVICE_URL_RUSTFS}
|
|
- MINIO_SECURE=${MINIO_SECURE:-false}
|
|
- MINIO_ACCESSKEY=${SERVICE_USER_RUSTFS}
|
|
- MINIO_SECRETKEY=${SERVICE_PASSWORD_RUSTFS}
|
|
- MINIO_BUCKET=${MINIO_BUCKET:-alexandrie}
|
|
- SMTP_HOST=${SMTP_HOST:-}
|
|
- SMTP_MAIL=${SMTP_MAIL:-}
|
|
- SMTP_PASSWORD=${SMTP_PASSWORD:-}
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
rustfs:
|
|
condition: service_healthy
|
|
|
|
mysql:
|
|
image: mysql:8.0
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT}
|
|
- MYSQL_USER=${SERVICE_USER_MYSQL}
|
|
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE:-alexandrie-db}
|
|
volumes:
|
|
- mysql-data:/var/lib/mysql
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- mysqladmin
|
|
- ping
|
|
- "-h"
|
|
- localhost
|
|
- "-u"
|
|
- root
|
|
- "-p${SERVICE_PASSWORD_MYSQLROOT}"
|
|
timeout: 5s
|
|
interval: 10s
|
|
retries: 5
|
|
|
|
rustfs:
|
|
image: rustfs/rustfs:1.0.0-alpha.81
|
|
environment:
|
|
- SERVICE_URL_RUSTFS_9000
|
|
- RUSTFS_ACCESS_KEY=${SERVICE_USER_RUSTFS}
|
|
- RUSTFS_SECRET_KEY=${SERVICE_PASSWORD_RUSTFS}
|
|
- RUSTFS_CONSOLE_ENABLE=${RUSTFS_CONSOLE_ENABLE:-false}
|
|
- RUSTFS_LOG_LEVEL=${RUSTFS_LOG_LEVEL:-info}
|
|
volumes:
|
|
- rustfs-data:/data
|
|
- rustfs-logs:/logs
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- "nc -z localhost 9000 || exit 1"
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|