figcraft-web
Docker app from MikaPST's Repository
Overview
Readme
View on GitHub
FigCraft Web — Docker Image
A community-maintained Docker image for
FigCraft,
providing its browser-based application through a self-hosted web interface.
Build automation and image publication to GitHub Container Registry (GHCR).
GHCR image tag
Docker Compose configuration
Why this repository?
The official FigCraft project provides a browser-based WebAssembly application. This repository packages that web application into a Docker image to simplify self-hosting.
The goals are to:
- Build the FigCraft Web Web application from the upstream source code.
- Publish a ready-to-run Docker image to GHCR.
- Automatically rebuild the image every week to incorporate upstream changes.
- Provide a convenient deployment option for Unraid Community Applications.
- Offer a simple Docker Compose configuration for users who prefer managing containers with Compose.
- Keep the packaging and deployment configuration separate from the upstream FigCraft project.
This is a packaging and distribution project, not a fork intended to develop a separate application.
How it works
FigCraft Web runs directly in the user's browser. The container serves the static web application through NGINX; it does not provide a remote Linux desktop.
FigCraft Web runs directly in the user's browser using WebAssembly. The Docker container serves the static web application through NGINX; it does not provide a remote Linux desktop.
- Browser-based interface: access the application through a web browser.
- WebAssembly application: the editor runs in the browser rather than in a remote desktop session.
- Web graphics: the upstream web build supports WebGPU with a WebGL2 fallback.
- Self-hosted: run the application on your own server and access it over your local network or through a properly configured reverse proxy.
The container serves the application files rather than acting as an application backend or document-storage service, unless explicitly provided by the upstream web application.
Docker image
The image is published to GitHub Container Registry:
ghcr.io/mikapst/figcraft-web:latest
Option 1 — Docker Compose (recommended)
A docker-compose.yml file is provided at the root of this repository. It is the simplest way to start and maintain FigCraft Web with Docker Compose.
services:
figcraft-web:
image: ghcr.io/mikapst/figcraft-web:latest
container_name: figcraft-web
ports:
- "8080:8080"
restart: unless-stopped
From the repository root, start the application with:
docker compose up -d
Open the application in your browser:
http://YOUR_SERVER_IP:8080
Replace YOUR_SERVER_IP with the IP address or hostname of your server. If Docker is running on your own computer, you can use http://localhost:8080.
Useful Compose commands
# View container logs
docker compose logs -f
# Pull the latest image and recreate the container
docker compose pull
docker compose up -d
# Stop and remove the container
docker compose down
No .env file or persistent volume is required for this basic setup. The host port is configured in docker-compose.yml; by default, port 8080 on the host is mapped to port 8080 in the container. To use a different host port, change the left-hand side of the mapping. For example, 8081:8080 exposes the application on host port 8081.
Option 2 — Run directly with Docker
If you prefer not to use Docker Compose, you can run the container directly:
docker pull ghcr.io/mikapst/figcraft-web:latest
docker run -d \
--name figcraft-web \
--restart unless-stopped \
-p 8080:8080 \
ghcr.io/mikapst/figcraft-web:latest
Open the application at:
http://YOUR_SERVER_IP:8080
Optional CPU and memory limits can be added to the docker run command if needed, for example --cpus=2 --memory=2g. These limits are not included in the default Compose file.
Network access and reverse proxies
The container listens for HTTP traffic on port 8080. For external access, use a reverse proxy such as Traefik to terminate HTTPS and forward requests to the container over HTTP.
Do not expose an unencrypted HTTP port directly to the public Internet. Restrict access to your intended network or protect external access with HTTPS and appropriate access controls.
Automated builds
GitHub Actions builds and publishes the image automatically.
| Trigger | Behaviour |
|---|---|
| Weekly schedule | Rebuilds from the upstream main branch |
| Manual workflow dispatch | Allows a build to be triggered manually |
| Changes to this repository's README, Compose file or workflow | Triggers a new build |
Each successful build publishes:
latest— the most recently published image.upstream-<commit>— identifies the upstream commit used for the build.
The build targets linux/amd64 and linux/arm64. Actual compatibility depends on the upstream build and the target platform.
[!IMPORTANT] A weekly build does not guarantee that upstream changes are compatible or stable. FigCraft is under active development. Test new images before relying on them for important work.
The latest tag is mutable and may point to a newer image after a successful build.
Unraid Community Applications
This image is intended to be distributed through the maintainer's existing Unraid Community Applications repository.
The Unraid template will reference the published GHCR image and provide configuration for the web port and resource limits.
- Unraid Community Applications repository: MikaPST/unraid-community-apps
This repository contains the image build, publication workflow and Docker Compose configuration. The Unraid Community Applications template is maintained separately.
Upstream project
FigCraft is an open-source project developed by the ArtCraft Team and its contributors.
- Source code: figcraft
- Official website: FigCraft
- Official releases: FigCraft releases
This repository builds a browser-based version of the upstream application and packages its generated static web files into a Docker image. It is an independent community-maintained packaging project.
License and attribution
FigCraft is dual-licensed under the MIT License or Apache License 2.0, at the user's option, according to the upstream project. Copyright belongs to the ArtCraft Team and FigCraft contributors.
The upstream project includes license and attribution information for the application and bundled third-party assets. These notices and the applicable license files must be preserved when redistributing the application.
The licenses for the upstream application do not automatically determine the license of the packaging files maintained in this repository. Refer to the repository's own LICENSE file for the terms applicable to those files.
The FigCraft name, ArtCraft branding and logos remain subject to their respective trademark and usage terms. This repository is an independent community-maintained packaging project and is not an official FigCraft release and is not affiliated with or endorsed by the FigCraft or ArtCraft maintainers.
Disclaimer
FigCraft is under active development. Features, compatibility and behaviour may change between builds. Use the application and its generated files at your own discretion.
Requirements
No special privileges, database, or persistent data volumes are required for the standard deployment. The web interface is served over HTTP on container port 8080. Project file handling and browser features depend on the upstream web application and the user's browser. Use HTTPS through a reverse proxy for remote access when required by browser security restrictions.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/mikapst/figcraft-web:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8080]/- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Host port used to access the FigCraft Web interface. The container listens on port 8080.
- Target
- 8080
- Default
- 8086