170 lines
4.9 KiB
YAML
170 lines
4.9 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
postgres:
|
|
image: ghcr.io/aliasvault/postgres:latest
|
|
container_name: aliasvault-postgres
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data:rw
|
|
- ./secrets:/secrets:ro
|
|
env_file:
|
|
- .env
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: aliasvault
|
|
POSTGRES_USER: aliasvault
|
|
POSTGRES_PASSWORD_FILE: /secrets/postgres_password
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U aliasvault"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 10s
|
|
labels:
|
|
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/5968/5968342.png"
|
|
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/5968/5968342.png"
|
|
icon: "https://cdn-icons-png.flaticon.com/512/5968/5968342.png"
|
|
networks:
|
|
- aliasvault-network
|
|
|
|
client:
|
|
image: ghcr.io/aliasvault/client:latest
|
|
container_name: aliasvault-client
|
|
volumes:
|
|
- ./logs/msbuild:/apps/server/msbuild-logs:rw
|
|
expose:
|
|
- "3000"
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
labels:
|
|
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/5968/5968267.png"
|
|
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/5968/5968267.png"
|
|
icon: "https://cdn-icons-png.flaticon.com/512/5968/5968267.png"
|
|
networks:
|
|
- aliasvault-network
|
|
|
|
api:
|
|
image: ghcr.io/aliasvault/api:latest
|
|
container_name: aliasvault-api
|
|
expose:
|
|
- "3001"
|
|
volumes:
|
|
- database_data:/database:rw
|
|
- logs_data:/logs:rw
|
|
- ./secrets:/secrets:ro
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
labels:
|
|
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/1006/1006771.png"
|
|
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/1006/1006771.png"
|
|
icon: "https://cdn-icons-png.flaticon.com/512/1006/1006771.png"
|
|
networks:
|
|
- aliasvault-network
|
|
|
|
admin:
|
|
image: ghcr.io/aliasvault/admin:latest
|
|
container_name: aliasvault-admin
|
|
expose:
|
|
- "3002"
|
|
volumes:
|
|
- database_data:/database:rw
|
|
- logs_data:/logs:rw
|
|
- ./secrets:/secrets:ro
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
labels:
|
|
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/1828/1828504.png"
|
|
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/1828/1828504.png"
|
|
icon: "https://cdn-icons-png.flaticon.com/512/1828/1828504.png"
|
|
networks:
|
|
- aliasvault-network
|
|
|
|
smtp:
|
|
image: ghcr.io/aliasvault/smtp:latest
|
|
container_name: aliasvault-smtp
|
|
ports:
|
|
- "${SMTP_PORT:-25}:25"
|
|
- "${SMTP_TLS_PORT:-587}:587"
|
|
volumes:
|
|
- database_data:/database:rw
|
|
- logs_data:/logs:rw
|
|
- ./secrets:/secrets:ro
|
|
- ./certificates/smtp:/certificates/smtp:ro
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
labels:
|
|
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/732/732200.png"
|
|
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/732/732200.png"
|
|
icon: "https://cdn-icons-png.flaticon.com/512/732/732200.png"
|
|
networks:
|
|
- aliasvault-network
|
|
|
|
task-runner:
|
|
image: ghcr.io/aliasvault/task-runner:latest
|
|
container_name: aliasvault-task-runner
|
|
volumes:
|
|
- database_data:/database:rw
|
|
- logs_data:/logs:rw
|
|
- ./secrets:/secrets:ro
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
labels:
|
|
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/3135/3135715.png"
|
|
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/3135/3135715.png"
|
|
icon: "https://cdn-icons-png.flaticon.com/512/3135/3135715.png"
|
|
networks:
|
|
- aliasvault-network
|
|
|
|
reverse-proxy:
|
|
image: ghcr.io/aliasvault/reverse-proxy:latest
|
|
container_name: aliasvault-reverse-proxy
|
|
ports:
|
|
- "${HTTP_PORT:-80}:80"
|
|
- "${HTTPS_PORT:-443}:443"
|
|
volumes:
|
|
- ./certificates/ssl:/etc/nginx/ssl:rw
|
|
- ./certificates/letsencrypt:/etc/nginx/ssl-letsencrypt:rw
|
|
- ./certificates/letsencrypt/www:/var/www/certbot:rw
|
|
depends_on:
|
|
- admin
|
|
- client
|
|
- api
|
|
- smtp
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
labels:
|
|
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/2282/2282188.png"
|
|
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/2282/2282188.png"
|
|
icon: "https://cdn-icons-png.flaticon.com/512/2282/2282188.png"
|
|
networks:
|
|
- aliasvault-network
|
|
|
|
volumes:
|
|
postgres_data:
|
|
driver: local
|
|
database_data:
|
|
driver: local
|
|
logs_data:
|
|
driver: local
|
|
|
|
networks:
|
|
aliasvault-network:
|
|
driver: bridge |