Skip to content

Commit 8f0af61

Browse files
v1.0.0
1 parent 4329820 commit 8f0af61

File tree

1,828 files changed

+156521
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,828 files changed

+156521
-1
lines changed

Dockerfile

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
FROM ubuntu:20.04
2+
3+
#Setting ENV variables, ADMIN_PASS can/should be overridden when running container
4+
ENV DEBIAN_FRONTEND=noninteractive
5+
ENV ADMIN_PASS=lxdware
6+
7+
#Update and Upgrade repository
8+
RUN apt-get update
9+
RUN apt-get upgrade -y
10+
11+
#Install Curl for API calls
12+
RUN apt-get install curl -y
13+
14+
#Install sudo to be able to run lxc commands as www-data without password
15+
RUN apt-get install sudo -y
16+
17+
#Install web server requirements
18+
RUN apt-get install apache2-utils -y
19+
RUN apt-get install nginx -y
20+
RUN apt-get install php-fpm -y
21+
22+
#Install database requirements
23+
RUN apt-get install sqlite3 -y
24+
RUN apt-get install php-sqlite3 -y
25+
26+
#LXD Setup. Copy compiled lxc binary from source code, version 4.02
27+
RUN apt-get install libc6 -y
28+
COPY lxc /usr/bin/
29+
30+
#Open up port 80 for web traffic
31+
EXPOSE 80
32+
33+
#Set the no password option for running lxc commands
34+
RUN echo "www-data ALL=(ALL) NOPASSWD: /usr/bin/lxc, /usr/bin/curl" >> /etc/sudoers
35+
36+
#Setup web directory and files
37+
COPY default /etc/nginx/sites-available/
38+
COPY index.html /var/www/html/
39+
RUN mkdir -p /var/www/html/admin
40+
ADD admin /var/www/html/admin
41+
RUN chown -R www-data:www-data /var/www/html/
42+
RUN service nginx restart
43+
44+
#Copy and run the startup script
45+
COPY startup.sh /root
46+
RUN chmod +x /root/startup.sh
47+
CMD /root/startup.sh

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,19 @@
11
# dashboard
2-
LXD web dashboard
2+
This LXD dashboard by LXDWARE is a full-featured web interface that makes it easy to manage the containers and virtual machines on your LXD servers. Some of the features include:
3+
4+
- Creating/launching new LXD container and virtual machine instances
5+
- Starting, stopping, renaming, and deleting LXD instances
6+
- Cloning/Copying instances
7+
- Creating, restoring and deleting snapshots of instances
8+
- Downloading LXD container and virtual machine images to your host
9+
- Creating, editing, and applying LXD profiles
10+
- Creating and editing networks, storage pools, and projects
11+
- Selecting between projects on a host
12+
13+
This project is an HTML5 web based dashboard used to control the LXD/LXC containers of remote servers. The software runs within a Docker container and is built using Ubuntu, NGINX, and PHP.
14+
15+
To get started using this web dashboard first install docker on your computer. Then for a persistent container run:
16+
17+
docker run -d --name dashboard -p 80:80 -e ADMIN_PASS="lxdware" -v ~/lxdware/data:/var/lxdware/data lxdware/dashboard
18+
19+
For more information visit https://lxdware.com or view the docker information at https://hub.docker.com/r/lxdware/dashboard

0 commit comments

Comments
 (0)