Thank you for coming by and checking out our docs taking a deeper dive into what our service can offer you 100% for free.
Our team has spent an abundance of time and energy to make all of this possible, and we are very excited to meet you and see the different things people will build on our platform.
This is more than a developer hosting service, this is a community based on the love to use Linux and the drive to learn as much as we can to succeed in the art of programming.
If you are like us and would love to learn how to progress your knowledge in either programming or Linux, please follow to the next section and join our discord server.
If you have not done so yet, please join our discord server.
Join our discord server here: CLICK ME
Once you are a member of our discord server, you may automatically begin generating a container.
Here is an example of this using the /generate command which will automatically select Ubuntu.
If you would like to choose an Operating System for your container, you may use /genos like so:
Simply use the drop down to select the OS you would like to use.
Removal Notifications will only be sent if the @dlinux-Notifs bot is in your server or you are a member of the Discord-Linux Support Server.
You may invite the bot using /invite-notifs-bot
Each generated container has an expiration date which is seven (7) days after the container generated, and will be removed automatically after that.
Only the upgraded containers that has no expiration date.
If you want your free container to run longer than seven (7) days, you need to extend the container by running the extend command
/extend to add seven (7) days from the date the command was ran.
Here is an example of checking your containers time:
Here is an example of a time extention:
We also have a web control panel at https://ctl.ssh.surf. Login credentials to access this panel will be sent to you through Direct Message when you first create a container.
Note: Login credentials will only be sent once only. So, make sure you save your credentials somewhere safe.
This control panel has the ability to manage your container, such as:
You can also view the containers resource usage with easy to understand graphs, as well as the ability to view all the currently running processes.
You are provided with a randomly generated password through Direct Message once container generation has completed, however, you may wish to change this password.
Secure your container by running the following command:
echo "root:newpasswordhere" | chpasswd
You can also login via SSH and use passwd like this:
Note: Please enable privacy mode using /privacy before submitting the command.
You could also reset your container’s root password using our API:
Once your container has been generated, you can submit commands to it, this can be done using the “/x command” syntax.
Each container is linked using Discord ID, so it’s not possible for other users to submit command as you, so your container is private.
Here is an example of the “/x command” syntax
This is showing the command as it finishes running:
As you can see in the above, the “/x command” syntax will allow the user to submit any linux command in any public discord channel that allows the bot access.
All users interact under the “root” user.
Just like any Linux Environment, you will need to browse the filesystems directories and create files and directories.
In this example, we are going to change to the root directory of the container:
Once submitted, the bot will confirm its working directory:
Now, you can ls the directory to view its contents using /x cmd ls
Within Discord-Linux there is no use of ~ or … So we coded a custom solution for this. In this example, I will show you how to go backwards in navigation:
We are currently in the /home/raven/test directory:
Now we use /x cmd gobk to change to /home/raven:
Upon your first few uses of the containers, you will see
start.sh in the root directory of the container
This script is called when the container boots up, this is where you define your systemctl service starts or any commands you would like to run during boot time.
Here I will break down each line in the stock file:
#!/bin/sh < – Tells the system to use SH
export CID=$(basename $(cat /proc/1/cpuset)) < — Container ID as a system VAR
service ssh start < — This starts the SSH Server on boot
sh /var/tools/getsystemctl.sh < — Replacement for systemctl which is required
tail -f /dev/null <— To keep the container running! DO NOT REMOVE!
Now, we have a built-in Notification Service which is installed along with our AutoInstallers. This is a Linux binary which gives your container the ability to DM you about anything you wish.
Our best example of this, is within our AutoInstallers which some of them do take a lot of time to finish installing. Due to this, I wanted to provide a way for users to run the installer and then just walk away. They will be notified through DMs with a direct link to their installation when it’s completed.
To install it manually, use:
wget -q -O - https://ssh.surf/notify | bash
Then, you can call it by running the binary
notif. The bin is installed in
To use, simply pass text:
$ notif “This is a test message”
I also coded it to form a message out of args like so:
$ notif This is a test message
Both commands will output the same message.
With the update to the new Discord V10 API, we now support modals, files can be written to the filesystem of your container using the new /write-file slash command, this will pull up a form like so:
The output will be like so:
Then you can check the contents of your new file:
You can edit files from within your container directly within the bot, to do so, run the /edit-file command providing the full path to the desired file.
A discord form will populate with the files contents for easy editing:
You can now upload files within Discord-Linux using the /upload slash command, this command is limited to your accounts upload limits.
An attachment is required.
WARNING: All files uploaded using /upload will also enter Discord’s CDN
DO NOT UPLOAD SENSITIVE FILES OR DATA TO THIS SERVICE.
Each container gets a set of 7 ports open, one is dedicated to SSH and is binded to port 22 on your container, the other is dedicated to HTTP Server and that is binded to port 80 on your container.
Here is how to check your ports with the /ports command:
If you would like to register a subdomain to be used as a hostname for your container, you can use our custom Hostname Generator
There are only two steps involved:
Step 1) Generate an A record within DNS to do so run the following command:
This will show a discord form where you can select the node you are generating for as well as the subdomain you want to register:
Once submitted, your subdomain will be ready for the next step.
Step 2) Generate a VHOST within Apache.
To do so run the following command:
This will show a discord form where you can select the node you are generating on as well as the sudomain and port number you are assining to the subdomain:
The Name Servers are:
You may follow the below instructions for ANY subdomain you create as well!
To generate an account to access our built in DNS panel, type the following command:
You then will be DirectMessaged the login details to access the panel.
To add a domain to the DNS Panel, you may register your domain using the below command:
This will ask you for the domain you wish to add to the panel.
Next, you would need to generate a certificate for the domain:
This will show a form asking which node you would like to generate a certificate on along with the domain your generating a certificate for:
Lastly, add a VHOST for a PORT:
This will show a discord form where you can select the node you are generating on as well as the sudomain and port number you are assining to the domain:
You can check your container resource usage within Discord using /stats like so:
If you would like to either have a backup or download an export of your container to start up at another host, you can do so using the /export command, you will then see a DirectMessage containing a download link containing the entire filesystem of your container.
Say that if you want to start all over brand new, that is easy for our system to handle, simply use the /destroy command to destroy and remove your existing container and then, you can use /generate again to start fresh!
Note: Running this command will remove all of your existing data in the container, please think twice if you really want to run this command.
We offer container upgrades at our upgrade store https://store.discord-linux.com/
Before purchasing an upgrade at our store, please ensure you have a container running within Discord-Linux.
Within this example, I will show us upgrading our test users container to the “Power” plan.
At the upgrades page, add your DiscordID as shown below
Submit your order and complete your checkout using Paypal (Your email is all we require on our end)
Once you see the “Order Confirmation” screen, the upgrade has already completed and you will notice a license key:
You can add your key to the Discord-Linux bot using the /add-key command, this will allow the upgrade to be applied to any containers you generate, this uses a modal form for your privacy:
Once submitted, the key is added:
Here is showing the upgraded resources:
Then, you can now check the details about this license key using /key-status like so:
Any key that expires gets automatically removed from the system and the container will be reset to default limits. Upgrades can be purchased at any time.
If you would like to donate to help keep our services online and provide much more powerful machines, please consider purchasing a container upgrade, or donate to us through the donation page below:
Any donations are very much appreciated.