add umami and planka
This commit is contained in:
50
planka/docker-compose-v1.yml
Normal file
50
planka/docker-compose-v1.yml
Normal file
@@ -0,0 +1,50 @@
|
||||
services:
|
||||
planka:
|
||||
image: ghcr.io/plankanban/planka:1.26.3
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./user-avatars:/app/public/user-avatars
|
||||
- ./project-background-images:/app/public/project-background-images
|
||||
- ./attachments:/app/private/attachments
|
||||
ports:
|
||||
- 3000:1337
|
||||
environment:
|
||||
- BASE_URL=http://localhost:3000
|
||||
- DATABASE_URL=postgresql://postgres@postgres/planka
|
||||
- SECRET_KEY=fcd418de1fcc0fd57d06971659f8d2d087148edf2d740f00e50a6f25ec8b2cbfa5dbb73ed51a24eb84ea4fcb0a0188552ba301fd6372cf045d9cc0fb7d8e2c11
|
||||
|
||||
# - LOG_LEVEL=warn
|
||||
|
||||
# - TRUST_PROXY=0
|
||||
# - TOKEN_EXPIRES_IN=365 # In days
|
||||
|
||||
# related: https://github.com/knex/knex/issues/2354
|
||||
# As knex does not pass query parameters from the connection string we
|
||||
# have to use environment variables in order to pass the desired values, e.g.
|
||||
# - PGSSLMODE=<value>
|
||||
|
||||
# Configure knex to accept SSL certificates
|
||||
# - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false
|
||||
|
||||
- DEFAULT_ADMIN_EMAIL=demo@demo.demo # 修改管理员邮箱
|
||||
- DEFAULT_ADMIN_PASSWORD=demo # 修改管理员密码
|
||||
- DEFAULT_ADMIN_NAME=Demo Demo
|
||||
- DEFAULT_ADMIN_USERNAME=demo # 修改管理员用户名
|
||||
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./db-data:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_DB=planka
|
||||
- POSTGRES_HOST_AUTH_METHOD=trust
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
127
planka/docker-compose-v2.yml
Normal file
127
planka/docker-compose-v2.yml
Normal file
@@ -0,0 +1,127 @@
|
||||
services:
|
||||
planka:
|
||||
image: ghcr.io/plankanban/planka:2.0.0-rc.4
|
||||
restart: on-failure
|
||||
# 需对文件夹授权chown -R 1000:1000 /home/planka/
|
||||
volumes:
|
||||
- ./favicons:/app/public/favicons
|
||||
- ./user-avatars:/app/public/user-avatars
|
||||
- ./background-images:/app/public/background-images
|
||||
- ./attachments:/app/private/attachments
|
||||
ports:
|
||||
- 3000:1337
|
||||
environment:
|
||||
- BASE_URL=http://localhost:3000
|
||||
- DATABASE_URL=postgresql://postgres@postgres/planka
|
||||
|
||||
# Optionally store the database password in secrets:
|
||||
# - DATABASE_URL=postgresql://postgres:$${DATABASE_PASSWORD}@postgres/planka
|
||||
# - DATABASE_PASSWORD__FILE=/run/secrets/database_password
|
||||
# And add the following to the service:
|
||||
# secrets:
|
||||
# - database_password
|
||||
|
||||
- SECRET_KEY=notsecretkey # 执行openssl rand -hex 64
|
||||
# Optionally store in secrets - then SECRET_KEY should not be set
|
||||
# - SECRET_KEY__FILE=/run/secrets/secret_key
|
||||
|
||||
# - LOG_LEVEL=warn
|
||||
|
||||
# - TRUST_PROXY=true
|
||||
# - MAX_UPLOAD_FILE_SIZE=
|
||||
# - TOKEN_EXPIRES_IN=365 # In days
|
||||
|
||||
# related: https://github.com/knex/knex/issues/2354
|
||||
# As knex does not pass query parameters from the connection string,
|
||||
# we have to use environment variables in order to pass the desired values, e.g.
|
||||
# - PGSSLMODE=<value>
|
||||
|
||||
# Configure knex to accept SSL certificates
|
||||
# - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false
|
||||
|
||||
# The default application language used as a fallback when a user's language is not set.
|
||||
# This language is also used for per-board notifications.
|
||||
# - DEFAULT_LANGUAGE=en-US
|
||||
|
||||
# Do not comment out DEFAULT_ADMIN_EMAIL if you want to prevent this user from being edited/deleted
|
||||
# - DEFAULT_ADMIN_EMAIL=demo@demo.demo
|
||||
# - DEFAULT_ADMIN_PASSWORD=demo
|
||||
# Optionally store in secrets - then DEFAULT_ADMIN_PASSWORD should not be set
|
||||
# - DEFAULT_ADMIN_PASSWORD__FILE=/run/secrets/default_admin_password
|
||||
# - DEFAULT_ADMIN_NAME=Demo Demo
|
||||
# - DEFAULT_ADMIN_USERNAME=demo
|
||||
|
||||
# - INTERNAL_ACCESS_TOKEN=
|
||||
# - STORAGE_LIMIT=
|
||||
# - ACTIVE_USERS_LIMIT=
|
||||
# - CUSTOMER_PANEL_URL=
|
||||
|
||||
# Set to true to show more detailed authentication error messages.
|
||||
# It should not be enabled without a rate limiter for security reasons.
|
||||
# - SHOW_DETAILED_AUTH_ERRORS=false
|
||||
|
||||
# - S3_ENDPOINT=
|
||||
# - S3_REGION=
|
||||
# - S3_ACCESS_KEY_ID=
|
||||
# - S3_SECRET_ACCESS_KEY=
|
||||
# Optionally store in secrets - then S3_SECRET_ACCESS_KEY should not be set
|
||||
# - S3_SECRET_ACCESS_KEY__FILE=/run/secrets/s3_secret_access_key
|
||||
# - S3_BUCKET=
|
||||
# - S3_FORCE_PATH_STYLE=true
|
||||
|
||||
# - OIDC_ISSUER=
|
||||
# - OIDC_CLIENT_ID=
|
||||
# - OIDC_CLIENT_SECRET=
|
||||
# Optionally store in secrets - then OIDC_CLIENT_SECRET should not be set
|
||||
# - OIDC_CLIENT_SECRET__FILE=/run/secrets/oidc_client_secret
|
||||
# - OIDC_USE_OAUTH_CALLBACK=true
|
||||
# - OIDC_ID_TOKEN_SIGNED_RESPONSE_ALG=
|
||||
# - OIDC_USERINFO_SIGNED_RESPONSE_ALG=
|
||||
# - OIDC_SCOPES=openid email profile
|
||||
# - OIDC_RESPONSE_MODE=fragment
|
||||
# - OIDC_USE_DEFAULT_RESPONSE_MODE=true
|
||||
# - OIDC_ADMIN_ROLES=admin
|
||||
# - OIDC_PROJECT_OWNER_ROLES=project_owner
|
||||
# - OIDC_BOARD_USER_ROLES=board_user
|
||||
# - OIDC_CLAIMS_SOURCE=userinfo
|
||||
# - OIDC_EMAIL_ATTRIBUTE=email
|
||||
# - OIDC_NAME_ATTRIBUTE=name
|
||||
# - OIDC_USERNAME_ATTRIBUTE=preferred_username
|
||||
# - OIDC_ROLES_ATTRIBUTE=groups
|
||||
# - OIDC_IGNORE_USERNAME=true
|
||||
# - OIDC_IGNORE_ROLES=true
|
||||
# - OIDC_ENFORCED=true
|
||||
|
||||
# Email Notifications (https://nodemailer.com/smtp/)
|
||||
# These values override and disable configuration in the UI if set.
|
||||
# - SMTP_HOST=
|
||||
# - SMTP_PORT=587
|
||||
# - SMTP_NAME=
|
||||
# - SMTP_SECURE=true
|
||||
# - SMTP_TLS_REJECT_UNAUTHORIZED=false
|
||||
# - SMTP_USER=
|
||||
# - SMTP_PASSWORD=
|
||||
# Optionally store in secrets - then SMTP_PASSWORD should not be set
|
||||
# - SMTP_PASSWORD__FILE=/run/secrets/smtp_password
|
||||
# - SMTP_FROM="Demo Demo" <demo@demo.demo>
|
||||
|
||||
# Using Gravatar directly exposes user IPs and hashed emails to a third party (GDPR risk).
|
||||
# Use a proxy you control for privacy, or leave commented out or empty to disable.
|
||||
# - GRAVATAR_BASE_URL=https://www.gravatar.com/avatar/
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./db-data:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_DB=planka
|
||||
- POSTGRES_HOST_AUTH_METHOD=trust
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
34
umami/docker-compose.yml
Normal file
34
umami/docker-compose.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
services:
|
||||
umami:
|
||||
image: umami-software/umami:3.0.3
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
DATABASE_URL: postgresql://umami:umami@db:5432/umami # 修改密码
|
||||
APP_SECRET: replace-me-with-a-random-string
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
init: true
|
||||
restart: always
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
environment:
|
||||
POSTGRES_DB: umami
|
||||
POSTGRES_USER: umami
|
||||
POSTGRES_PASSWORD: umami # 修改密码
|
||||
volumes:
|
||||
- umami-db-data:/var/lib/postgresql/data
|
||||
restart: always
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
volumes:
|
||||
umami-db-data:
|
||||
Reference in New Issue
Block a user