build: prebuild docker images

This commit is contained in:
Ante Brähler
2024-12-18 23:24:23 +01:00
parent 712c789681
commit 90f770142e
3 changed files with 70 additions and 2 deletions

29
deployment/README.md Normal file
View File

@@ -0,0 +1,29 @@
# Deployment
## Docker
### Easy Way (Preffered)
Clone the repo
```bash
git clone https://github.com/antebrl/IPTV-Restream.git
```
Make sure to have docker up & running. Start with docker compose
```bash
docker compose up -d
```
Open http://localhost
### Production Build (with SSL certificate)
If you want to expose the application to the public under your domain, [this](docker-compose.yml) could be an easy deployment to get it working with `https`. You still have to configure nginx-proxy-manager when using this solution.
### Prebuild Images
Use the [ghcr-docker-compose.yml](ghcr-docker-compose.yml).
```bash
docker compose -f ghcr-docker-compose.yml up
```
Disadvantages:
- not always up to date
- cannot set custom configuration for the frontend, as the config is parsed in the image build process

View File

@@ -0,0 +1,39 @@
version: "3.9"
services:
frontend:
image: ghcr.io/antebrl/iptv-restream/frontend:v1
networks:
- app-network
backend:
image: ghcr.io/antebrl/iptv-restream/backend:v1
volumes:
- streams_data:/streams
environment:
DEFAULT_CHANNEL_URL: https://mcdn.daserste.de/daserste/de/master.m3u8
STORAGE_PATH: /streams/
networks:
- app-network
# Nginx Reverse Proxy
nginx:
image: nginx:alpine
volumes:
- ../nginx.conf:/etc/nginx/nginx.conf
- streams_data:/streams
ports:
- "80:80"
networks:
- app-network
volumes:
streams_data:
driver: local
driver_opts:
type: tmpfs
device: tmpfs
# Internal docker network
networks:
app-network:
driver: bridge