Loading .gitignore +9 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ logs/*.log # Frontend build artifacts build/ !page/build/ dist/ *.cache Loading Loading @@ -77,6 +76,12 @@ __pycache__/ *.py~ *.egg-info/ # Framework-specific ignores .next/ # Next.js out/ # Next.js static exports .nuxt/ # Nuxt.js .svelte-kit/ # SvelteKit # Package manager lockfiles package-lock.json yarn.lock Loading @@ -84,3 +89,6 @@ pnpm-lock.yaml # Git-related #.gitignore # tornado-backend/pg_data/* pg_data/* docker-compose.prod.yml 0 → 100644 +36 −0 Original line number Diff line number Diff line version: '3.8' services: tornado-backend: build: ./tornado-backend command: --db_host=postgres depends_on: - postgres expose: - "8888" restart: unless-stopped networks: blog-demo-01-net: nginx-net: aliases: - blog-demo-01-backend postgres: image: postgres:10.3 environment: POSTGRES_USER: blog POSTGRES_PASSWORD: blog POSTGRES_DB: blog volumes: - ./pg_data:/var/lib/postgresql/data:rw restart: unless-stopped networks: - blog-demo-01-net networks: blog-demo-01-net: driver: bridge nginx-net: external: true docker-compose.yml 0 → 100644 +56 −0 Original line number Diff line number Diff line # . services: react-frontend: build: context: ./react-frontend dockerfile: Dockerfile volumes: - ./react-frontend/my-react-app:/app ports: - "3000:3000" stdin_open: true tty: true environment: - CHOKIDAR_USEPOLLING=true # To support live reloading on mounted volumes command: ["npm", "start"] depends_on: - tornado-backend networks: - app-network tornado-backend: build: ./tornado-backend links: - postgres ports: - "8888:8888" volumes: - ./tornado-backend/blog.py:/usr/src/app/blog.py command: --db_host=postgres networks: - app-network postgres: image: postgres:10.3 environment: POSTGRES_USER: blog POSTGRES_PASSWORD: blog POSTGRES_DB: blog ports: - "5432:5432" volumes: - ./pg_data:/var/lib/postgresql/data:rw networks: - app-network adminer: image: adminer ports: - 8080:8080 networks: - app-network networks: app-network: driver: bridge No newline at end of file react-frontend/Dockerfile 0 → 100644 +21 −0 Original line number Diff line number Diff line # ./react-frontend/Dockerfile FROM node:20 WORKDIR /app # Copy package.json and package-lock.json COPY ./my-react-app/package*.json ./ # Install dependencies RUN npm install # Copy the rest of the application code COPY . . # Create .cache directory and set permissions RUN mkdir -p /app/node_modules/.cache \ && chmod -R 777 /app/node_modules/.cache # Start the React development server CMD ["npm", "start"] react-frontend/Dockerfile.prod 0 → 100644 +13 −0 Original line number Diff line number Diff line FROM node:20 AS builder WORKDIR /app # Install dependencies COPY ./my-react-app/package*.json ./ RUN npm install # Copy source code COPY ./my-react-app ./ # Build the production-ready app RUN npm run build Loading
.gitignore +9 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ logs/*.log # Frontend build artifacts build/ !page/build/ dist/ *.cache Loading Loading @@ -77,6 +76,12 @@ __pycache__/ *.py~ *.egg-info/ # Framework-specific ignores .next/ # Next.js out/ # Next.js static exports .nuxt/ # Nuxt.js .svelte-kit/ # SvelteKit # Package manager lockfiles package-lock.json yarn.lock Loading @@ -84,3 +89,6 @@ pnpm-lock.yaml # Git-related #.gitignore # tornado-backend/pg_data/* pg_data/*
docker-compose.prod.yml 0 → 100644 +36 −0 Original line number Diff line number Diff line version: '3.8' services: tornado-backend: build: ./tornado-backend command: --db_host=postgres depends_on: - postgres expose: - "8888" restart: unless-stopped networks: blog-demo-01-net: nginx-net: aliases: - blog-demo-01-backend postgres: image: postgres:10.3 environment: POSTGRES_USER: blog POSTGRES_PASSWORD: blog POSTGRES_DB: blog volumes: - ./pg_data:/var/lib/postgresql/data:rw restart: unless-stopped networks: - blog-demo-01-net networks: blog-demo-01-net: driver: bridge nginx-net: external: true
docker-compose.yml 0 → 100644 +56 −0 Original line number Diff line number Diff line # . services: react-frontend: build: context: ./react-frontend dockerfile: Dockerfile volumes: - ./react-frontend/my-react-app:/app ports: - "3000:3000" stdin_open: true tty: true environment: - CHOKIDAR_USEPOLLING=true # To support live reloading on mounted volumes command: ["npm", "start"] depends_on: - tornado-backend networks: - app-network tornado-backend: build: ./tornado-backend links: - postgres ports: - "8888:8888" volumes: - ./tornado-backend/blog.py:/usr/src/app/blog.py command: --db_host=postgres networks: - app-network postgres: image: postgres:10.3 environment: POSTGRES_USER: blog POSTGRES_PASSWORD: blog POSTGRES_DB: blog ports: - "5432:5432" volumes: - ./pg_data:/var/lib/postgresql/data:rw networks: - app-network adminer: image: adminer ports: - 8080:8080 networks: - app-network networks: app-network: driver: bridge No newline at end of file
react-frontend/Dockerfile 0 → 100644 +21 −0 Original line number Diff line number Diff line # ./react-frontend/Dockerfile FROM node:20 WORKDIR /app # Copy package.json and package-lock.json COPY ./my-react-app/package*.json ./ # Install dependencies RUN npm install # Copy the rest of the application code COPY . . # Create .cache directory and set permissions RUN mkdir -p /app/node_modules/.cache \ && chmod -R 777 /app/node_modules/.cache # Start the React development server CMD ["npm", "start"]
react-frontend/Dockerfile.prod 0 → 100644 +13 −0 Original line number Diff line number Diff line FROM node:20 AS builder WORKDIR /app # Install dependencies COPY ./my-react-app/package*.json ./ RUN npm install # Copy source code COPY ./my-react-app ./ # Build the production-ready app RUN npm run build