2 Commits

Author SHA1 Message Date
Joyce
49dbc786e9 fix: use SYNC_DATABASE_URL env var for alembic migrations
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 17:24:41 -05:00
Joyce
922b6f31d1 add static serve 2026-01-21 16:36:40 -05:00
4 changed files with 32 additions and 10 deletions

View File

@@ -1,3 +1,4 @@
import os
from logging.config import fileConfig
from alembic import context
@@ -9,6 +10,10 @@ config = context.config
fileConfig(config.config_file_name)
target_metadata = Base.metadata
# Use SYNC_DATABASE_URL env var if set, otherwise fall back to alembic.ini
if os.getenv("SYNC_DATABASE_URL"):
config.set_main_option("sqlalchemy.url", os.getenv("SYNC_DATABASE_URL"))
def run_migrations_offline():
url = config.get_main_option("sqlalchemy.url")

View File

@@ -43,6 +43,8 @@ services:
depends_on:
- backend
restart: unless-stopped
expose:
- '80'
volumes:
postgres_data:

View File

@@ -15,18 +15,14 @@ ENV VITE_API_URL=${VITE_API_URL}
RUN npm run build
# Production stage
FROM caddy:alpine
FROM nginx:alpine
# Copy built assets
COPY --from=builder /app/dist /srv
COPY --from=builder /app/dist /usr/share/nginx/html
# Caddyfile for SPA routing
RUN echo ':8080 { \
root * /srv \
file_server \
try_files {path} /index.html \
}' > /etc/caddy/Caddyfile
# Copy nginx config
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 8080
EXPOSE 80
CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile"]
CMD ["nginx", "-g", "daemon off;"]

19
frontend/nginx.conf Normal file
View File

@@ -0,0 +1,19 @@
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location /assets/ {
expires 1y;
add_header Cache-Control "public, immutable";
}
gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
gzip_comp_level 6;
}