made a lot of changes to accomodate running the same app for differnt projects.

This commit is contained in:
2020-04-24 10:43:33 -07:00
parent 206ed58eb9
commit 27e3c4e614
36 changed files with 897 additions and 121 deletions
+15
View File
@@ -0,0 +1,15 @@
FROM openjdk:8-jre-slim
WORKDIR /app/streama
RUN apt-get -y update && \
apt-get -y install curl && \
apt-get -y clean && \
apt-get -y autoremove && \
URL_DOWNLOAD_LATEST_RELEASE=$(curl -L https://api.github.com/repos/streamaserver/streama/releases | grep -i browser_download_url | head -n 1 | cut -d '"' -f 4) && \
curl -o streama.jar -L $URL_DOWNLOAD_LATEST_RELEASE && \
chmod u+x streama.jar
EXPOSE 8080
ENTRYPOINT [ "java", "-jar", "streama.jar" ]
+60
View File
@@ -0,0 +1,60 @@
version: "3"
services:
mysql:
image: mysql:5.7
restart: always
container_name: mysql
hostname: mysql
networks:
- traefik_web
expose:
- 3306
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: streama_root_password
MYSQL_USER: streama
MYSQL_DATABASE: streama
MYSQL_PASSWORD: streama_password
streama:
image: streama
build: .
restart: always
container_name: streama
hostname: streama
depends_on:
- mysql
networks:
- traefik_web
expose:
- 8080
volumes:
- movies:/data/streama # Change to your video folder
- app_data:/app/streama
environment:
ACTIVE_PROFILE: mysql
MYSQL_HOST: mysql
MYSQL_PORT: 3306
MYSQL_DB: streama
MYSQL_USER: streama
MYSQL_PASSWORD: streama_password
labels:
- "traefik.enable=true"
- "traefik.http.routers.nixflix.rule=Host(`nixflix.com`)"
- "traefik.http.routers.nixflix.entrypoints=websecure"
- "traefik.http.routers.nixflix.tls=true"
- "traefik.http.services.nixflix.loadbalancer.server.port=8080"
networks:
traefik_web:
external:
name: traefik_web
volumes:
db_data:
app_data:
proxy_reverse_data:
proxy_reverse_data_log:
movies:
+3
View File
@@ -0,0 +1,3 @@
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf
+35
View File
@@ -0,0 +1,35 @@
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events { worker_connections 512; }
http {
sendfile on;
server {
listen 80;
listen [::]:80;
client_max_body_size 128g; # allows larger files (like videos) to be uploaded.
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#WebSocket Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_pass http://streama:8080;
}
}
}