mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-04 02:46:23 +00:00
made a lot of changes to accomodate running the same app for differnt projects.
This commit is contained in:
@@ -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" ]
|
||||
@@ -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:
|
||||
@@ -0,0 +1,3 @@
|
||||
FROM nginx:alpine
|
||||
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user