Skip to content
Snippets Groups Projects
Commit acd4d875 authored by RandomChars's avatar RandomChars
Browse files

commit old code

parents
Branches
No related tags found
No related merge requests found
Showing
with 391 additions and 0 deletions
FROM debian:testing
RUN apt-get update && apt-get install -y \
libc++1 \
libappindicator1 \
libappindicator3-1 \
gconf2 \
gconf-service \
gvfs-bin \
libasound2 \
libcap2 \
libgconf-2-4 \
libgtk2.0-0 \
libgtk-3-0 \
libnotify4 \
libnss3 \
libxkbfile1 \
libxss1 \
libxtst6 \
libx11-xcb1 \
libnotify-bin \
xdg-utils \
pulseaudio-utils \
libatomic1 \
breeze-cursor-theme \
procps \
sudo \
ttf-* \
otf-* \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get autoremove -y \
&& apt-get autoclean
RUN groupadd -g 1970 rc \
&& useradd -u 1970 -g rc --create-home --home-dir /rc rc \
&& usermod -aG audio rc
WORKDIR /rc
RUN chown -R rc:rc /rc
COPY assets/entrypoint.sh /entrypoint
COPY assets/client.conf /etc/pulse/client.conf
COPY assets/00-rc-nopasswd /etc/sudoers.d/00-rc-nopasswd
RUN chmod +x /entrypoint
RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
USER rc
ENTRYPOINT [ "/entrypoint" ]
LICENSE 0 → 100644
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.
rc ALL=(ALL) NOPASSWD: ALL
default-server = unix:/var/run/user/1970/pulse/native
autospawn = no
daemon-binary = /bin/true
enable-shm = true
#!/bin/bash
_sigterm() {
echo "Caught SIGTERM, exiting..."
kill -TERM "$pid" 2>/dev/null
}
_exit() {
echo "Exiting..."
}
trap _sigterm SIGTERM
trap _exit EXIT
echo "Setting permissions for runtime variable data..."
sudo chown -R rc:rc /var/run/user/1970 /rc
echo "Starting sleep..."
/bin/bash -c "/bin/cat" &
pid=$!
wait "$pid"
FROM registry.randomchars.net/randomchars/dockerized-graphical-applications:base
ARG DOWNLOAD_LINK=https://discordapp.com/api/download?platform=linux&format=deb
# ARG DOWNLOAD_LINK=https://discordapp.com/api/download/ptb?platform=linux&format=deb
RUN sudo apt-get update \
&& sudo apt-get install -y curl ca-certificates \
&& echo "Installing Discord version $(curl -sSI "${DOWNLOAD_LINK}" | grep -i 'location: ' | awk '{print $2}' | tr -d '[:space:]' | sed -e 's/.*discord-//g' | sed -e 's/.deb//g')" \
&& echo "Download URL: $(curl -sSI "${DOWNLOAD_LINK}" | grep -i 'location: ' | awk '{print $2}' | tr -d '[:space:]')" \
&& curl -sSL "${DOWNLOAD_LINK}" > discord.deb \
&& sudo dpkg -i discord.deb \
&& sudo rm -rf /var/lib/apt/lists/* \
&& sudo apt-get purge -y --auto-remove curl \
&& sudo apt-get autoclean
COPY assets/entrypoint.sh /entrypoint
COPY assets/presence.go /presence.go
RUN sudo apt-get update \
&& sudo apt-get install -y golang git \
&& mkdir /tmp/go \
&& GOPATH=/tmp/go go get github.com/hugolgst/rich-go/client \
&& GOPATH=/tmp/go go build -ldflags="-s -w" /presence.go \
&& rm -rf /tmp/go \
&& sudo rm /presence.go \
&& sudo mv presence / \
&& sudo rm -rf /var/lib/apt/lists/* \
&& sudo apt-get purge -y --auto-remove golang git \
&& sudo apt-get autoclean
#!/bin/bash
_sigterm() {
echo "Caught SIGTERM, exiting..."
kill -TERM "$discord_pid" 2>/dev/null
kill -TERM "$presence_pid" 2>/dev/null
}
_exit() {
echo "Exiting..."
kill -TERM "$presence_pid" 2>/dev/null
}
trap _sigterm SIGTERM
trap _exit EXIT
echo "Setting permissions for runtime variable data..."
sudo chown -R rc:rc /var/run/user/1970 /rc
echo "Starting discord..."
/usr/bin/discord --no-sandbox &
discord_pid=$!
sleep 10
/presence &
presence_pid=$!
wait "$discord_pid"
package main
import (
"fmt"
"github.com/hugolgst/rich-go/client"
"io/ioutil"
"os"
"os/signal"
"strconv"
"syscall"
"time"
)
func main() {
var err error
signalChannel := make(chan os.Signal, 1)
signal.Notify(signalChannel, syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP, os.Interrupt, os.Kill)
go func() {
<-signalChannel
os.Exit(0)
}()
for {
err = client.Login("769494748746481665")
if err == nil {
break
}
time.Sleep(100 * time.Millisecond)
}
now := time.Now()
for {
time.Sleep(20 * time.Second)
var sysInfo syscall.Sysinfo_t
err := syscall.Sysinfo(&sysInfo)
if err != nil {
continue
}
kernelRelease, err := ioutil.ReadFile("/proc/sys/kernel/osrelease")
if err != nil {
continue
}
err = client.SetActivity(client.Activity{
State: fmt.Sprintf("Memory: %s GiB / %s GiB",
strconv.FormatUint((sysInfo.Totalram*uint64(sysInfo.Unit)-
sysInfo.Freeram*uint64(sysInfo.Unit)-
sysInfo.Bufferram*uint64(sysInfo.Unit))/1073741824,
10),
strconv.FormatUint(sysInfo.Totalram*uint64(sysInfo.Unit)/1073741824, 10)),
Details: fmt.Sprintf("Load: %f %f %f",
float64(sysInfo.Loads[0])/float64(1<<16),
float64(sysInfo.Loads[1])/float64(1<<16),
float64(sysInfo.Loads[2])/float64(1<<16)),
LargeImage: "icon",
LargeText: "https://random.chars.jp",
SmallImage: "plasma",
SmallText: string(kernelRelease),
Timestamps: &client.Timestamps{Start: &now},
})
if err != nil {
_ = client.Login("677355242488332288")
}
}
}
#!/bin/sh
cd /home/RandomChars/Documents/RandomCode/Utils/dockerized-graphical-applications/discord
if xhost | grep -q 'RandomChars'; then
echo 'Xorg access control list seems to be configured, continuing...'
else
echo 'Configuring Xorg access control list...'
xhost +SI:localuser:RandomChars
fi
if [ ! "$(docker ps -q -f name=discord)" ]; then
if [ "$(docker ps -aq -f status=exited -f name=discord)" ]; then
echo "Starting container..."
exec docker-compose up
else
echo "Creating container..."
exec docker-compose up
fi
else
echo "Switching to Discord..."
exec docker exec discord /usr/bin/discord --no-sandbox
fi
[Desktop Entry]
Name=Discord
StartupWMClass=discord
Comment=The proprietary Discord chat application, dockerized.
GenericName=Internet Messenger
Exec=/usr/local/bin/discord
Icon=discord
Type=Application
Categories=Network;InstantMessaging;
Path=/usr/bin
version: '3.5'
services:
discord:
image: registry.randomchars.net/randomchars/dockerized-graphical-applications:discord
privileged: false
build:
context: .
hostname: discord_container
container_name: discord
shm_size: 2048M
network_mode: bridge
environment:
- DBUS_SESSION_BUS_ADDRESS=unix:path=/var/run/user/1970/bus
- PULSE_SERVER=unix:/var/run/user/1970/pulse/native
- DISPLAY=unix:0
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- /var/run/dbus:/var/run/dbus
- /var/run/user/1970/bus:/var/run/user/1970/bus
- /var/run/user/1970/pulse:/var/run/user/1970/pulse
- /srv/discord:/rc
- /home/RandomChars/Pictures/Screenshots:/home/RandomChars/Pictures/Screenshots:ro
- /home/RandomChars/Desktop:/home/RandomChars/Desktop:ro
- /home/RandomChars/Downloads:/home/RandomChars/Downloads:rw
version: '3.5'
services:
base:
image: registry.randomchars.net/randomchars/dockerized-graphical-applications:base
privileged: false
build:
context: .
hostname: base_container
container_name: base
shm_size: 2048M
network_mode: bridge
environment:
- DBUS_SESSION_BUS_ADDRESS=unix:path=/var/run/user/1970/bus
- PULSE_SERVER=unix:/var/run/user/1970/pulse/native
- DISPLAY=unix:0
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- /var/run/dbus:/var/run/dbus
- /var/run/user/1970/bus:/var/run/user/1970/bus
- /var/run/user/1970/pulse:/var/run/user/1970/pulse
- /tmp/rc:/rc
FROM registry.randomchars.net/randomchars/dockerized-graphical-applications:base
RUN sudo apt-get update \
&& sudo apt-get install -y curl ca-certificates gnupg \
&& curl -sS https://download.spotify.com/debian/pubkey.gpg | sudo apt-key add - \
&& echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list \
&& sudo apt-get update \
&& sudo apt-get install -y spotify-client \
&& sudo rm -rf /var/lib/apt/lists/* \
&& sudo apt-get purge -y --auto-remove curl gnupg \
&& sudo apt-get autoclean
COPY assets/entrypoint.sh /entrypoint
rc ALL=(ALL) NOPASSWD: ALL
default-server = unix:/var/run/user/1970/pulse/native
autospawn = no
daemon-binary = /bin/true
enable-shm = true
#!/bin/bash
_sigterm() {
echo "Caught SIGTERM, exiting..."
kill -TERM "$pid" 2>/dev/null
}
_exit() {
echo "Exiting..."
}
trap _sigterm SIGTERM
trap _exit EXIT
echo "Setting permissions for runtime variable data..."
sudo chown -R rc:rc /var/run/user/1970 /rc
echo "Starting spotify..."
/usr/bin/spotify &
pid=$!
wait "$pid"
version: '3.5'
services:
spotify:
image: registry.randomchars.net/randomchars/dockerized-graphical-applications:spotify
privileged: false
build:
context: .
hostname: spotify_container
container_name: spotify
shm_size: 2048M
network_mode: bridge
environment:
- DBUS_SESSION_BUS_ADDRESS=unix:path=/var/run/user/1970/bus
- PULSE_SERVER=unix:/var/run/user/1970/pulse/native
- DISPLAY=unix:0
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- /var/run/dbus:/var/run/dbus
- /var/run/user/1970/bus:/var/run/user/1970/bus
- /var/run/user/1970/pulse:/var/run/user/1970/pulse
- /srv/spotify:/rc
- /home/RandomChars/Pictures/Screenshots:/home/RandomChars/Pictures/Screenshots:ro
- /home/RandomChars/Desktop:/home/RandomChars/Desktop:ro
- /home/RandomChars/Downloads:/home/RandomChars/Downloads:rw
#!/bin/sh
cd /home/RandomChars/Documents/RandomCode/Utils/dockerized-graphical-applications/spotify
if xhost | grep -q 'RandomChars'; then
echo 'Xorg access control list seems to be configured, continuing...'
else
echo 'Configuring Xorg access control list...'
xhost +SI:localuser:RandomChars
fi
if [ ! "$(docker ps -q -f name=spotify)" ]; then
if [ "$(docker ps -aq -f status=exited -f name=spotify)" ]; then
echo "Starting container..."
exec docker-compose up
else
echo "Creating container..."
exec docker-compose up
fi
else
echo "Starting new Spotify instance..."
exec docker exec spotify /usr/bin/spotify
fi
[Desktop Entry]
Type=Application
Name=Spotify
GenericName=Music Player
Icon=spotify-client
TryExec=/usr/local/bin/spotify
Exec=/usr/local/bin/spotify %U
Terminal=false
MimeType=x-scheme-handler/spotify;
Categories=Audio;Music;Player;AudioVideo;
StartupWMClass=spotify
FROM registry.randomchars.net/randomchars/dockerized-graphical-applications:base
RUN sudo dpkg --add-architecture i386 \
&& sudo apt-get update \
&& sudo apt-get install -y wine32 \
&& sudo rm -rf /var/lib/apt/lists/* \
&& sudo apt-get autoclean
COPY assets/entrypoint.sh /entrypoint
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment