Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
49b115bcb3 | ||
|
|
67d4e9c35e | ||
|
|
823167d26a | ||
|
|
9f420e02f6 |
@@ -1,8 +1,6 @@
|
||||
name: Docker
|
||||
name: Build all sequentially to test builds
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 4 * * *" # everyday at 4 am
|
||||
push:
|
||||
branches:
|
||||
- '*' # matches every branch that doesn't contain a '/'
|
||||
@@ -17,23 +15,114 @@ on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
base:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Update apt
|
||||
run: sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
|
||||
- name: Install make
|
||||
run: sudo apt install make docker-compose -y
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: build base
|
||||
run: make buildbase
|
||||
- name: build xorg
|
||||
run: make buildxorg
|
||||
- name: build vnc
|
||||
run: make buildvnc
|
||||
- name: build parabola
|
||||
run: make buildparabola
|
||||
- uses: actions/checkout@v3
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Build and export
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: base
|
||||
tags: marcpartensky/arch:base
|
||||
outputs: type=docker,dest=/tmp/base.tar
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: base
|
||||
path: /tmp/base.tar
|
||||
|
||||
xorg:
|
||||
needs: base
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: base
|
||||
path: /tmp
|
||||
|
||||
- name: Load image
|
||||
run: |
|
||||
docker load --input /tmp/base.tar
|
||||
docker image ls -a
|
||||
|
||||
- name: Build and export
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: xorg
|
||||
tags: marcpartensky/arch:xorg
|
||||
outputs: type=docker,dest=/tmp/xorg.tar
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: xorg
|
||||
path: /tmp/xorg.tar
|
||||
|
||||
vnc:
|
||||
needs: xorg
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: xorg
|
||||
path: /tmp
|
||||
|
||||
- name: Load image
|
||||
run: |
|
||||
docker load --input /tmp/xorg.tar
|
||||
docker image ls -a
|
||||
|
||||
- name: Build and export
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: vnc
|
||||
tags: marcpartensky/arch:vnc
|
||||
outputs: type=docker,dest=/tmp/vnc.tar
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: vnc
|
||||
path: /tmp/vnc.tar
|
||||
|
||||
parabola:
|
||||
needs: xorg
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: xorg
|
||||
path: /tmp
|
||||
|
||||
- name: Load image
|
||||
run: |
|
||||
docker load --input /tmp/xorg.tar
|
||||
docker image ls -a
|
||||
|
||||
- name: Build and export
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: parabola
|
||||
tags: marcpartensky/arch:parabola
|
||||
outputs: type=docker,dest=/tmp/parabola.tar
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: parabola
|
||||
path: /tmp/parabola.tar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: Docker
|
||||
name: Build all then push
|
||||
|
||||
on:
|
||||
schedule:
|
||||
|
||||
@@ -6,8 +6,6 @@ vnc: buildvnc
|
||||
docker-compose up vnc
|
||||
parabola: buildparabola
|
||||
docker-compose up parabola
|
||||
artix: buildartix
|
||||
docker-compose up artix
|
||||
|
||||
buildbase:
|
||||
docker-compose build base
|
||||
@@ -17,8 +15,6 @@ buildvnc: buildxorg
|
||||
docker-compose build vnc
|
||||
buildparabola: buildbase
|
||||
docker-compose build parabola
|
||||
buildartix:
|
||||
docker-compose build artix
|
||||
|
||||
buildall: buildbase buildxorg buildvnc buildparabola
|
||||
|
||||
@@ -28,7 +24,6 @@ updateall:
|
||||
docker-compose build --no-cache xorg
|
||||
docker-compose build --no-cache vnc
|
||||
docker-compose build --no-cache parabola
|
||||
docker-compose build --no-cache artix
|
||||
docker-compose push
|
||||
|
||||
push: buildall
|
||||
@@ -1,15 +1,6 @@
|
||||
# Custom environment images
|
||||
|
||||
|
||||
## Shell
|
||||
[marcpartensky/arch](https://hub.docker.com/r/marcpartensky/arch)
|
||||
|
||||
## Xephyr
|
||||
[marcpartensky/arch:xorg](https://hub.docker.com/r/marcpartensky/arch:xorg)
|
||||
|
||||
## VNC/NoVNC
|
||||
[marcpartensky/arch:vnc](https://hub.docker.com/r/marcpartensky/arch:vnc)
|
||||
|
||||
## Parabola
|
||||
Parabola is an arch derivative that focuses on foss.
|
||||
- [marcpartensky/arch](https://hub.docker.com/r/marcpartensky/arch)
|
||||
- [marcpartensky/arch:xorg](https://hub.docker.com/r/marcpartensky/arch:xorg)
|
||||
- [marcpartensky/arch:vnc](https://hub.docker.com/r/marcpartensky/arch:vnc)
|
||||
- [marcpartensky/arch:parabola](https://hub.docker.com/r/marcpartensky/arch:parabola)
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
FROM artixlinux/openrc:latest
|
||||
LABEL maintainer="Marc Partensky"
|
||||
|
||||
|
||||
RUN pacman -Syyyu --needed --noconfirm base-devel
|
||||
RUN pacman -S --noconfirm git
|
||||
|
||||
RUN useradd --create-home --groups wheel --shell /usr/bin/zsh marc
|
||||
RUN passwd -d marc
|
||||
RUN echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers
|
||||
|
||||
USER marc
|
||||
WORKDIR /tmp
|
||||
RUN git clone https://aur.archlinux.org/paru.git
|
||||
WORKDIR /tmp/paru
|
||||
RUN makepkg -si --noconfirm
|
||||
|
||||
# RUN paru -Rc --noconfirm elogind-openrc
|
||||
|
||||
RUN paru -Syyyu --noconfirm \
|
||||
zsh \
|
||||
neovim \
|
||||
exa \
|
||||
paruz \
|
||||
make \
|
||||
npm \
|
||||
go \
|
||||
pod2man \
|
||||
openssh \
|
||||
stow-git
|
||||
|
||||
# RUN paru -aS --noconfirm \
|
||||
# bat
|
||||
|
||||
COPY entrypoint.sh /tmp/entrypoint.sh
|
||||
|
||||
USER root
|
||||
RUN cat /etc/locale.gen
|
||||
# RUN sed -i -e 's/en_US.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/' /etc/locale.gen
|
||||
# RUN cat /etc/locale.gen
|
||||
# RUN locale-gen
|
||||
# RUN cat /etc/locale.gen
|
||||
ENV LC_ALL fr_FR.UTF-8
|
||||
ENV LANG fr_FR.UTF-8
|
||||
ENV LANGUAGE fr_FR:fr
|
||||
|
||||
USER marc
|
||||
|
||||
WORKDIR /home/marc
|
||||
RUN mkdir git
|
||||
|
||||
RUN git clone https://github.com/marcpartensky/dotfiles git/dotfiles
|
||||
RUN zsh git/dotfiles/main.sh
|
||||
RUN make -C git/dotfiles stow
|
||||
RUN touch .profile
|
||||
|
||||
RUN git clone https://github.com/marcpartensky/nvim ~/.config/nvim
|
||||
RUN make -C ~/.config/nvim setup
|
||||
|
||||
# ENV WLR_DRM_DEVICES=/dev/dri/card0
|
||||
ENV WLR_BACKENDS=headless
|
||||
ENV WLR_RENDERER=pixman
|
||||
ENV WLR_RENDERER_ALLOW_SOFTWARE=1
|
||||
ENV WLR_LIBINPUT_NO_DEVICES=1
|
||||
ENV WAYLAND_DISPLAY=wayland-1
|
||||
ENV LIBSEAT_BACKEND=logind
|
||||
ENV XDG_RUNTIME_DIR=/tmp
|
||||
ENV XDG_SESSION_TYPE=wayland
|
||||
|
||||
RUN paru -Syyyu --noconfirm \
|
||||
alacritty \
|
||||
firefox \
|
||||
nautilus
|
||||
|
||||
RUN paru -Syyyu --noconfirm \
|
||||
hyprland \
|
||||
wayvnc \
|
||||
wpaperd \
|
||||
# waysct
|
||||
|
||||
|
||||
USER root
|
||||
# ENTRYPOINT [ "/tmp/entrypoint.sh" ]
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/usr/bin/zsh
|
||||
|
||||
ssh-keygen -q -t rsa -N '' -f $HOME/.ssh/id_rsa
|
||||
exec zsh
|
||||
@@ -10,27 +10,6 @@ services:
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
artix:
|
||||
image: marcpartensky/artix
|
||||
build:
|
||||
context: artix
|
||||
tmpfs:
|
||||
- /tmp
|
||||
- /run
|
||||
# volumes:
|
||||
# - /var/run/docker.sock:/var/run/docker.sock
|
||||
# - /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
# - /dev/dri:/dev/dri
|
||||
devices:
|
||||
- /dev/dri
|
||||
# deploy:
|
||||
# resources:
|
||||
# reservations:
|
||||
# devices:
|
||||
# - driver: nvdia
|
||||
# count: 1
|
||||
# capabilities: [gpu]
|
||||
|
||||
xorg:
|
||||
image: marcpartensky/arch:xorg
|
||||
build:
|
||||
|
||||
+3
-3
@@ -12,7 +12,7 @@ RUN paru -Syyyu --noconfirm \
|
||||
# xorg-server-utils \
|
||||
xorg-server-xvfb \
|
||||
# xf86-video-dummy \
|
||||
tigervnc \
|
||||
x11vnc \
|
||||
novnc \
|
||||
cron \
|
||||
ttf-meslo-nerd-font-powerlevel10k
|
||||
@@ -22,6 +22,6 @@ COPY crontab.txt /var/spool/cron/marc
|
||||
RUN chmod 600 /var/spool/cron/marc
|
||||
|
||||
USER marc
|
||||
COPY entrypoint.sh /opt/arch/
|
||||
COPY supervisord.conf /etc/supervisord.conf
|
||||
COPY supervisord.conf entrypoint.sh /opt/arch/
|
||||
ENTRYPOINT [ "/opt/arch/entrypoint.sh" ]
|
||||
# ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisor.d/supervisord.ini"]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
export WALLPAPERS_PATH=/home/marc/wallpapers
|
||||
supervisord -l /tmp/supervisord.log
|
||||
supervisord -c /opt/arch/supervisord.conf -l /tmp/supervisord.log
|
||||
|
||||
+15
-4
@@ -10,18 +10,30 @@ file=/tmp/supervisord.sock
|
||||
[supervisorctl]
|
||||
serverurl=unix:///tmp/supervisord.sock
|
||||
|
||||
[program:xvnc]
|
||||
command=Xvnc :0 -SecurityTypes None -geometry 1820x980
|
||||
[program:xvfb]
|
||||
command=Xvfb :0 -screen 0 1820x980x8
|
||||
autorestart=true
|
||||
user=marc
|
||||
priority=1
|
||||
|
||||
# [program:xdummy]
|
||||
# command=/usr/bin/Xdummy :0 -screen 0 1820x980x8
|
||||
# autorestart=true
|
||||
# user=marc
|
||||
# priority=1
|
||||
|
||||
[program:picom]
|
||||
command=picom
|
||||
user=marc
|
||||
autorestart=true
|
||||
priority=2
|
||||
|
||||
[program:x11vnc]
|
||||
command=/usr/bin/x11vnc -shared -forever
|
||||
autorestart=true
|
||||
user=marc
|
||||
priority=2
|
||||
|
||||
[program:dwm]
|
||||
command=/usr/local/bin/dwm
|
||||
autorestart=true
|
||||
@@ -51,7 +63,6 @@ user=root
|
||||
priority=5
|
||||
|
||||
[program:alacritty]
|
||||
command=alacritty -e neofetch"
|
||||
autorestart=false
|
||||
command=alacritty -e sh -c "picom -b"
|
||||
user=marc
|
||||
priority=5
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ RUN git clone https://github.com/marcpartensky/shell git/shell
|
||||
RUN make -C git/shell
|
||||
|
||||
USER root
|
||||
COPY supervisord.ini /etc/supervisor.d/supervisord.ini
|
||||
COPY entrypoint.sh entrypoint.sh
|
||||
COPY supervisord.conf /etc/supervisord.conf
|
||||
ENTRYPOINT [ "./entrypoint.sh" ]
|
||||
# ENTRYPOINT [ "DISPLAY=:0", "Xephyr", ":1" ]
|
||||
|
||||
+1
-1
@@ -3,4 +3,4 @@
|
||||
export WALLPAPERS_PATH=/home/marc/wallpapers
|
||||
# export DISPLAY=:0
|
||||
# Xephyr :1 -extension MIT-SHM
|
||||
supervisord -l /tmp/supervisord.log
|
||||
/usr/bin/supervisord -c /etc/supervisor.d/supervisord.ini
|
||||
|
||||
Reference in New Issue
Block a user