A LiteIDE redistribution as Docker container image providing a fast, portable, reproducible Go development environment.
This image can be run using the launcher script liteide.sh or using
Docker directly.
Install the launcher script on your host:
curl -fsSL https://raw.githubusercontent.com/mgoltzsche/liteide-docker/master/liteide.sh -o /tmp/run-liteide &&
chmod +x /tmp/run-liteide &&
sudo mv /tmp/run-liteide /usr/local/bin/run-liteide
The launcher can be used as follows:
run-liteide PROJECTDIR [PACKAGE]
| Argument | Description |
|---|---|
PROJECTDIR |
The project directory that should be opened with LiteIDE |
PACKAGE |
Optional: the package your PROJECTDIR should be mounted to |
| Environment variable | Description |
|---|---|
LITEIDE_INI |
Path to a liteide.ini file that should be used. Default: $PROJECTDIR/liteide.ini |
LITEIDE_VERSION |
LiteIDE version |
LITEIDE_IMAGE |
full LiteIDE Docker image name (overwrites LITEIDE_VERSION) |
LITEIDE_CACHE |
if set to on the directory .liteide-cache is mounted to the container's GOPATH |
In order to run a container using this image directly you need to provide several options:
- provide your host UID/GID as
CHOWNenvironment variable in order to run LiteIDE as your user (not required when using podman) - pass through your host's
DISPLAYenvironment variable - mount your host's
/etc/machine-id - mount your project directory into the container's
/godirectory (GOPATHpoints to/go) - optionally you can also mount your project's
liteide.inito/tmp/liteide/.config/liteide/liteide.iniwithin the container (seeliteite-example.ini)
Example:
docker run --name liteide --rm \
-e CHUSR=$(id -u):$(id -g) \
-e DISPLAY="${DISPLAY}" \
--mount type=bind,src=/tmp/.X11-unix,dst=/tmp/.X11-unix \
--mount type=bind,src=/etc/machine-id,dst=/etc/machine-id \
--mount "type=bind,src=${PROJECTDIR:-.},dst=/go/src/github.com/example/project" \
mgoltzsche/liteide:latest \
/go/src/github.com/example/project
This section explains how to manage LiteIDE's build configuration.
In order to build the whole project independent of your currently
opened file and with the root package's BUILDFLAGS you may want
to lock the build path as follows:
- Using the root package's context menu select
Build Path Configuration - Configure the
BUILDFLAGSvariable if required Lock Build Pathto the top-level directory
If you want keep your configuration across IDE restarts or ship it with
your project you need to enter the LiteIDE Docker container and copy
/opt/liteide/home/.config/liteide/liteide.ini to your project dir at
./.liteide.ini.
- This project (Docker build + script): Apache License 2.0
- LiteIDE: GNU Lesser General Public License v2.1