First you should download the latest version of from our homepage at http://www.repetier-server.com.
By default the server stores all data in a global directory, which is normally located at C:\ProgramData\Repetier-Server\. This directory gets never deleted by updating or uninstalling the server to prevent data loss. If you want to backup your current state, just backup this directory.
The Server works as a background service. For this reason, you will never see it in the list of running programs and you never start it directly. It will be started automatically at startup of windows, so you can access it any time with your browser. To start, stop or restart it manually, follow these steps:
By default the server stores all data in a global directory, which is normally located at /Library/Application Support/Repetier-Server/. This directory gets never deleted by updating or uninstalling the server to prevent data loss. If you want to backup your current state, just backup this directory.
The Server works as a background daemon. For this reason, you will never see it in the list of running programs and you never start it directly. It will be started automatically start with the first initated connection with your browser. To start and stop it manually, open a terminal windows and enter
# Stop server
sudo launchctl unload /Library/LaunchDaemons/com.repetier-server.RepetierServer.plist
# Start server
sudo launchctl load /Library/LaunchDaemons/com.repetier-server.RepetierServer.plist
To install a new version of download the version matching your computer and open a terminal and go to the download directory. There you enter:
sudo dpkg -i NewRepetierServerVersion.deb
After this, the server should already be running and you can access the interface with http://localhost:3344 or http://<ip address>:3344 if you are running it on a remote linux computer.
By default the server stores all data in a global directory, which is normally located at /var/lib/Repetier-Server/. This directory gets never deleted by updating or uninstalling the server to prevent data loss. If you want to backup your current state, just backup this directory.
The Server works as a background daemon. It will be started automatically at startup of linux, so you can access it any time with your browser. To start, stop or restart it, enter the following command in a terminal:
# Start server
/etc/init.d/RepetierServer start
# Stop server
/etc/init.d/RepetierServer stop
# Restart server
/etc/init.d/RepetierServer restart
The easiest way to set up a new printer is to upload an existing config file. Go to -> Actions and click on Upload Printer Configuration. Enter a printer name, select the configuration file and click Create Printer.
That's all. Maybe you must select the COM port.
To set the port, select your new printer on the left side and go to Settings -> Printer Settings.
To create a configuration file, go to Dashboard and click Actions -> Download Configuration in the printer
overview.
Another very simple way to add a new printer is our Configuration Wizard. Go to and click on + Add new Printer.
3D printing is cool, but it always takes some time and nobody wants to spend all the time sitting next to the printer.
This is where the Repetier-Informer app
(the required app is available for Android and iOS devices) enters the scene. This will give you the desired status reports via fast and
free push messages to your smartphone and/or tablet.
Click at top right of the browser window on the gear and choose Push Messages to configure your push messages.
Here you have to enter a informer group you have created in your app and you can specify for which events messages are sent:
creates preview images for all uploaded g-codes and STL files, so that you can easily browse through your models and see them. To set the quality and colors, go to and choose Global Settings -> Preview Images.
Here you can set the material colors for each extruder. The color settings are used for all printers, so here may be more extruder displayed as you have.
To set the color you can enter the rgb values in hexadecimal format, use our color picker or click Select predefined colors and choose one of our color proposals.
Normally you just have to choce between hard and soft shadows for STL files (G-Codes always have hard shadows). Soft shadows take much more time for rendering. If you select Individual Advanced Settings, you can set all parameters like antialaising quality, shadows, refelctions, colors of bed and horizon, lights, ... manually. Note that some settings can extremely increase the computing time. For all the parameters you will get examples by clicking on .
With you can calculate in advance what a print will cost.
Click at top right of the browser window on the gear and choose Global Settings -> Prining Costs to configure your price calculation.
Here you can set your currency, a handling fee (for professional offers) and costs per hour (e.g. electricity prices, hourly usage charge and printer wear).
Then you can create any number of filament types and for each a price per cm³ and a weight per cm³.
With the API key in your Global Settings you can get complete access to the server. This is used to allow servers to communicate with each others or to add connectivity with other software without the use of login/password. Keep it secret or change it if you think it got compromised. To change the API Key, klick the button Replace with new API Key.
If you do not want to give complete access to the server, use the API Key from a User at User Profiles. Here the server gets the same rights as the choosen user.
If your server runs on a slow machine, it might be useful to do delegate cpu or memory intensive tasks to other instances on other computers. It is not necessary, that the other instance is configured for any printer. It must be running, that is all that is required. So if you have a pc that runs anyway you might want to add the pc to the list. If no other server in this list is reachable, the server tries to run it locally.
To add an new instance, click the button Add, enter a name, the API key of the instance, an IP address and the port and click the button Apply Changes.
has a user management to assign individual users specific legal rights. Anyone who uses alone and only in the home network does not necessarily need a user management. But if you would like to have access to over the internet from anywhere, you should definitely create a user account, otherwise hackers may have access to the your server.
The first created user is a superuser with all rights. Then more users can be created which special rights so that they eg can not change the printer settings.
Click at top right of the browser window on the gear and choose User Profiles.
To add a new user click Create User. You just have to set a user name and a password, mark the wanted rights and click Create User.
The first created user is a superuser with all rights.
After you have created a user, you need to sign in to get access to .
Every user has an API key. With this API key you can get access to the server with the selected rights. This is used to allow servers to communicate with each others or to add connectivity with other software without the use of login/password. Keep it secret or change it if you think it got compromised. To change the API key, click the Edit button for the user and then click the button Create new Key.
Access a device from everywhere is a bit tricky, if you haven't done it before. First you should make sure that the computer running the server always has the same ip address. You can give it a static ip address or you teach your DHCP server to give it always the same ip address. For this, DHCP servers can bind a ip address to the computers MAC address. You can see the MAC in network settings. On linux systems ifconfig or ip addr show your settings and include also the MAC address. For those still wondering where this DHCP server is - it is typically a part of your network router connecting you to the internet. You should run this step even you do not want a worldwide access, simply to make it easy to access your printer and your webcam inside your house with the same URL.
Your router has only one external ip, so it is normally not possible to access any device behind this from outside. Most routers allow a trick called network address translation. Lets assume your server computer always gets the local ip address 192.168.0.22 and runs there on port 3344. Now we add a new entry in the NAT table on your router. We say it should map port 2000 to 192.168.0.22:3344. From this time it is now possible to enter your external ip with port 2000 and you will see the server user interface. If you have a webcam you need to forward the ports as well or you can not see the webcam from outside. Moreover you need to set the external webcam url in your configuration.
If you do not have a static ip address, like most of us, you are still in trouble. Your ip might change any time and then you can not connect from outside. The solution here is DynDNS. It allows a nameserver to change the ip, when your router gets a new ip address. Most routers support DynDNS out of the box for some systems. If it does not or if you want a free DynIP solution, have a look at https://duckdns.org. They provide a free entry and also show how to set it up for many platforms. Once you have set up your DynDNS solution, you have a simple url that works as long as your router is online and the server computer running. It could then look like mycoolprinter.dyndns_vendor.org:2000. The name comes from your DynDNS setup and the 2000 is the port you have set in your router NAT table.
You can quickly change the speed with the round slider or by clicking on the number in the middle. The speed is relative to the G-Code speed, so 100 means original speed and 150 means 50% faster than planed. Changing the speed will not changed the calculated times correctly. If you have changed your speed, you do not have to change the flow. Increasing speed may reduce the print quality.
You can quickly change the flow with the round slider or by clicking on the number in the middle. The flow changes the amount of extruded filament. If you see that you get not enough extrusion, you can increase the value. If you see filament piling up to high you should reduce it. Ideally your slicer should contain the right flow multiplier, so that you always print with 100%. If you change the ypeed, you do not have to change the flow.
You can quickly change the fan speed with the round slider or by clicking on the number in the middle. If you are printing, the G-Code may contain fan controlling commands which can overwrite your settings. Below the slider you can switch the fan power on and off without changing the value.
Sometimes it is usefull to be able to call some external commands from the web interface. For example if you are running the server from a Raspberry-PI and want to shut it down, it would b econvenient to do so savely without opening a ssh terminal. For that reason you can extend the top right menu with external commands, which then appear there. On the other side you might want to run some commands on special positions of the print. The server therefor has the @execute command allowing to call an external programm. For security reasons it is not possible to call arbitrary commands. Instead you have to write a extcommands.xml file which you drop in your databbase subdirectory inside your storage directory (see installation where this is for your os).
Below you see an example of such a code. After adding/changing the file, you need to restart the server. Make sure your file keeps valid!
<config>
<!--
If you want to run external commands, enter them in this configuration with
full path. You will see them in the main menu. Copy this file into the
<storage>/database directory.
Security consideration: The reason there is no online editor for this is simply
security. The commands you enter here are executed with the privileges of the
daemon running the server. If you would allow online configuration, a hacker could
simply add any command he needs to hack your system.
-->
<command>
<name>Shutdown Server</name>
<execute>sudo /sbin/shutdown -h now</execute>
<confirm>Really shut down the server?</confirm>
</command>
<command>
<name>Reboot Server</name>
<execute>sudo /sbin/shutdown -r now</execute>
<confirm>Really reboot the server?</confirm>
</command>
<!--
G-code files can contain
@execute cmd param1 param2
commands. To prevent external users from executing unwanted or dangerous commands,
only commands defined here are allowed to execute. More over, only the shortcuts
defined here are to be used as cmd in @execute. Prevent parameter where ever possible.
-->
<execute name="play" allowParams="true">/usr/bin/afplay</execute><!-- play the sound file on moc os x -->
</config>
All commands get executed with the user account and privileges the server daemon runs. So if you want to allow it to shutdown your computer, you need to add RepetierServer to the list of allowed users. To do this, open a shell and enter the following commands:
# sudo -s
# echo "repetierserver ALL=NOPASSWD: /sbin/shutdown" > /etc/sudoers.d/repetierserver-shutdown
Sometimes you might want to initate actions at special positions of the G-Code beeing send. To allow this, you can add server commands inside the code. Server commands start with @ or ;@. Use the latter if the code should also woek without the server. Then it would be handled as a simple comment and gets ignored. You can also send these commands over the console panel.
Use this to pause at a predefined position. Add some text to give a hint on why you did pause. If push messages are enabled for pauses you will get also a message on your smartphone.
Puts the message into the message queue. Usefull to get some timings or why ever you might want a message.
Sends a push message if enabled with the text.
If you have set up a extcommands.xml with some execute statements, you can run them with @execute. cmd should match the name given with name attibute. Additional parameters are only added if this was allowed in extcommands.xml.
Marks the current position as at home coordinates. Usefull if your printer has no endstops yet.
This command tries to reset the printer with the DTR/RTS signal toggle. Not all printers can be reset that way!
G0 X<xpos> Y<ypos> Z<zpos> E<epos> F<feedrate>
G1 X<xpos> Y<ypos> Z<zpos> E<epos> F<feedrate>
G4
G20
G21
G28
G29 S<0..2>
G30 P<0..3>
G31
G32 S<0..2> P<0..1>
G90
G91
G92
G131
G132
M104
M105
M106
M107
M109
M114
M20
M21
M22
M23
M24
M25
M26
M27
M28
M29
M30 <filename>
M32 <dirname>
M42 P<pin number> S<value 0..255>
M80
M81
M82
M83
M84
M85
M92
M99 S<delayInSec> X0 Y0 Z0
M104 S<temp> T<extruder> P1 F1
M105 X0
M112
M115
M116
M117 <message>
M119
M140 S<temp> F1
M163 S<extruderNum> P<weight>
M164 S<virtNum> P<0 = dont store eeprom,1 = store to eeprom>
M190
M201
M202
M203
M204
M205
M206
M207 X<XY jerk> Z<Z Jerk> E<ExtruderJerk>
M220 S<Feedrate multiplier in percent>
M221 S<Extrusion flow multiplier in percent>
M231 S<OPS_MODE> X<Min_Distance> Y<Retract> Z<Backlash> F<ReatrctMove>
M232
M233 X<AdvanceK> Y<AdvanceL>
M251
M280 S<mode>
M281
M300 S<Frequency> P<DurationMillis>
M302 S<0 or 1>
M303 P<extruder/bed> S<printTemerature> X0
M320
M321
M322
M323 S0/S1
M340 P<servoId> S<pulseInUS>
M350 S<mstepsAll> X<mstepsX> Y<mstepsY> Z<mstepsZ> E<mstepsE0> P<mstespE1>
M400
M401
M402
M500
M501
M502
M908 P<address> S<value>