feat:use selfhosted docker

This commit is contained in:
2025-12-16 12:59:43 +01:00
parent 577a3cab56
commit ae6a96d73b
5 changed files with 133 additions and 1 deletions

52
docker-compose.yml Normal file
View File

@@ -0,0 +1,52 @@
services:
postgres:
image: postgres:16-alpine
container_name: serengo-postgres
restart: unless-stopped
environment:
POSTGRES_USER: serengo
POSTGRES_PASSWORD: serengo_password
POSTGRES_DB: serengo
ports:
- '5432:5432'
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U serengo']
interval: 10s
timeout: 5s
retries: 5
app:
build:
context: .
dockerfile: Dockerfile
container_name: serengo-app
restart: unless-stopped
ports:
- '3000:3000'
environment:
- NODE_ENV=production
- DATABASE_URL=postgresql://serengo:serengo_password@postgres:5432/serengo
- ORIGIN=http://localhost:3000
# Add your environment variables here or use env_file
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
- R2_ACCOUNT_ID=${R2_ACCOUNT_ID}
- R2_ACCESS_KEY_ID=${R2_ACCESS_KEY_ID}
- R2_SECRET_ACCESS_KEY=${R2_SECRET_ACCESS_KEY}
- R2_BUCKET_NAME=${R2_BUCKET_NAME}
- GOOGLE_MAPS_API_KEY=${GOOGLE_MAPS_API_KEY}
- VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- VAPID_SUBJECT=${VAPID_SUBJECT}
depends_on:
postgres:
condition: service_healthy
# Uncomment to use .env file
# env_file:
# - .env
volumes:
postgres_data:
driver: local