diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..24f9f8d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.env +data/ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2fb24f4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,61 @@ +version: '3' + +services: + postgres: + image: postgres:latest + environment: + - POSTGRES_USER=bitwarden + - POSTGRES_PASSWORD + - POSTGRES_DB=bitwardendb + volumes: + - ./data/postgres:/var/lib/postgresql/data/ + restart: always + healthcheck: + #test: ["CMD-SHELL", "pg_isready -U bitwarden"] + test: pg_isready -U bitwarden -d bitwardendb + interval: 10s + timeout: 5s + retries: 5 + + vaultwarden: + image: vaultwarden/server:latest + restart: always + ports: + - 127.0.0.1:81:80 + - 127.0.0.1:3012:3012 + environment: + - WEBSOCKET_ENABLED=true # Enable WebSocket notifications. + - DATABASE_URL=postgresql://bitwarden:${POSTGRES_PASSWORD}@postgres:5432/bitwardendb + #- ADMIN_TOKEN + volumes: + - ./data/vaultwarden:/data + depends_on: + postgres: + condition: service_healthy + + borgmatic: + image: b3vis/borgmatic:latest + restart: always + volumes: + - ./data/vaultwarden:/mnt/source/vw-data:ro + - ./data/borgmatic/etc:/etc/borgmatic.d:Z + - ./data/borgmatic/state:/root/.config/borg:Z + - ./data/borgmatic/ssh:/root/.ssh:Z + environment: + - TZ=America/Chicago + - BORG_PASSPHRASE + depends_on: + postgres: + condition: service_healthy + vaultwarden: + condition: service_healthy + + #pgadmin: + # image: dpage/pgadmin4:latest + # environment: + # - PGADMIN_DEFAULT_EMAIL + # - PGADMIN_DEFAULT_PASSWORD + # ports: + # - 8889:80 + # depends_on: + # - postgres