sozsoft-platform/configs/deployment/docker-compose-app.yml
2026-08-17 11:51:46 +03:00

78 lines
2 KiB
YAML

name: sozsoft-platform-app
networks:
db:
external: true
name: sozsoft-platform-data_db
volumes:
cdn:
api-keys:
sql-backups:
external: true
name: sozsoft-platform-data_sql-backups
services:
migrator:
labels:
- "keep=true"
image: devops.sozsoft.com/sozsoft/sozsoft-platform-migrator:latest
profiles: ["migrator"]
environment:
- ASPNETCORE_ENVIRONMENT=Dev
- SEED=${SEED}
volumes:
# Seed dosyalari imaja gomulmez; depodaki configs/seeds klasorunden mount edilir
# (App:SeedsPath). Boylece bir seed degistiginde imaj build etmek gerekmez,
# deploy sirasindaki git pull yeterlidir.
- ../seeds:/etc/api/seeds
networks:
- db
api:
image: devops.sozsoft.com/sozsoft/sozsoft-platform-api:latest
container_name: sozsoft-api
profiles: ["api"]
environment:
- ASPNETCORE_ENVIRONMENT=Dev
ports:
- 8080:8080
volumes:
- cdn:/etc/api/cdn
- sql-backups:/etc/api/cdn/host/backup
# Seed dosyalari: migrator ile ayni depo klasoru. File Manager uzerinden yapilan
# duzenleme dogrudan host diskine yazilir ve deploy'lar arasinda kalici olur.
- ../seeds:/etc/api/seeds
- api-keys:/root/.aspnet/DataProtection-Keys
# Surum notlari imaja gomulmez; deploy sirasinda git tag'lerinden uretilip
# buradan okunur (ChangeLogStartupService). Boylece yeni tag API imajini
# yeniden derletmez.
- ../change-logs:/etc/api/change-logs:ro
networks:
- db
- default
ui:
image: devops.sozsoft.com/sozsoft/sozsoft-platform-ui:latest
container_name: sozsoft-ui
profiles: ["ui"]
ports:
- 3002:80
volumes:
- /home/user/sozsoft.com:/etc/ssl/sozsoft.com:ro
networks:
- default
cdn:
image: tozlu/http-server:latest
container_name: sozsoft-cdn
profiles: ["ui"]
working_dir: /srv/http-server
volumes:
- cdn:/public
- sql-backups:/public/host/backup
command: "/public -c10 --cors"
ports:
- 8081:8080
networks:
- default