Compare commits

..

1 Commits

Author SHA1 Message Date
Oleg Yurchik
a7ab7e7f71 add deploy 2025-10-02 20:32:18 +03:00
2 changed files with 40 additions and 18 deletions

View File

@ -13,4 +13,5 @@ COPY . /app
EXPOSE 8000 EXPOSE 8000
CMD ["uv", "run", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] ENTRYPOINT ["uv", "run"]
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]

View File

@ -2,38 +2,59 @@ services:
backend: backend:
build: build:
context: ./backend context: ./backend
ports:
- '8000:8000'
volumes: volumes:
- backend-data:/data - backend-data:/data
- ./backend:/app environment:
env_file: ALABUGA_ENVIRONMENT: "${ALABUGA_ENVIRONMENT}"
- backend/.env ALABUGA_DEBUG: "${ALABUGA_DEBUG}"
depends_on: [] ALABUGA_SECRET_KEY: "${ALABUGA_SECRET_KEY}"
ALABUGA_JWT_ALGORITHM: "HS256"
ALABUGA_ACCESS_TOKEN_EXPIRE_MINUTES: "720"
ALABUGA_REQUIRE_EMAIL_CONFIRMATION: "false"
ALABUGA_SQLITE_PATH: /data/app.db
ALABUGA_UPLOADS_PATH: /data/uploads
ALABUGA_BACKEND_CORS_ORIGIN: '["https://${ALABUGA_API_DOMAIN}","https://${ALABUGA_DOMAIN}"]'
networks: networks:
- app-network - app-network
- collabry-stage_default
labels:
- "traefik.enable=true"
- "traefik.http.services.alabuga-backend.loadbalancer.server.port=8000"
- "traefik.http.routers.alabuga-backend.service=alabuga-backend"
- "traefik.http.routers.alabuga-backend.rule=Host(`${ALABUGA_API_DOMAIN}`)
- "traefik.http.routers.alabuga-backend.entrypoints=websecure"
- "traefik.http.routers.alabuga-backend.tls.certresolver=letsencrypt"
frontend: frontend:
build: build:
context: ./frontend context: ./frontend
command: npm run dev -- --hostname 0.0.0.0 --port 3000
ports:
- '3000:3000'
env_file:
- frontend/.env
environment: environment:
NEXT_PUBLIC_API_URL: "https://${ALABUGA_DOMAIN}"
NEXT_INTERNAL_API_URL: http://backend:8000 NEXT_INTERNAL_API_URL: http://backend:8000
volumes: NEXT_PUBLIC_DEMO_EMAIL: "${NEXT_PUBLIC_DEMO_EMAIL}"
- ./frontend:/app NEXT_PUBLIC_DEMO_PASSWORD: "${NEXT_PUBLIC_DEMO_PASSWORD}"
- /app/node_modules NEXT_PUBLIC_DEMO_HR_EMAIL: "${NEXT_PUBLIC_DEMO_HR_EMAIL}"
depends_on: NEXT_PUBLIC_DEMO_HR_PASSWORD: "${NEXT_PUBLIC_DEMO_HR_PASSWORD}"
- backend
networks: networks:
- app-network - app-network
- collabry-stage_default
ports:
- '3000:3000'
command: npm run dev -- --hostname 0.0.0.0 --port 3000
depends_on:
- backend
labels:
- "traefik.enable=true"
- "traefik.http.services.alabuga-frontend.loadbalancer.server.port=8000"
- "traefik.http.routers.alabuga-frontend.service=alabuga-frontend"
- "traefik.http.routers.alabuga-frontend.rule=Host(`${ALABUGA_DOMAIN}`)
- "traefik.http.routers.alabuga-frontend.entrypoints=websecure"
- "traefik.http.routers.alabuga-frontend.tls.certresolver=letsencrypt"
volumes: volumes:
backend-data: backend-data:
networks: networks:
app-network: app-network:
driver: bridge collabry-stage_default:
external: true