Skip to content

excalidraw

Excalidraw is a virtual whiteboard for sketching hand-drawn like diagrams.

excalidraw

Prepare

Pull the image

podman pull docker.io/excalidraw/excalidraw:latest

Create directories

mkdir -p $HOME/apps/{variables,container_data}
mkdir -p $HOME/apps/container_data/draw

Installation

touch $HOME/.config/containers/systemd/draw.container
# excalidraw.container
[Unit]
Description=excalidraw
[Container]
ContainerName=draw
Image=docker.io/excalidraw/excalidraw:latest
AutoUpdate=registry
HostName=draw
Network=skynet.network
[Service]
Restart=always
TimeoutStartSec=300
[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user start draw

Configuration of Nginx (Reverse Proxy)

Create nginx conf.

touch $HOME/apps/container_data/nginx/draw.conf

Configuration for nginx conf for port 80.

server {
    listen 80;
    server_name draw.skynet.lan;
    access_log /var/log/nginx/draw_access.log;
    error_log /var/log/nginx/draw_error.log;
    location / {
        proxy_pass http://draw:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Restart Nginx

systemctl --user restart nginx

Usage

Open http://draw.skynet.lan

Troubleshooting

podman logs -f draw
journalctl --user -u nginx -n 200