[backend] add basic files for deploying and extending backend operations
This commit is contained in:
commit
83838a4ca4
|
@ -0,0 +1 @@
|
||||||
|
**/*.env
|
|
@ -0,0 +1,20 @@
|
||||||
|
FROM alpine:latest AS build
|
||||||
|
|
||||||
|
RUN apk add python3
|
||||||
|
RUN mkdir /venv /app
|
||||||
|
RUN python3 -m venv /venv
|
||||||
|
ENV PATH="/venv/bin:$PATH"
|
||||||
|
|
||||||
|
RUN apk add build-base linux-headers musl-dev python3-dev libpq-dev
|
||||||
|
RUN pip3 install flask uwsgi psycopg2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#FROM alpine:latest AS prod
|
||||||
|
|
||||||
|
#RUN apk add python3
|
||||||
|
#ENV PATH="/venv/bin:$PATH"
|
||||||
|
#COPY --from=build /venv /venv
|
||||||
|
EXPOSE 9090/tcp
|
||||||
|
|
||||||
|
ENTRYPOINT ["uwsgi", "--http", ":9090", "--callable", "app", "--wsgi-file", "/app/main.py"]
|
|
@ -0,0 +1,8 @@
|
||||||
|
services:
|
||||||
|
backend:
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- "80:9090"
|
||||||
|
volumes:
|
||||||
|
- "./src/:/app:ro"
|
||||||
|
env_file: backend.env
|
|
@ -0,0 +1,28 @@
|
||||||
|
from flask import Flask
|
||||||
|
import psycopg2 as psql
|
||||||
|
from os import environ as env
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
db_params = {
|
||||||
|
'database': env.get('DB_NAME'),
|
||||||
|
'user': env.get('DB_USER'),
|
||||||
|
'password': env.get('DB_PASS'),
|
||||||
|
'host': env.get('DB_HOST'),
|
||||||
|
'port': int(env.get('DB_PORT'))
|
||||||
|
}
|
||||||
|
|
||||||
|
db = psql.connect(**db_params)
|
||||||
|
|
||||||
|
@app.route("/")
|
||||||
|
def test():
|
||||||
|
c = db.cursor()
|
||||||
|
try:
|
||||||
|
c.execute('SELECT * FROM movies')
|
||||||
|
except Exception:
|
||||||
|
db.rollback()
|
||||||
|
return "Failed to fetch table 'movies'"
|
||||||
|
|
||||||
|
res = c.fetchmany(10)
|
||||||
|
c.close()
|
||||||
|
return "<p>Hello, World! test data:<br>" + "<br>".join(str(i) for i in res) + "</p>"
|
Loading…
Reference in New Issue