Added port via env

This commit is contained in:
Kevin Veen-Birkenbach 2025-07-05 09:32:07 +02:00
parent 4d68ed2a24
commit 1bea9703ea
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
5 changed files with 19 additions and 8 deletions

View File

@ -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}"]

View File

@ -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)

View File

@ -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
View File

@ -0,0 +1,2 @@
PORT=5000
FLASK_ENV=production

View File

@ -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"
]