Initial commit: AliasVault VPS deployment configuration
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
networks:
|
||||
- aliasvault-network
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
driver: local
|
||||
database_data:
|
||||
driver: local
|
||||
logs_data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
aliasvault-network:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user