Application
Description
GoLand wouldn’t be a true IDE without a rich set of tools which, in addition to core Go development, support JavaScript, TypeScript, NodeJS, SQL, Databases, Docker, Kubernetes, and Terraform. All together, these capabilities make it perfectly equipped for working on any task, be it a modern web application or DevOps tools.
Build notes
Latest stable GoLand release from Arch Linux.
Usage
docker run -d \
-p 5900:5900 \
-p 6080:6080 \
--name=<container name> \
--security-opt seccomp=unconfined \
-v <path for config files>:/config \
-v <path for data files>:/data \
-v /etc/localtime:/etc/localtime:ro \
-e WEBPAGE_TITLE=<name shown in browser tab> \
-e VNC_PASSWORD=<password for web ui> \
-e ENABLE_STARTUP_SCRIPTS=<yes|no> \
-e UMASK=<umask for created files> \
-e PUID=<uid for user> \
-e PGID=<gid for user> \
binhex/arch-goland
Please replace all user variables in the above command defined by <> with the correct values.
Example
docker run -d \
-p 5900:5900 \
-p 6080:6080 \
--name=goland \
--security-opt seccomp=unconfined \
-v /apps/docker/goland:/config \
-v /apps/docker/goland/projects:/data \
-v /etc/localtime:/etc/localtime:ro \
-e WEBPAGE_TITLE=Tower \
-e VNC_PASSWORD=mypassword \
-e ENABLE_STARTUP_SCRIPTS=yes \
-e UMASK=000 \
-e PUID=0 \
-e PGID=0 \
binhex/arch-goland
Access via web interface (noVNC)
http://<host ip>:<host port>/vnc.html?resize=remote&host=<host ip>&port=<host port>&&autoconnect=1
e.g.:-
http://192.168.1.10:6080/vnc.html?resize=remote&host=192.168.1.10&port=6080&&autoconnect=1
Access via VNC client
<host ip>::<host port>
e.g.:-
192.168.1.10::5900
Notes
ENABLE_STARTUP_SCRIPTS
when set to yes
will allow a user to install additional packages from the official Arch Repository or the Arch User Repository (AUR) via scripts located in the folder /config/home/scripts/
. A sample script is located at /config/home/scripts/example-startup-script.sh
with comments to guide the user on script creation.
User ID (PUID) and Group ID (PGID) can be found by issuing the following command for the user you want to run the container as:-
id <username>
If you appreciate my work, then please consider buying me a beer :D