Files
tp/docker-compose.yaml
T
valitovgaziz c659dd0f4b modified: docker-compose.yaml
set ngixn config for use vue3 dist for production
2025-07-14 13:31:09 +05:00

165 lines
3.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
services:
db:
image: postgres:16
container_name: db
profiles:
- prod
env_file:
- .env
ports:
- "${PGPORT}:${PGPORT}"
volumes:
- postgres-db:/var/lib/postgresql/data
environment:
- POSTGRES_USER=${PGUSER}
- POSTGRES_PASSWORD=${PGPASSWORD}
- POSTGRES_DB=${PGDATABASE}
restart: unless-stopped
api:
container_name: api
build:
context: ./api
dockerfile: Dockerfile
profiles:
- prod
env_file:
- .env
ports:
- "${SERVER_PORT}:${SERVER_PORT}"
volumes:
- api:/usr/src/app
depends_on:
- db
command: ./bin/api
restart: unless-stopped
migrator:
container_name: migrator
profiles:
- prod
build:
context: ./migrator
dockerfile: Dockerfile
env_file:
- .env
depends_on:
- api
- db
volumes:
- goose:/migrations
command: goose up
spa:
container_name: spa
profiles:
- prod
build:
context: ./spa
dockerfile: Dockerfile
env_file:
- .env
nginx:
build:
context: ./nginx
dockerfile: Dockerfile
profiles:
- prod
- dev
env_file: .env
container_name: nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- certbot_data:/etc/letsencrypt
- certbot_www:/var/www/certbot
- ./spa/vue/dist:/usr/share/nginx/html
- ./valitovgaziz/html:/usr/share/nginx/valitovgaziz/html
networks:
- web-network
- internal
depends_on:
- certbot
certbot:
build:
context: ./certbot
dockerfile: Dockerfile
container_name: certbot
profiles:
- prod
- dev
volumes:
- ./certbot/config:/etc/letsencrypt/config
- certbot_data:/etc/letsencrypt
- certbot_www:/var/www/certbot
env_file:
- .env
environment:
- EMAIL=valitovgaziz@yandex.ru
- DOMAINS=yalarba.ru
- STAGING=0
restart: unless-stopped
keycloak:
build:
context: ./keycloak
dockerfile: Dockerfile
container_name: keycloak
ports:
- "8080:8080"
profiles:
- prod
- dev
- kk
environment:
KC_ADMIN: admin
KC_ADMIN_PASSWORD: admin
PROXY_ADDRESS_FORWARDING: true
KС_HTTPS_PORT: 8443
KС_HTTP_PORT: 8080
KС_LOGLEVEL: INFO
KС_HTTP_PROXY: true
KС_HTTPS_REDIRECT: false
KC_HOSTNAME_STRICT: false
KC_PROXY: passthrough
KC_HTTP_ENABLED: true
KC_HOSTNAME: yalarba.ru
KC_HOSTNAME_STRICT_BACKCHANNEL: false
KC_FRONTEND_URL: https://yalarba.ru/auth
command: start --optimized
networks:
- internal
kk_db:
image: postgres:16
container_name: kk_db
profiles:
- prod
- dev
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- keycloak-postgres:/var/lib/postgresql/data
networks:
- internal
volumes:
api:
postgres-db:
goose:
certbot_data:
certbot_www:
keycloak-postgres:
networks:
web-network:
driver: bridge
internal: