Files
sides/docker-compose.yml
2023-08-01 20:02:08 +07:00

89 lines
1.7 KiB
YAML

version: "3.9"
networks:
aselole:
name: aselole
services:
app:
container_name: aselole-app
build:
context: .
dockerfile: Dockerfile
volumes:
- ./src:/var/www/html
depends_on:
- postgres
networks:
- aselole
postgres:
container_name: aselole-db
image: postgres:15
restart: always
volumes:
- ./docker/postgres/data:/var/lib/postgres/data
environment:
- POSTGRES_DB_FILE=/run/secrets/app_db_name
- POSTGRES_USER_FILE=/run/secrets/app_db_user
- POSTGRES_PASSWORD_FILE=/run/secrets/app_db_password
secrets:
- app_db_name
- app_db_user
- app_db_password
ports:
- "5432:5432"
networks:
- aselole
web:
container_name: aselole-web
image: nginx:stable-alpine
restart: always
ports:
- "81:80"
- "5173:80"
volumes:
- ./src:/var/www/html
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
networks:
- aselole
# Database management with pgAdmin
pgadmin:
image: dpage/pgadmin4
container_name: aselole-pgAdmin
environment:
- PGADMIN_DEFAULT_EMAIL=agung@gmail.com
- PGADMIN_DEFAULT_PASSWORD_FILE=/run/secrets/app_pgadmin_password
secrets:
- app_pgadmin_password
ports:
- "5050:80"
depends_on:
- postgres
networks:
- aselole
# Database management with Adminer
adminer:
container_name: aselole-adminer
image: adminer
restart: always
ports:
- "8080:8080"
depends_on:
- postgres
networks:
- aselole
secrets:
app_db_name:
external: true
app_db_user:
external: true
app_db_password:
external: true
app_pgadmin_password:
external: true