mirror of
https://github.com/aliasvault/aliasvault.git
synced 2025-12-23 22:28:22 -05:00
Add postgresql docker container scaffolding (#190)
This commit is contained in:
6
Dockerfile.postgres
Normal file
6
Dockerfile.postgres
Normal file
@@ -0,0 +1,6 @@
|
||||
FROM postgres:16-alpine
|
||||
|
||||
# Add any custom PostgreSQL configurations if needed
|
||||
COPY postgresql.conf /etc/postgresql/postgresql.conf
|
||||
|
||||
CMD ["postgres", "-c", "config_file=/etc/postgresql/postgresql.conf"]
|
||||
@@ -34,3 +34,17 @@ services:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/AliasVault.TaskRunner/Dockerfile
|
||||
|
||||
postgres:
|
||||
image: aliasvault-postgres
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.postgres
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- ./database:/var/lib/postgresql/data:rw
|
||||
environment:
|
||||
POSTGRES_DB: aliasvault
|
||||
POSTGRES_USER: aliasvault
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
|
||||
@@ -38,6 +38,10 @@ services:
|
||||
restart: always
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
- postgres
|
||||
environment:
|
||||
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
|
||||
|
||||
admin:
|
||||
image: ghcr.io/lanedirt/aliasvault-admin:latest
|
||||
@@ -50,6 +54,10 @@ services:
|
||||
restart: always
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
- postgres
|
||||
environment:
|
||||
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
|
||||
|
||||
smtp:
|
||||
image: ghcr.io/lanedirt/aliasvault-smtp:latest
|
||||
@@ -62,6 +70,10 @@ services:
|
||||
restart: always
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
- postgres
|
||||
environment:
|
||||
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
|
||||
|
||||
task-runner:
|
||||
image: ghcr.io/lanedirt/aliasvault-task-runner:latest
|
||||
@@ -71,3 +83,17 @@ services:
|
||||
restart: always
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
- postgres
|
||||
environment:
|
||||
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
|
||||
|
||||
postgres:
|
||||
image: ghcr.io/lanedirt/aliasvault-postgres:latest
|
||||
volumes:
|
||||
- ./database:/var/lib/postgresql/data:rw
|
||||
environment:
|
||||
POSTGRES_DB: aliasvault
|
||||
POSTGRES_USER: aliasvault
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
restart: always
|
||||
|
||||
@@ -689,7 +689,6 @@ handle_build() {
|
||||
set_default_ports || { printf "${RED}> Failed to set default ports${NC}\n"; exit 1; }
|
||||
set_public_registration || { printf "${RED}> Failed to set public registration${NC}\n"; exit 1; }
|
||||
|
||||
|
||||
# Only generate admin password if not already set
|
||||
if ! grep -q "^ADMIN_PASSWORD_HASH=" "$ENV_FILE" || [ -z "$(grep "^ADMIN_PASSWORD_HASH=" "$ENV_FILE" | cut -d '=' -f2)" ]; then
|
||||
generate_admin_password || { printf "${RED}> Failed to generate admin password${NC}\n"; exit 1; }
|
||||
|
||||
14
postgresql.conf
Normal file
14
postgresql.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
# Basic PostgreSQL configuration
|
||||
max_connections = 100
|
||||
shared_buffers = 128MB
|
||||
dynamic_shared_memory_type = posix
|
||||
max_wal_size = 1GB
|
||||
min_wal_size = 80MB
|
||||
log_timezone = 'UTC'
|
||||
datestyle = 'iso, mdy'
|
||||
timezone = 'UTC'
|
||||
lc_messages = 'en_US.utf8'
|
||||
lc_monetary = 'en_US.utf8'
|
||||
lc_numeric = 'en_US.utf8'
|
||||
lc_time = 'en_US.utf8'
|
||||
default_text_search_config = 'pg_catalog.english'
|
||||
Reference in New Issue
Block a user