AliasVault [self hosted password manager with built in Mail server]
AliasVault
Self Hosted Password Manager with a WebUI (https://vault.pknw1.co.uk) and WebPlugins (https://vault.pknw1.co.uk/api)
fc5d1d3b4cee aliasvault-reverse-proxy Up 5 minutes ghcr.io/lanedirt/aliasvault-reverse-proxy:latest
fab3e0d8266d aliasvault-task-runner Up 5 minutes ghcr.io/lanedirt/aliasvault-task-runner:latest
d45c2279afdd aliasvault-api Up 6 minutes ghcr.io/lanedirt/aliasvault-api:latest
18e42a61d967 aliasvault-admin Up 6 minutes ghcr.io/lanedirt/aliasvault-admin:latest
97f0ae6545f5 aliasvault-smtp Up 5 minutes ghcr.io/lanedirt/aliasvault-smtp:latest
73c793840a09 aliasvault-postgres Up 6 minutes (healthy) ghcr.io/lanedirt/aliasvault-postgres:latest
80deea0a719a aliasvault-client Up 6 minutes ghcr.io/lanedirt/aliasvault-client:latest
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
backup: borg-docker-auto.sh aliasvault
restore: git clone git@github.com:pknw1-config/borg-aliasvault.git /etc/svc/config/aliasvault