mirror of
https://github.com/okxlin/appstore.git
synced 2026-09-24 16:01:02 +00:00
69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
services:
|
|
wealthfolio:
|
|
image: "wealthfolio/wealthfolio:3.8.0@sha256:3c6f117828949204029c2b4a391f039e62987b4e091139e11b04e6764b5f6866"
|
|
container_name: ${CONTAINER_NAME}
|
|
restart: unless-stopped
|
|
user: "0:0"
|
|
entrypoint:
|
|
- /bin/sh
|
|
- -ec
|
|
- >-
|
|
chown 1000:1000 /data /data/.runtime-env;
|
|
runtime_secret="$$(sed -n "s/^WF_SECRET_KEY='\([^']*\)'$/\1/p"
|
|
/data/.runtime-env | tail -n 1)";
|
|
runtime_hash="$$(sed -n "s/^WF_AUTH_PASSWORD_HASH='\([^']*\)'$/\1/p"
|
|
/data/.runtime-env | tail -n 1)";
|
|
printf '%s\n' "$$runtime_secret" | grep -Eq
|
|
'^([A-Za-z0-9._~-]{32}|[A-Za-z0-9+/]{43}=)$';
|
|
printf '%s\n' "$$runtime_hash" | grep -Eq
|
|
'^\$$argon2id\$$v=19\$$m=65536,t=3,p=1\$$[A-Za-z0-9+/]+={0,2}\$$[A-Za-z0-9+/]+={0,2}$$';
|
|
export WF_SECRET_KEY="$$runtime_secret";
|
|
export WF_AUTH_PASSWORD_HASH="$$runtime_hash";
|
|
exec su -p -s /bin/sh wealthfolio -c
|
|
'exec /usr/local/bin/wealthfolio-server'
|
|
networks:
|
|
- 1panel-network
|
|
ports:
|
|
- "${PANEL_APP_PORT_HTTP}:8088"
|
|
environment:
|
|
- WF_LISTEN_ADDR=0.0.0.0:8088
|
|
- WF_DB_PATH=/data/wealthfolio.db
|
|
- WF_AUTH_REQUIRED=true
|
|
- WF_AUTH_TOKEN_TTL_MINUTES=60
|
|
- WF_COOKIE_SECURE=auto
|
|
- WF_CORS_ALLOW_ORIGINS=http://localhost:${PANEL_APP_PORT_HTTP},http://127.0.0.1:${PANEL_APP_PORT_HTTP}
|
|
- WF_REQUEST_TIMEOUT_MS=30000
|
|
- WF_MCP_ENABLED=false
|
|
cap_drop:
|
|
- ALL
|
|
cap_add:
|
|
- CHOWN
|
|
- DAC_OVERRIDE
|
|
- SETUID
|
|
- SETGID
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp:nodev,noexec,nosuid,size=64M
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- wget
|
|
- --quiet
|
|
- --tries=1
|
|
- --spider
|
|
- http://127.0.0.1:8088/api/v1/healthz
|
|
interval: 30s
|
|
timeout: 10s
|
|
start_period: 15s
|
|
retries: 3
|
|
volumes:
|
|
- "${APP_DATA_DIR}:/data"
|
|
labels:
|
|
createdBy: "Apps"
|
|
|
|
networks:
|
|
1panel-network:
|
|
external: true
|