AliasVault
dev-add-app-user.sh aliasvault
>
aliasvault
> na
> na
/home/aliasvault/app/docker-compose.yml
services:
postgres:
image: ghcr.io/lanedirt/aliasvault-postgres:latest
container_name: aliasvault-postgres
hostname: aliasvault-postgres
volumes:
- /etc/svc/config/aliasvault/database/postgres:/var/lib/postgresql/data:rw
env_file:
- .env
restart: always
networks:
- proxy
- admin
healthcheck:
test: ["CMD-SHELL", "pg_isready -U aliasvault"]
interval: 5s
timeout: 5s
retries: 5
start_period: 10s
client:
image: ghcr.io/lanedirt/aliasvault-client:latest
container_name: aliasvault-client
hostname: aliasvault-client
volumes:
- /etc/svc/config/aliasvault/logs/msbuild:/apps/server/msbuild-logs:rw
expose:
- "3000"
restart: always
networks:
- proxy
- admin
env_file:
- .env
api:
image: ghcr.io/lanedirt/aliasvault-api:latest
container_name: aliasvault-api
hostname: aliasvault-api
expose:
- "3001"
volumes:
- /etc/svc/config/aliasvault/database:/database:rw
- /etc/svc/config/aliasvault/certificates/app:/certificates/app:rw
- /etc/svc/config/aliasvault/logs:/logs:rw
restart: always
networks:
- proxy
- admin
env_file:
- .env
depends_on:
postgres:
condition: service_healthy
environment:
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
admin:
image: ghcr.io/lanedirt/aliasvault-admin:latest
container_name: aliasvault-admin
hostname: aliasvault-admin
expose:
- "3002"
volumes:
- /etc/svc/config/aliasvault/database:/database:rw
- /etc/svc/config/aliasvault/certificates/app:/certificates/app:rw
- /etc/svc/config/aliasvault/logs:/logs:rw
restart: always
networks:
- proxy
- admin
env_file:
- .env
depends_on:
postgres:
condition: service_healthy
environment:
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
reverse-proxy:
image: ghcr.io/lanedirt/aliasvault-reverse-proxy:latest
container_name: aliasvault-reverse-proxy
hostname: aliasvault-reverse-proxy
ports:
- "${HTTP_PORT:-80}:80"
- "${HTTPS_PORT:-443}:443"
volumes:
- /etc/svc/config/aliasvault/certificates/ssl:/etc/nginx/ssl:rw
- /etc/svc/config/aliasvault/certificates/letsencrypt:/etc/nginx/ssl-letsencrypt:rw
- /etc/svc/config/aliasvault/certificates/letsencrypt/www:/var/www/certbot:rw
depends_on:
- admin
- client
- api
- smtp
restart: always
networks:
- proxy
- admin
environment:
- VIRTUAL_HOST=vault.pknw1.co.uk,vault.admin.pknw1.co.uk
- VIRTUAL_PORT=443
- VIRTUAL_PROTO=https
env_file:
- .env
smtp:
image: ghcr.io/lanedirt/aliasvault-smtp:latest
container_name: aliasvault-smtp
hostname: aliasvault-smtp
ports:
- "${SMTP_PORT:-25}:25"
- "${SMTP_TLS_PORT:-587}:587"
volumes:
- /etc/svc/config/aliasvault/database:/database:rw
- /etc/svc/config/aliasvault/logs:/logs:rw
restart: always
networks:
- proxy
- admin
env_file:
- .env
depends_on:
postgres:
condition: service_healthy
environment:
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
task-runner:
image: ghcr.io/lanedirt/aliasvault-task-runner:latest
container_name: aliasvault-task-runner
hostname: aliasvault-task-runner
volumes:
- /etc/svc/config/aliasvault/database:/database:rw
- /etc/svc/config/aliasvault/logs:/logs:rw
restart: always
networks:
- proxy
- admin
env_file:
- .env
depends_on:
postgres:
condition: service_healthy
environment:
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
networks:
proxy:
external: true
admin:
external: true