File: //data/silvera-firewall-app/docker-compose.yml
version: '3.8'
services:
database:
image: postgres:15
container_name: silvera-firewall-db
restart: unless-stopped
environment:
POSTGRES_DB: silvera_firewall
POSTGRES_USER: admin
POSTGRES_PASSWORD: silvera_firewall_2024
volumes:
- postgres_data:/var/lib/postgresql/data
- ./database/init.sql:/docker-entrypoint-initdb.d/init.sql
ports:
- '54321:5432'
networks:
- firewall-network
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: silvera-firewall-backend
restart: unless-stopped
environment:
- NODE_ENV=production
- DB_HOST=database
- DB_PORT=5432
- DB_NAME=silvera_firewall
- DB_USER=admin
- DB_PASS=silvera_firewall_2024
- JWT_SECRET=silvera_firewall_jwt_secret_2024
volumes:
- /usr/sbin/bitninjacli:/usr/sbin/bitninjacli:ro
- /etc/bitninja:/etc/bitninja:ro
- ./bitninja_bridge:/app/bitninja_bridge
ports:
- '22001:3001'
depends_on:
- database
networks:
- firewall-network
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: silvera-firewall-frontend
restart: unless-stopped
ports:
- '22000:80'
depends_on:
- backend
networks:
- firewall-network
volumes:
postgres_data:
networks:
firewall-network:
driver: bridge