diff --git a/web/.env.example b/web/.env.example index 96513c87..43f3a72b 100644 --- a/web/.env.example +++ b/web/.env.example @@ -56,3 +56,11 @@ SMTP_FROM_EMAIL=noreply@thebiergarten.app SMTP_FROM_NAME=The Biergarten App WEBSITE_BASE_URL=http://localhost:3000 + +# ====================== +# SeaweedFS (S3) Configuration +# ====================== +# Credentials and default bucket for the local SeaweedFS S3-compatible storage +SEAWEEDFS_ACCESS_KEY_ID=admin +SEAWEEDFS_SECRET_ACCESS_KEY=secret +SEAWEEDFS_BUCKET=my-bucket diff --git a/web/docker-compose.dev.yaml b/web/docker-compose.dev.yaml index 760386e9..3b4b353c 100644 --- a/web/docker-compose.dev.yaml +++ b/web/docker-compose.dev.yaml @@ -1,4 +1,5 @@ services: + sqlserver: env_file: ".env.dev" image: mcr.microsoft.com/mssql/server:2022-latest @@ -24,6 +25,7 @@ services: start_period: 30s networks: - devnet + database.migrations: env_file: ".env.dev" image: database.migrations @@ -105,24 +107,45 @@ services: volumes: - nuget-cache-dev:/root/.nuget/packages + seaweedfs: + env_file: ".env.dev" + image: chrislusf/seaweedfs + container_name: dev-env-seaweedfs + ports: + - "8333:8333" # S3 API + - "8888:8888" # Filer UI + - "9333:9333" # Master UI + - "23646:23646" # Admin UI + environment: + AWS_ACCESS_KEY_ID: "${SEAWEEDFS_ACCESS_KEY_ID}" + AWS_SECRET_ACCESS_KEY: "${SEAWEEDFS_SECRET_ACCESS_KEY}" + S3_BUCKET: "${SEAWEEDFS_BUCKET}" + volumes: + - seaweedfsdata-dev:/data + restart: unless-stopped + networks: + - devnet + mailpit: image: axllent/mailpit:latest container_name: dev-env-mailpit ports: - "8025:8025" # Web UI - "1025:1025" # SMTP server - restart: unless-stopped environment: MP_SMTP_AUTH_ACCEPT_ANY: 1 MP_SMTP_AUTH_ALLOW_INSECURE: 1 networks: - devnet + volumes: sqlserverdata-dev: driver: local nuget-cache-dev: driver: local + seaweedfsdata-dev: + driver: local networks: devnet: diff --git a/web/generate-env.sh b/web/generate-env.sh index 89200b0e..b0c8a7e5 100755 --- a/web/generate-env.sh +++ b/web/generate-env.sh @@ -57,6 +57,8 @@ REFRESH_TOKEN_SECRET_VAL=$(gen_jwt_secret) CONFIRMATION_TOKEN_SECRET_VAL=$(gen_jwt_secret) SMTP_USERNAME_VAL="smtp_$(gen_username)" SMTP_PASSWORD_VAL=$(gen_password) +SEAWEEDFS_ACCESS_KEY_ID_VAL=$(gen_username) +SEAWEEDFS_SECRET_ACCESS_KEY_VAL=$(gen_password) cp "$TEMPLATE_FILE" "$OUTPUT_FILE" @@ -68,6 +70,8 @@ sed \ -e "s|^CONFIRMATION_TOKEN_SECRET=.*|CONFIRMATION_TOKEN_SECRET=${CONFIRMATION_TOKEN_SECRET_VAL}|" \ -e "s|^SMTP_USERNAME=.*|SMTP_USERNAME=${SMTP_USERNAME_VAL}|" \ -e "s|^SMTP_PASSWORD=.*|SMTP_PASSWORD=${SMTP_PASSWORD_VAL}|" \ + -e "s|^SEAWEEDFS_ACCESS_KEY_ID=.*|SEAWEEDFS_ACCESS_KEY_ID=${SEAWEEDFS_ACCESS_KEY_ID_VAL}|" \ + -e "s|^SEAWEEDFS_SECRET_ACCESS_KEY=.*|SEAWEEDFS_SECRET_ACCESS_KEY=${SEAWEEDFS_SECRET_ACCESS_KEY_VAL}|" \ "$OUTPUT_FILE" > "$TMP_FILE" mv "$TMP_FILE" "$OUTPUT_FILE"