Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Snapcraft configuration for build (plus some helpers) #265

Open
wants to merge 207 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
207 commits
Select commit Hold shift + click to select a range
8c09a8a
Fixed backslash file references in Windows when generating webUI.go file
winguru Jun 10, 2021
dcb1eb3
Translated comments in German to English
winguru Jun 14, 2021
5ff9b9d
Added basic "Tvg-shift" (timeshift) support for M3U channel playlist.
winguru Jun 14, 2021
dbea3c3
Merge branch 'timeshift' into experimental
winguru Jun 14, 2021
ea77d1a
Merge branch 'translation' into experimental
winguru Jun 14, 2021
1be7a9a
Changed GitHub var branch to winguru/experimental
winguru Jun 14, 2021
55daaa1
Recreated webUI.go via "xteve -dev"
winguru Jun 15, 2021
edbd822
Created Dockerfile-experimental for manual and automated docker builds
winguru Jun 15, 2021
32cac47
Merge branch 'docker' into experimental
winguru Jun 15, 2021
9052c3e
Created Dockerfile-experimental for manual and automated docker builds
winguru Jun 15, 2021
490a210
Created tsconfig.json file for compiling TypeScript files
winguru Jun 15, 2021
00f9008
Merge branch 'docker' into experimental
winguru Jun 15, 2021
fbd2a5b
Create README.md
winguru Jun 15, 2021
d11d798
Updated .gitignore for GoLand IDE files
winguru Jun 15, 2021
03871dc
Fixed Timeshift column reference in mapping section
winguru Jun 15, 2021
e53cdd0
Experimental features pass all initial testing
winguru Jun 17, 2021
456e533
Merge remote-tracking branch 'origin/experimental' into experimental
winguru Jun 17, 2021
6f96e74
Reodered Default xTeVe Dummy mapping in xepg.go to catch edge cases.
winguru Jun 17, 2021
e5042fb
Fixed xTeVe Dummy mapping & Sorted HomeRunnerHD lineup.json channels
winguru Jun 23, 2021
73c812d
Updated Docker README.md
winguru Jun 24, 2021
df5e063
Updated Docker README.md
winguru Jun 24, 2021
c38d47e
Add Snapcraft configuration file
ted-gould Aug 23, 2021
707719b
Generate unique names for channels
ted-gould Aug 25, 2021
c99474b
Lots of info to logs
ted-gould Aug 25, 2021
221b9c1
Support asking for just the version
ted-gould Aug 26, 2021
91e3912
Set package version properly from binary
ted-gould Aug 26, 2021
a5754e9
Ensure we don't try to update a read-only file system
ted-gould Aug 27, 2021
d6da551
Start with 1
ted-gould Aug 27, 2021
9f950ed
Adding a small script to make it so that the snap doesn't upgrade if …
ted-gould Aug 27, 2021
fd680c4
Fix URL and make error messages better
ted-gould Aug 27, 2021
9321c37
Allow specifying the host
ted-gould Aug 27, 2021
9530f14
Ensure the service is running before hitting the API
ted-gould Aug 27, 2021
cf5bc2f
A little utility to print out the status of the xTeVe service to the …
ted-gould Aug 27, 2021
6b854ed
Restart the service hourly if not running, fight a memory leak
ted-gould Sep 8, 2021
eb8a4f2
Add network plug
ted-gould Sep 8, 2021
6c22561
Add VLC to package
ted-gould Sep 12, 2021
7d266c0
Switch to FFMPEG
ted-gould Sep 12, 2021
c527f8a
Add the pulseaudio library path to loadable libraries
ted-gould Sep 13, 2021
7e1f491
Merge pull request #1 from SCP002/experimental
SCP002 Feb 20, 2022
3c669b2
Update github account and verison number
SCP002 Feb 20, 2022
b1718ae
Update README.md
SCP002 Feb 21, 2022
cd5a389
Fix EPG mapping does not reflect changes in playlist. Closes #4
SCP002 Mar 26, 2022
419210c
Create compileJS.cmd
SCP002 Mar 27, 2022
70475ed
Make compileJS.sh use tsconfig.json file
SCP002 Mar 27, 2022
5bf4763
Create .vscode task to build typescript files
SCP002 Mar 27, 2022
3768506
Create .vscode launch configuration to build typescript files and run…
SCP002 Mar 27, 2022
836498c
Increase program version to "2.2.2.0100"
SCP002 Mar 27, 2022
187450d
Fix changes in timeshift not shown on the mapping page. Closes #3
SCP002 Mar 27, 2022
e6fdd3a
Increase program version to "2.2.2.0200"
SCP002 Mar 27, 2022
7d9afad
Remove unused javascript files, generate new webUI.go
SCP002 Mar 27, 2022
84f3184
Allow mapping table to be sorted by timeshift. Closes #5
SCP002 Mar 28, 2022
e379156
Increase program version to "2.2.2.0300"
SCP002 Mar 28, 2022
73d5af3
Remove unused private functions
SCP002 Mar 28, 2022
3d55857
Translate comments to English
SCP002 Mar 28, 2022
4b86597
Rename onclickFunktion to onclickFunction
SCP002 Mar 28, 2022
d227e93
Run tsc, update webUI.go
SCP002 Mar 28, 2022
5072c7a
Create test of main() function for profiling
SCP002 Mar 28, 2022
ecb2526
Ignore snap stuff
ted-gould Mar 29, 2022
be86042
Get some basic debug info out
ted-gould Mar 29, 2022
cf5704c
Update dependencies
SCP002 Mar 29, 2022
9b2a06b
Update default ffmpeg options
ted-gould Mar 29, 2022
0a09fe7
Fix git marks webUI.go as modified each time it rebuilds
SCP002 Mar 30, 2022
866b55b
Fallback to default temp dir if specified is not found
SCP002 Mar 30, 2022
d202169
Fix on restore backup program search restore.zip at folder with wrong…
SCP002 Mar 30, 2022
17c424d
Increase program version to "2.2.3.0000"
SCP002 Mar 30, 2022
d5dd00e
Remove old data in settings before recovering from backup. Closes #9
SCP002 Apr 1, 2022
c6859b5
Remove old settings folder contents but not itself before recover.
SCP002 Apr 1, 2022
a53bc74
When loading settings from file, version number gets overriden by the…
SCP002 Apr 2, 2022
265c63e
Defer close zip file reader in extractZIP(). Closes #11
SCP002 Apr 3, 2022
ba7bbe3
Remove temporary archive after restore + remove temporary folder even…
SCP002 Apr 3, 2022
ac269c1
Create getDefaultTempDir and getValidTempDir functions. Closes #13
SCP002 Apr 4, 2022
755bd52
Clear malformed XEPG database in conditionalUpdateChanges() function.…
SCP002 Apr 6, 2022
4d4ac0e
Set Go version to 1.18 in go.mod
SCP002 Apr 6, 2022
652efd0
Update README.md, README-DEV.md and changelog-beta.md
SCP002 Apr 6, 2022
bdbbea8
Format README.md
SCP002 Apr 6, 2022
51869e8
Implement automatic playlist to EPG mapping. Closes #16
SCP002 Apr 9, 2022
fb27202
Clear XMLTV cache when it's no longer needed for a periodic use. Clos…
SCP002 Apr 10, 2022
b8307d5
Cosmetic changes in m3u parser package
SCP002 Apr 11, 2022
50c74c7
Add tests for MakeInterfaceFromM3U()
SCP002 Apr 11, 2022
4769c35
Make parser trim space prefix from channel names. Closes #21
SCP002 Apr 11, 2022
5dedbf7
Use "github.com/samber/lo" in m3u parser, minor parser preformance im…
SCP002 Apr 11, 2022
2ec9ae0
Update dependencies
SCP002 Apr 11, 2022
ce09dfc
Implement EXTGRP parsing in MakeInterfaceFromM3U()
SCP002 Apr 11, 2022
3704f9a
Remove separate "ext-grp" field, use "group-title" instead. Put group…
SCP002 Apr 11, 2022
3ee7d8b
Update mapping if it was changed in m3u playlist. Add checkbox for au…
SCP002 Apr 13, 2022
30dad33
Implement web client alerts. Add alert on database migration from <= …
SCP002 Apr 14, 2022
60a755a
Remove unfiltered channel limit. Closes #14
SCP002 Apr 14, 2022
4759b8a
Display starting channel number in filter table. Closes #26
SCP002 Apr 16, 2022
98a6468
Update menu_ts.js
SCP002 Apr 16, 2022
ee54eb8
Rework table sorting. Fixes: numeric entries are sorted as strings. D…
SCP002 Apr 16, 2022
001d898
Remove clearing XMLTV cache.
SCP002 Apr 16, 2022
f129cf5
Increase program version to "2.2.6.0000"
SCP002 Apr 16, 2022
be41169
Make frontend popup mapping code slightly less cryptic
SCP002 Apr 18, 2022
3a62a32
Make frontend popup mapping code slightly less cryptic. Take 2.
SCP002 Apr 18, 2022
a7f455c
Add TLS mode support and checkbox in Settings -> General
SCP002 Apr 21, 2022
d59a3ac
Add note about TLS mode to README.md
SCP002 Apr 21, 2022
b80a93c
Automatically generate self-signed cert. if not found. Fallback to no…
SCP002 Apr 24, 2022
04be477
Add ability to change host IP in settings. Set default IP to the firs…
SCP002 Apr 25, 2022
5a718e7
Implement in-memory buffer, add config option to enable it. Closes #30
SCP002 Apr 26, 2022
7413770
Remove forgotten // TODO from code
SCP002 Apr 26, 2022
dc10b34
Rework of "XMLTV Channel" field in mapping modal (take 1). Clearup c…
SCP002 Apr 27, 2022
fe69e6a
Remove unused frontend function: sortSelect
SCP002 Apr 27, 2022
d2b60f5
Fix a bunch of small bugs related to xmltv id picker default value
SCP002 Apr 28, 2022
06ffb19
Update dependencies, remove TODO
SCP002 Apr 28, 2022
121a9dc
Add input to change starting channel number in custom filter popup. C…
SCP002 Apr 28, 2022
b1118fe
Increase program version to 2.4.1.0000
SCP002 Apr 28, 2022
06e6075
Update avfs dependency to v0.30.0. Closes #32
SCP002 Apr 29, 2022
d4be1ce
Fix broken scrolling on the Logs page in web UI. Closes #37
SCP002 Apr 29, 2022
d29330c
Add updating of channel by name based on regex. Closes #38
SCP002 May 1, 2022
b1cda6d
Change sample regex for channel renaming to the more safe variant
SCP002 May 2, 2022
0d04d7c
Add git clone command to README.md, fix type there
SCP002 May 3, 2022
1a23592
Add an option to disallow stream url duplicates. Minor refactoring. C…
SCP002 May 3, 2022
dc0583f
Remove redundant channel name equality check in update by regex part
SCP002 May 3, 2022
da45ced
Bring back channel name equality check in update by regex part. With …
SCP002 May 3, 2022
b8290ed
Remove "Fill Missing EPG Data" option from M3U group title filter pop…
SCP002 May 4, 2022
2b6be6d
Add settings option to automatically assign xTeVe Dummy mapping if no…
SCP002 May 4, 2022
3e5d6ee
Auto assign default missing epg when settings option changes. Fix typ…
SCP002 May 4, 2022
125efd8
Add config option to automatically enable mapped channels. Closes #40
SCP002 May 4, 2022
d378e7a
Fix setting DefaultMissingEPG sets dummy EPG for XMLTV but not for M3…
SCP002 May 4, 2022
0260e04
Add config option to disable storing XMLTV cache in RAM. Closes #35
SCP002 May 4, 2022
a7cb0f0
Upgrade dependencies
SCP002 May 4, 2022
a708be0
Bump program version to 2.5.0, database version to 2.3.0
SCP002 May 4, 2022
e120f5b
Remove README-DEV.md and changelog-beta.md. Remove old files from .gi…
SCP002 May 8, 2022
ec30d38
Create docker image. Update README.md. Closes #36
SCP002 May 8, 2022
70f4c97
Reduce README.md headings size in docker part
SCP002 May 8, 2022
5923e85
Merge remote-tracking branch 'spc002/master'
ted-gould Aug 9, 2022
3a831dc
Buffer to ram fix
SenexCrenshaw Aug 17, 2022
4127e94
Docker update
SenexCrenshaw Aug 17, 2022
cc20876
Docker test
SenexCrenshaw Aug 17, 2022
3f3fa04
Updates
SenexCrenshaw Aug 17, 2022
9a19fce
Docker fix up
SenexCrenshaw Aug 17, 2022
bd9129e
removed puid/pgid from docker-compose
SenexCrenshaw Aug 17, 2022
b69048e
Added in click to copy to clipboard for DVR, M3U and XEPG Urls
SenexCrenshaw Aug 23, 2022
09a3260
format fix
SenexCrenshaw Aug 23, 2022
24253f8
Format fixes
SenexCrenshaw Aug 23, 2022
18ca656
Added docker comments
SenexCrenshaw Aug 23, 2022
fc90186
Added Host Name Override in settings
SenexCrenshaw Aug 23, 2022
d3ca2cd
Update savesettings for HostName
SenexCrenshaw Aug 23, 2022
cc18474
Readme fixes
SenexCrenshaw Aug 23, 2022
0a2d0a1
Updated Readme
SenexCrenshaw Aug 23, 2022
06f7272
Changed master branch to main
SenexCrenshaw Aug 24, 2022
72480de
Convert from label-schema to OCI annotations
SenexCrenshaw Aug 24, 2022
4afea96
Converted to docker alpine. Saves 800MB
SenexCrenshaw Aug 24, 2022
7cc0b6c
Merge pull request #1 from SenexCrenshaw/Convert-Docker-to-alpine
SenexCrenshaw Aug 24, 2022
b177632
Doc cleanup
SenexCrenshaw Aug 24, 2022
57535d4
Create go.yml
SenexCrenshaw Aug 24, 2022
02dcc22
Update go.yml
SenexCrenshaw Aug 24, 2022
8e803c2
Update go.yml
SenexCrenshaw Aug 24, 2022
9700b00
Create go-ossf-slsa3-publish.yml
SenexCrenshaw Aug 24, 2022
5c82e15
Cleanup docker-compose
SenexCrenshaw Aug 24, 2022
431169d
Added .slsa-goreleaser
SenexCrenshaw Aug 24, 2022
d217288
Update go-ossf-slsa3-publish.yml
SenexCrenshaw Aug 24, 2022
153737c
Create docker-image.yml
SenexCrenshaw Aug 24, 2022
e042b85
Update docker-image.yml
SenexCrenshaw Aug 24, 2022
2a329ae
Create main.yml
SenexCrenshaw Aug 24, 2022
c0a4c58
Update main.yml
SenexCrenshaw Aug 24, 2022
37af397
GitHub Action cleanup
SenexCrenshaw Aug 24, 2022
312813e
Update main.yml
SenexCrenshaw Aug 24, 2022
1a62500
Delete go.yml
SenexCrenshaw Aug 24, 2022
e345fcc
Update main.yml
SenexCrenshaw Aug 24, 2022
aca05ad
Rename main.yml to dockerpublish.yml
SenexCrenshaw Aug 24, 2022
d9b59e8
xteve releas from github instead of building
SenexCrenshaw Aug 24, 2022
70e06d3
Merge pull request #2 from SenexCrenshaw:Docker-Dev
SenexCrenshaw Aug 24, 2022
90ff2b5
2.5.2 release
SenexCrenshaw Aug 24, 2022
10097ed
Added in versioning system
SenexCrenshaw Aug 25, 2022
fa31704
Merge pull request #3 from SenexCrenshaw:ReleaseWorkflow
SenexCrenshaw Aug 25, 2022
38c8d1c
Updated release
SenexCrenshaw Aug 25, 2022
a818038
Update to build multiple docker arch
SenexCrenshaw Aug 25, 2022
f4c93f8
Merge pull request #4 from SenexCrenshaw:DockerUpdates
SenexCrenshaw Aug 25, 2022
6ee5fa6
Updated docker build
SenexCrenshaw Aug 25, 2022
a6f0335
Updated docker build
SenexCrenshaw Aug 25, 2022
a3ce6cd
Updated dockerpublish
SenexCrenshaw Aug 25, 2022
c422862
Publish to Docker Registry
SenexCrenshaw Aug 25, 2022
87e7ef4
Update dockerpublish.yml
SenexCrenshaw Aug 25, 2022
18deaef
Remove dockerfiile.arm64
SenexCrenshaw Aug 25, 2022
c480511
Update Dockerfile
SenexCrenshaw Aug 25, 2022
f1ef319
Updated Dockerfile
SenexCrenshaw Aug 25, 2022
aa67d5a
Update dockerpublish.yml
SenexCrenshaw Aug 25, 2022
7f91430
Added latest tag
SenexCrenshaw Aug 25, 2022
a7f4b3d
Updated go build arch
SenexCrenshaw Aug 25, 2022
0e26655
Update Release yml
SenexCrenshaw Aug 25, 2022
ed1dd34
Updated Readme
SenexCrenshaw Aug 25, 2022
8f81e81
Fixed null object
SenexCrenshaw Aug 25, 2022
928e6ec
Merge pull request #6 from SenexCrenshaw:Fix-issue-#5
SenexCrenshaw Aug 25, 2022
897c5de
Renamed Update Logo to "Use logo from M3U"
SenexCrenshaw Aug 25, 2022
acaad62
Removed beta branch from ReadMe
SenexCrenshaw Aug 25, 2022
de8a4a6
Added favicon
SenexCrenshaw Aug 25, 2022
e10f6c4
Merge pull request #7 from SenexCrenshaw:Favicon
SenexCrenshaw Aug 25, 2022
6953cb8
Cleaned up various attr errors
SenexCrenshaw Aug 25, 2022
57d317c
Merge pull request #8 from SenexCrenshaw:attributes_cleanup
SenexCrenshaw Aug 25, 2022
a47e5aa
Added attributes
SenexCrenshaw Aug 25, 2022
e29c5ae
Merge pull request #10 from SenexCrenshaw:Add-attributes
SenexCrenshaw Aug 25, 2022
9a04370
Improve build environment
SenexCrenshaw Aug 26, 2022
9638512
Merge pull request #11 from SenexCrenshaw/Build-Updates
SenexCrenshaw Aug 26, 2022
0d2496c
Updated license per MIT specs
SenexCrenshaw Aug 26, 2022
3e88f22
Merge pull request #12 from SenexCrenshaw:LicenseUpdate
SenexCrenshaw Aug 26, 2022
4f4129f
Removed hmtl/js
SenexCrenshaw Aug 26, 2022
49d4355
Merge pull request #13 from SenexCrenshaw:git-ignore-cleanup
SenexCrenshaw Aug 26, 2022
7ced7f8
Removed no longer needed .slsa-goreleaser
SenexCrenshaw Aug 26, 2022
215120c
Grab SenexCrenshaw's xTeVe changes
ted-gould Aug 26, 2022
eb74623
Drop restart
ted-gould Aug 26, 2022
3e7970d
Get more debugging info
ted-gould Aug 26, 2022
f235152
Switch to core22
ted-gould Aug 26, 2022
7559557
Add a build snap for 'go'
ted-gould Aug 26, 2022
b2413e9
Fix LD_LIBRARY_PATH
ted-gould Sep 15, 2022
8686ff6
Add back pulse
ted-gould Sep 16, 2022
f31a698
Reenable the restart check
ted-gould Aug 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/dockerpublish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Publish to Docker Registry Manual
on:
workflow_dispatch:

jobs:
build_docker_and_publish:
runs-on: ubuntu-latest
steps:

- name: Clone repository
uses: actions/checkout@v2

- name: Read version from release.json
uses: notiz-dev/github-action-json-property@release
id: xteve_version
with:
path: 'release.json'
prop_path: 'version'

- name: Set up QEMU
uses: docker/setup-qemu-action@v1
with:
image: tonistiigi/binfmt:latest
platforms: arm64,arm

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/xteve:latest,${{ secrets.DOCKER_USERNAME }}/xteve:${{ steps.xteve_version.outputs.prop }}
86 changes: 86 additions & 0 deletions .github/workflows/xTeVe_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: xTeVe release manual
on:
workflow_dispatch:
release:
types: [created]

permissions:
contents: read

jobs:
build_xteve_and_publish:
permissions:
contents: write
name: build_xteve
runs-on: ubuntu-latest
strategy:
matrix:
# build and publish in parallel: linux/386, linux/amd64, linux/arm64, windows/386, windows/amd64, darwin/amd64, darwin/arm64
goos: [linux, windows, darwin]
goarch: ["386", amd64, arm64]
exclude:
- goarch: "386"
goos: darwin
- goarch: arm64
goos: windows
steps:
- uses: actions/checkout@v3

- name: Read version from release.json
uses: notiz-dev/github-action-json-property@release
id: xteve_version
with:
path: 'release.json'
prop_path: 'version'

- name: Set BUILD_TIME env
run: echo BUILD_TIME=$(date -u +%Y%m%d-%H%M) >> ${GITHUB_ENV}

- uses: wangyoucao577/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
goos: ${{ matrix.goos }}
goarch: ${{ matrix.goarch }}
overwrite: true
extra_files: LICENSE README.md
release_tag: v${{steps.xteve_version.outputs.prop}}
binary_name: xteve
build_flags: -v
ldflags: -X "main.appVersion=${{ steps.xteve_version.outputs.prop }}" -X "main.buildTime=${{ env.BUILD_TIME }}" -X main.gitCommit=${{ github.sha }} -X main.gitRef=${{ github.ref }}

build_docker_and_publish:
runs-on: ubuntu-latest
steps:

- name: Clone repository
uses: actions/checkout@v2

- name: Read version from release.json
uses: notiz-dev/github-action-json-property@release
id: xteve_version
with:
path: 'release.json'
prop_path: 'version'

- name: Set up QEMU
uses: docker/setup-qemu-action@v1
with:
image: tonistiigi/binfmt:latest
platforms: arm64,arm

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/xteve:latest,${{ secrets.DOCKER_USERNAME }}/xteve:${{ steps.xteve_version.outputs.prop }}
15 changes: 9 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
.DS_Store
demo
dev
compiler
files
update_xteve*.sh
xteve
xteve.exe
de.json
de.json
parts/
prime/
stage/
xteve*.snap
html/js/
/.idea/*
.xteve/
__debug_bin
17 changes: 17 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceRoot}",
"env": {},
"args": []
}
]
}
51 changes: 51 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Update Version",
"type": "shell",
"command": "./update_version.sh",
"presentation": {
"reveal": "always",
"panel": "new"
}
},
{
"type": "typescript",
"tsconfig": "ts/tsconfig.json",
"problemMatcher": [
"$tsc"
],
"group": {
"kind": "build",
"isDefault": true
},
"label": "tsc build"
},
{
"label": "Build webUI",
"type": "shell",
"command": "test -f './xteve' && ./xteve -buildwebui",
"presentation": {
"reveal": "always",
"panel": "new"
},
"dependsOn": [
"Update Version",
"tsc build"
]
},
{
"label": "Build xTeVe",
"type": "shell",
"command": "go build xteve.go",
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": [
"Build webUI"
]
}
]
}
95 changes: 95 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# First stage. Building a binary
# -----------------------------------------------------------------------------

# Base image for builder is debian 11 with golang 1.18+ pre-installed
FROM --platform=$BUILDPLATFORM golang:bullseye AS builder

# Download the source code
# Uncomment the below line to force git pull (no cache)
#ADD "https://www.random.org/cgi-bin/randbyte?nbytes=10&format=h" skipcache
RUN git clone https://github.com/SenexCrenshaw/xTeVe.git /src
WORKDIR /src

ARG TARGETOS TARGETARCH
# Install dependencies
RUN GOOS=$TARGETOS GOARCH=$TARGETARCH go mod download

# Compile
RUN GOOS=$TARGETOS GOARCH=$TARGETARCH go build xteve.go

# Second stage. Creating an image
# -----------------------------------------------------------------------------
FROM alpine:latest

ARG BUILD_DATE
ARG VCS_REF
ARG XTEVE_PORT=34400
ARG XTEVE_VERSION=2.5.1

LABEL org.opencontainers.image.created="{$BUILD_DATE}" \
org.opencontainers.image.url="https://hub.docker.com/r/SenexCrenshaw/xteve/" \
org.opencontainers.image.source="https://github.com/SenexCrenshaw/xTeVe" \
org.opencontainers.image.version="{$XTEVE_VERSION}" \
org.opencontainers.image.revision="{$VCS_REF}" \
org.opencontainers.image.vendor="SenexCrenshaw" \
org.opencontainers.image.title="xTeVe" \
org.opencontainers.image.description="Dockerized fork of xTeVe by SenexCrenshaw" \
org.opencontainers.image.authors="SenexCrenshaw [email protected]"

ENV XTEVE_BIN=/home/xteve/bin
ENV XTEVE_CONF=/home/xteve/conf
ENV XTEVE_HOME=/home/xteve
ENV XTEVE_TEMP=/tmp/xteve

# Add binary to PATH
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$XTEVE_BIN

# Set working directory
WORKDIR $XTEVE_HOME

# Update package lists
RUN apk update
RUN apk upgrade

# Install CA certificates
RUN apk add --no-cache ca-certificates
RUN apk add curl

# Timezone (TZ)
RUN apk update && apk add --no-cache tzdata
ENV TZ=America/New_York
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# Add ffmpeg and vlc
RUN apk add ffmpeg
RUN apk add vlc

# Creat bin dir
RUN mkdir $XTEVE_BIN

# Copy built binary from builder image
COPY --from=builder [ "/src/xteve", "${XTEVE_BIN}/" ]

# Set binary permissions
RUN chmod +rx $XTEVE_BIN/xteve

# Create XML cache directory
RUN mkdir $XTEVE_HOME/cache

# Create working directories for xTeVe
RUN mkdir $XTEVE_CONF
RUN chmod a+rwX $XTEVE_CONF
RUN mkdir $XTEVE_TEMP
RUN chmod a+rwX $XTEVE_TEMP

RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2

# Configure container volume mappings
VOLUME $XTEVE_CONF
VOLUME $XTEVE_TEMP

# Expose Port
EXPOSE 34400

# Run the xTeVe executable
ENTRYPOINT ${XTEVE_BIN}/xteve -port=${XTEVE_PORT} -config=${XTEVE_CONF}
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
MIT License

Copyright (c) 2019 marmei@xteve-project
Copyright (c) 2022 senexcrenshaw

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
1 change: 0 additions & 1 deletion README-DEV.md

This file was deleted.

Loading