Initial commit: AliasVault VPS deployment configuration

This commit is contained in:
Hermes Agent
2026-05-04 08:59:43 +00:00
commit ca82784d05
4 changed files with 485 additions and 0 deletions
+142
View File
@@ -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