mirror of
				https://github.com/kevinveenbirkenbach/homepage.veen.world.git
				synced 2025-11-04 01:18:09 +00:00 
			
		
		
		
	Added port via env
This commit is contained in:
		
							
								
								
									
										11
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								Dockerfile
									
									
									
									
									
								
							@@ -11,8 +11,11 @@ RUN pip install --no-cache-dir -r requirements.txt
 | 
			
		||||
# Copy application code
 | 
			
		||||
COPY app/ .
 | 
			
		||||
 | 
			
		||||
# Expose port
 | 
			
		||||
EXPOSE 5000
 | 
			
		||||
# Set default port environment variable
 | 
			
		||||
ENV PORT=5000
 | 
			
		||||
 | 
			
		||||
# Start command
 | 
			
		||||
CMD ["python", "app.py"]
 | 
			
		||||
# Expose port (optional for documentation)
 | 
			
		||||
EXPOSE ${PORT}
 | 
			
		||||
 | 
			
		||||
# Start command using shell to allow env substitution
 | 
			
		||||
CMD ["sh", "-c", "exec python app.py --port=${PORT}"]
 | 
			
		||||
 
 | 
			
		||||
@@ -64,4 +64,5 @@ def index():
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    app.run(debug=(FLASK_ENV == "development"), host="0.0.0.0", port=5000)
 | 
			
		||||
    port = int(os.getenv("PORT", 5000))
 | 
			
		||||
    app.run(debug=(FLASK_ENV == "development"), host="0.0.0.0", port=port)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,5 @@
 | 
			
		||||
version: '3.8'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  portfolio:
 | 
			
		||||
    build:
 | 
			
		||||
@@ -6,7 +8,9 @@ services:
 | 
			
		||||
    image: application-portfolio
 | 
			
		||||
    container_name: portfolio
 | 
			
		||||
    ports:
 | 
			
		||||
      - "5000:5000"
 | 
			
		||||
      - "${PORT:-5000}:5000"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./app:/app
 | 
			
		||||
    environment:
 | 
			
		||||
      - PORT=${PORT:-5000}
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								env.example
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								env.example
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
PORT=5000
 | 
			
		||||
FLASK_ENV=production
 | 
			
		||||
							
								
								
									
										5
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								main.py
									
									
									
									
									
								
							@@ -22,6 +22,7 @@ import argparse
 | 
			
		||||
import subprocess
 | 
			
		||||
import sys
 | 
			
		||||
import os
 | 
			
		||||
PORT = int(os.getenv("PORT", 5000))
 | 
			
		||||
 | 
			
		||||
def run_command(command, dry_run=False):
 | 
			
		||||
    """Utility function to run a shell command."""
 | 
			
		||||
@@ -94,7 +95,7 @@ def run_dev(args):
 | 
			
		||||
    volume_mapping = f"{current_dir}/app/:/app"
 | 
			
		||||
    command = [
 | 
			
		||||
        "docker", "run", "-d",
 | 
			
		||||
        "-p", "5000:5000",
 | 
			
		||||
        "-p", f"{PORT}:{PORT}",
 | 
			
		||||
        "--name", "portfolio",
 | 
			
		||||
        "-v", volume_mapping,
 | 
			
		||||
        "-e", "FLASK_APP=app.py",
 | 
			
		||||
@@ -115,7 +116,7 @@ def run_prod(args):
 | 
			
		||||
    """
 | 
			
		||||
    command = [
 | 
			
		||||
        "docker", "run", "-d",
 | 
			
		||||
        "-p", "5000:5000",
 | 
			
		||||
        "-p", "{PORT}:{PORT}",
 | 
			
		||||
        "--name", "portfolio",
 | 
			
		||||
        "application-portfolio"
 | 
			
		||||
    ]
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user