Files
ppanel-script/compose.yaml
2025-07-23 08:44:23 +00:00

98 lines
2.0 KiB
YAML

services:
ppanel-db:
image: mysql:8.4.5
container_name: ppanel-db
restart: always
networks:
- ppanel-network
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: ppanel
MYSQL_USER: ppanel
MYSQL_PASSWORD: ppanelpassword
volumes:
- ./db:/var/lib/mysql
command:
- --mysql-native-password=on
- --bind-address=0.0.0.0
healthcheck:
test:
[
"CMD",
"mysqladmin",
"ping",
"-h",
"localhost",
"-uroot",
"-prootpassword",
]
interval: 10s
timeout: 5s
retries: 3
ppanel-cache:
image: redis:7.4.5
container_name: ppanel-cache
restart: always
networks:
- ppanel-network
ports:
- 6379:6379
volumes:
- ./cache:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 3
ppanel-server:
image: ppanel/ppanel-server:latest
container_name: ppanel-server
restart: always
networks:
- ppanel-network
ports:
- 8080:8080
depends_on:
ppanel-db:
condition: service_healthy
ppanel-cache:
condition: service_healthy
volumes:
- ./config/ppanel.yaml:/app/etc/ppanel.yaml
ppanel-admin:
image: ppanel/ppanel-admin-web:latest
container_name: ppanel-admin-web
restart: always
networks:
- ppanel-network
ports:
- 3001:3000
environment:
NEXT_PUBLIC_API_URL: http://localhost:8080
depends_on:
ppanel-server:
condition: service_started
ppanel-user:
image: ppanel/ppanel-user-web:latest
container_name: ppanel-user-web
restart: always
networks:
- ppanel-network
ports:
- 3002:3000
environment:
NEXT_PUBLIC_API_URL: http://localhost:8080
depends_on:
ppanel-server:
condition: service_started
networks:
ppanel-network:
driver: bridge