add gui-container, rathole, snowflake
This commit is contained in:
parent
daeba22664
commit
89a002f480
4 changed files with 113 additions and 0 deletions
47
README.md
47
README.md
|
@ -1,2 +1,49 @@
|
||||||
# Containers-Workspace
|
# Containers-Workspace
|
||||||
Various useful and useless Dockerfiles, often experimental and work in progress
|
Various useful and useless Dockerfiles, often experimental and work in progress
|
||||||
|
|
||||||
|
## gui-container
|
||||||
|
|
||||||
|
gui-container is an experiment for apps with GUI
|
||||||
|
|
||||||
|
how to run with default, permissive options:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
podman run --privileged -it \
|
||||||
|
-e XDG_RUNTIME_DIR=/runtime_dir \
|
||||||
|
-e WAYLAND_DISPLAY="$WAYLAND_DISPLAY" \
|
||||||
|
-e DISPLAY="$DISPLAY" \
|
||||||
|
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
|
||||||
|
-v $HOME/.Xauthority:/root/.Xauthority:ro \
|
||||||
|
-v "$XDG_RUNTIME_DIR:/runtime_dir:rw" \
|
||||||
|
--entrypoint bash \
|
||||||
|
--name "gui_container" \
|
||||||
|
gui-container:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
starting dbus:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export $(dbus-launch)
|
||||||
|
```
|
||||||
|
|
||||||
|
unsetting `WAYLAD_DISPLAY` or `DISPLAY` can force apps to use the other one
|
||||||
|
|
||||||
|
```bash
|
||||||
|
unset DISPLAY
|
||||||
|
# or
|
||||||
|
unset WAYLAD_DISPLAY
|
||||||
|
```
|
||||||
|
|
||||||
|
to mage Qt-based apps work:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export QT_QPA_PLATFORM=wayland
|
||||||
|
```
|
||||||
|
|
||||||
|
## rathole
|
||||||
|
|
||||||
|
Compiled from source [rathole](https://github.com/rapiz1/rathole) image.
|
||||||
|
|
||||||
|
## snowflake
|
||||||
|
|
||||||
|
Compiled from source [torproject snowflake](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake) image.
|
||||||
|
|
28
gui-container/Dockerfile
Normal file
28
gui-container/Dockerfile
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
FROM registry.fedoraproject.org/fedora:37
|
||||||
|
|
||||||
|
ENV HISTSIZE=10000
|
||||||
|
ENV HISTTIMEFORMAT="%d/%m/%y %T "
|
||||||
|
ENV HISTFILESIZE=20000
|
||||||
|
|
||||||
|
ENV GENERAL_PKGS="\
|
||||||
|
bash-completion \
|
||||||
|
procps \
|
||||||
|
iproute \
|
||||||
|
fzf \
|
||||||
|
wget \
|
||||||
|
git \
|
||||||
|
firefox \
|
||||||
|
dbus \
|
||||||
|
dbus-x11 \
|
||||||
|
strace"
|
||||||
|
|
||||||
|
# install system dependencies
|
||||||
|
RUN dnf install -y \
|
||||||
|
${GENERAL_PKGS} \
|
||||||
|
&& dnf clean all
|
||||||
|
|
||||||
|
RUN echo $'[ -f /usr/share/fzf/key-bindings.bash ] && source /usr/share/fzf/key-bindings.bash \n\
|
||||||
|
[ -f /usr/share/fzf/shell/key-bindings.bash ] && source /usr/share/fzf/shell/key-bindings.bash \n\
|
||||||
|
[ -f /usr/share/fzf/completion.bash ] && source /usr/share/fzf/completion.bash' >> /root/.bashrc
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/bin/bash" ]
|
16
rathole/Dockerfile
Normal file
16
rathole/Dockerfile
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
FROM registry.fedoraproject.org/fedora:37 as builder
|
||||||
|
|
||||||
|
WORKDIR /
|
||||||
|
|
||||||
|
RUN dnf clean all && \
|
||||||
|
dnf install -y git cargo openssl-devel && \
|
||||||
|
git clone https://github.com/rapiz1/rathole.git && \
|
||||||
|
cd ./rathole && \
|
||||||
|
cargo build --release
|
||||||
|
|
||||||
|
|
||||||
|
FROM registry.fedoraproject.org/fedora-minimal:37
|
||||||
|
WORKDIR /
|
||||||
|
COPY --from=builder /rathole/target/release/rathole .
|
||||||
|
USER 1852:1852
|
||||||
|
ENTRYPOINT ["./rathole"]
|
22
snowflake/Dockerfile
Normal file
22
snowflake/Dockerfile
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
FROM registry.fedoraproject.org/fedora:37
|
||||||
|
|
||||||
|
RUN useradd -u 1423 -m -s '/bin/bash' -U snowflake
|
||||||
|
ENV TZ=Europe/Warsaw
|
||||||
|
|
||||||
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
|
||||||
|
dnf clean all && \
|
||||||
|
dnf install -y git golang && \
|
||||||
|
git clone https://git.torproject.org/pluggable-transports/snowflake.git && \
|
||||||
|
cd snowflake/proxy && \
|
||||||
|
go build && \
|
||||||
|
dnf remove -y golang git && \
|
||||||
|
dnf -y autoremove && \
|
||||||
|
dnf -y clean all && \
|
||||||
|
mv /snowflake/proxy/proxy /usr/bin/proxy && \
|
||||||
|
cd / && \
|
||||||
|
rm -rf /snowflake /root/* && \
|
||||||
|
chown snowflake.snowflake /usr/bin/proxy
|
||||||
|
|
||||||
|
USER snowflake
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/bin/proxy"]
|
Loading…
Reference in a new issue