eggs icon indicating copy to clipboard operation
eggs copied to clipboard

[Egg Request]: IceCast 2

Open ClassicSeniorBackup opened this issue 2 years ago • 13 comments

Does this expand an already existing service

Yes

Link to a game or software

https://icecast.org/

Links for the download

Linux: https://downloads.xiph.org/releases/icecast/icecast-2.4.4.tar.gz | Windows: https://downloads.xiph.org/releases/icecast/icecast_win32_2.4.4.exe

Links for the install docs

https://icecast.org/docs/

ClassicSeniorBackup avatar Dec 24 '22 18:12 ClassicSeniorBackup

There is

https://github.com/parkervcp/eggs/tree/master/software/owncast

Should be enough. As i see, you must compile IceCast on install, so i think its not really for hosting on Ptero

gOOvER avatar Dec 24 '22 18:12 gOOvER

Mayeby with some luck you can get the bin and requirments out of the .deb file in the install script https://download.opensuse.org/repositories/multimedia:/xiph/Debian_10/amd64/

QuintenQVD0 avatar Dec 25 '22 15:12 QuintenQVD0

@ClassicSenior I have no idea what this software needs to do but I have a basic working egg for you:

Let me know if anything is broken / you need changes It is also using a custom images as it needs extra packges if I pr this then those will be merged to the offical yolks image

{
    "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
    "meta": {
        "version": "PTDL_v2",
        "update_url": null
    },
    "exported_at": "2022-12-27T16:24:21+01:00",
    "name": "IceCast 2",
    "author": "[email protected]",
    "description": "Icecast is a streaming media (audio\/video) server which currently supports Ogg (Vorbis and Theora), Opus, WebM and MP3 streams.\r\nIt can be used to create an Internet radio station or a privately running jukebox and many things in between. It is very versatile in that new formats can be added relatively easily and supports open standards for communication and interaction.",
    "features": null,
    "docker_images": {
        "quintenqvd\/pterodactyl_images:temp_debian": "quintenqvd\/pterodactyl_images:temp_debian"
    },
    "file_denylist": [],
    "startup": ".\/icecast2 -c icecast.xml",
    "config": {
        "files": "{\r\n    \"icecast.xml\": {\r\n        \"parser\": \"xml\",\r\n        \"find\": {\r\n            \"icecast.listen-socket.port\": \"{{server.build.default.port}}\",\r\n            \"icecast.authentication.admin-user\": \"{{server.build.env.ADMIN_USERNAME}}\",\r\n            \"icecast.authentication.admin-password\": \"{{server.build.env.ADMIN_PASSWORD}}\",\r\n            \"icecast.paths.basedir\": \"\/home\/container\",\r\n            \"icecast.paths.logdir\": \"\/home\/container\/log\",\r\n            \"icecast.paths.webroot\": \"\/home\/container\/web\",\r\n            \"icecast.paths.adminroot\": \"\/home\/container\/admin\",\r\n            \"icecast.location\": \"{{server.build.env.LOCATION}}\",\r\n            \"icecast.hostname\": \"{{server.build.env.HOSTNAME}}\",\r\n            \"icecast.authentication.source-password\": \"{{server.build.env.SOURCE_PASSWORD}}\",\r\n            \"icecast.authentication.relay-password\": \"{{server.build.env.RELAY_PASSWORD}}\",\r\n            \"icecast.listen-socket.bind-address\": \"0.0.0.0\",\r\n            \"icecast.admin\": \"{{server.build.env.ADMIN_EMAIL}}\"\r\n        }\r\n    }\r\n}",
        "startup": "{\r\n    \"done\": \"icecast2\"\r\n}",
        "logs": "{}",
        "stop": "^^C"
    },
    "scripts": {
        "installation": {
            "script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl binutils tar xz-utils\r\n\r\nmkdir -p \/mnt\/server\/tmp\r\ncd \/mnt\/server\r\nrm icecast2\r\ncd \/mnt\/server\/tmp\r\n\r\nDOWNLOAD_URL=https:\/\/download.opensuse.org\/repositories\/multimedia:\/xiph\/Debian_10\/amd64\/icecast2_${VERSION}_amd64.deb\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n    if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n        echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n        DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n    else        \r\n        echo -e \"link is invalid closing out\"\r\n        exit 2\r\n    fi\r\nfi\r\n\r\necho \"downloading the .deb\"\r\ncurl -sSL -o icecast2.deb ${DOWNLOAD_URL}\r\nar xv icecast2.deb\r\nrm -rf icecast2.deb control.tar.xz debian-binary\r\ntar xvf data.tar.xz\r\nrm -rf data.tar.xz\r\nmv usr\/bin\/icecast2 \/mnt\/server\r\nmv etc\/icecast2\/* \/mnt\/server\r\ncd \/mnt\/server\r\nmkdir log\/\r\nrm -rf tmp\/ icecast.xml\r\ncurl -sSL -o icecast.xml https:\/\/pteropaste.com\/7vqi8k\r\n\r\n\r\necho \"install done\"",
            "container": "debian:bullseye-slim",
            "entrypoint": "bash"
        }
    },
    "variables": [
        {
            "name": "Version",
            "description": "example: 2.4.4-1",
            "env_variable": "VERSION",
            "default_value": "2.4.4-1",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:20",
            "field_type": "text"
        },
        {
            "name": "Admin user name",
            "description": "",
            "env_variable": "ADMIN_USERNAME",
            "default_value": "admin",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:32",
            "field_type": "text"
        },
        {
            "name": "Admin user password",
            "description": "",
            "env_variable": "ADMIN_PASSWORD",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|min:8|max:32",
            "field_type": "text"
        },
        {
            "name": "Location",
            "description": "",
            "env_variable": "LOCATION",
            "default_value": "Earth",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:16",
            "field_type": "text"
        },
        {
            "name": "Hostname",
            "description": "",
            "env_variable": "HOSTNAME",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:32",
            "field_type": "text"
        },
        {
            "name": "Source Password",
            "description": "",
            "env_variable": "SOURCE_PASSWORD",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|min:10|max:32",
            "field_type": "text"
        },
        {
            "name": "Relay password",
            "description": "",
            "env_variable": "RELAY_PASSWORD",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|min:10|max:32",
            "field_type": "text"
        },
        {
            "name": "Admin E-mail",
            "description": "",
            "env_variable": "ADMIN_EMAIL",
            "default_value": "icemaster@localhost",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:64",
            "field_type": "text"
        }
    ]
}

QuintenQVD0 avatar Dec 27 '22 15:12 QuintenQVD0

@ClassicSenior ^^^ please test

QuintenQVD0 avatar Jan 04 '23 10:01 QuintenQVD0

hey @QuintenQVD0 i wanted to test your egg but i get an error when starting the server: Error Event [3bcb0dfd-024a-4367-811a-44ee21925102]: environment/docker: failed to run pre-boot process: environment/docker: failed to pull "quintenqvd/pterodactyl_images:temp_debian" image for server: Error response from daemon: manifest for quintenqvd/pterodactyl_images:temp_debian not found: manifest unknown: manifest unknown.

and i had to toggle install state because it kept saying installing..

could you try to fix it? you may add me on discord or tagg me in the ptero discord xnick1905

thanks !

nickdebesten avatar Aug 01 '23 23:08 nickdebesten

I removee the images as no one was using this egg. I will have a look. The install will fail because it can not pull the man image or else there url changed.

QuintenQVD0 avatar Aug 02 '23 04:08 QuintenQVD0

i would create an own image for it. I do this with every egg i write and other packages are needed

gOOvER avatar Aug 03 '23 08:08 gOOvER

I removee the images as no one was using this egg. I will have a look. The install will fail because it can not pull the man image or else there url changed.

Do you have any updates about this?

TexMex100 avatar Feb 16 '24 23:02 TexMex100

@QuintenQVD0 Any update about this egg?

sys-arch avatar Apr 21 '24 22:04 sys-arch

@QuintenQVD0 Any update about this egg?

This egg is still wanted? I could have a look again for it yes.

QuintenQVD0 avatar Apr 22 '24 07:04 QuintenQVD0

@QuintenQVD0 Any update about this egg?

This egg is still wanted? I could have a look again for it yes.

Yes, is still wanted. And now i think it's better to do it because now it can be installed from apt easily

sys-arch avatar Apr 22 '24 13:04 sys-arch

@QuintenQVD0 Any update about this egg?

This egg is still wanted? I could have a look again for it yes.

Yes, is still wanted. And now i think it's better to do it because now it can be installed from apt easily

but not in an egg with apt ;)

gOOvER avatar Apr 22 '24 13:04 gOOvER

@QuintenQVD0 Any update about this egg?

This egg is still wanted? I could have a look again for it yes.

Yea its still wanted. If you could look into it would be great!

TexMex100 avatar Apr 23 '24 20:04 TexMex100