Skip to content

Issue 80 | Docker - #109

Merged
Flapjacck merged 10 commits into
mainfrom
issue-80
Dec 19, 2025
Merged

Flapjacck merged 10 commits into
mainfrom
issue-80

Conversation

@Flapjacck

@Flapjacck Flapjacck commented Dec 19, 2025 •

Copy link
Copy Markdown
Owner

This pull request introduces full Docker support for both the backend and frontend, enabling easy deployment and development with Docker Compose. It refactors environment variable handling, simplifies CORS configuration, and ensures seamless networking between frontend and backend across different host interfaces (localhost, LAN, Tailscale, etc.). The README and environment files have been updated to reflect these changes and provide clear instructions for quick setup.

Dockerization and Deployment

  • Added production-ready Dockerfile for both backend and frontend, including multi-stage builds for optimized images. [1] [2]
  • Introduced docker-compose.yml to orchestrate backend and frontend containers, persistent data volumes, and shared network.
  • Added .dockerignore files for backend and frontend to reduce build context size and improve build efficiency. [1] [2]
  • Provided Nginx configuration for SPA routing, asset caching, and security headers in the frontend container.

Environment and Configuration Refactoring

  • Updated .env.example files and config handling to use FRONTEND_PORT and VITE_BACKEND_PORT, simplifying host/port management for cross-network access. [1] [2]
  • Refactored backend environment config to always listen on 0.0.0.0 and derive CORS permissions from the frontend port, allowing requests from any host on that port. [1] [2]

Networking and CORS Improvements

  • Simplified CORS logic to dynamically allow requests from any host on the configured frontend port, supporting multi-interface setups (localhost, LAN, VPN/Tailscale).
  • Updated frontend API code to automatically construct backend URLs based on the current hostname and configured port, ensuring reliable communication regardless of access method.

Data Storage and Initialization

  • Ensured all persistent data (database, uploaded files, initial credentials) is stored in a configurable data directory, mounted via Docker volume for durability. [1] [2]

Documentation Updates

  • Rewrote README sections for Docker-based quick start, usage instructions, and data storage details to guide users through deployment and management. [1] [2]

These changes make the project much easier to deploy and run in real-world homelab or development environments, with clear separation of concerns and robust support for different networking scenarios.

Closes #103
Closes #80
Closes #76

@Flapjacck
Flapjacck merged commit f3122f5 into main Dec 19, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Single config file rewrite to use docker Fix cors to allow tailscale ip instead of just allowing all ip option

1 participant