First you should download the latest version of from our homepage at https://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, you can do this in Repetier-Host:
Alternatively, you can 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
sudo service RepetierServer start
sudo /etc/init.d/RepetierServer start
# Stop server
sudo service RepetierServer stop
sudo /etc/init.d/RepetierServer stop
# Restart server
sudo service RepetierServer stop
sudo /etc/init.d/RepetierServer restart
In newer systems with systemd init configuration, you need to use the service command. The init.d version only works on older systems!
The easiest way to set up a new printer is to upload an existing config file. Go to and click on Upload Printer Configuration. Enter a printer name, select the configuration file and click Create Printer.
That's all. Maybe you need to change the serial port.
To set the port, select your new printer on the dashboard and go to Printer Settings.
To create a configuration file, go to and click Download Printer Settings 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 Global Settings Push Messages to configure your push messages.
Here you have to enter an 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 choose 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 kg 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 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 runs the task locally.
To add an new instance, click the button Add, enter a name, the API key
of the instance, the IP address and the port and click the button Apply Changes.
Notice: The server will always try to outsource computations, if there are cloud computers specified. Therefore it is important to enter only
more capable and faster computers. The first accessible computer from the top of the list is used, so that the fastest computer should stand at the top.
If you have upset an external route with domain name and port, you can enter the connection data here to show it for example as QR code on the dashboard.
Depending on the NAT roules in your router, the port may differ from the port the server really uses.
If a webcam is activated in the printer settings, you can specify that images are taken at predetermined intervals. These images can be played via the website like a video. If you want to export it as an mp4 video, you must install FFMPEG. Free download of FFMPEG (version 1.1 or newer) for all operating systems: http://ffmpeg.org/download.html
After installing FFMPEG you have to enter the path (eg C:\ffmpeg\bin\ffmpeg.exe or /usr/bin/ffmpeg), that's all. If a remote server is connected, rendering will be outsourced, if the remote server has also FFMPEG installed.
Notice: Alternatively you can install avcanv instead of FFMPEG. Everything will work the same except repeat first/last frame, which will be replaced with no repetition. The executable must be named avconv to be detected automativally.
Threads for Conversion: If you have a multi-core processor, you can specify here how many threads will be used simultaneously to render the video.
Repeat First Frame for: Thus the print does not start immediately on the video, the first picture can be repeated for x seconds.
Repeat Last Frame for: Here the last picture can be repeated for x seconds.
Min. free Disk Space: To avoid that hard disk space runs out while the video is created, here you can specify how much disk space must be at least free, so that the video rendering will start.
Add Watermark: Here you can specify if you want to embed a watermark in the video.
Watermark Position: Here you define, in which corner the watermark appears.
Watermark Image: Here you can upload your own image, which is used as a watermark. The image must be a PNG and may have alpha channel transparency.
Notice: Each webcam has additional settings defined in printer configuration and in the webcam view of the printer.
Here you can register local folders, which you can use to import G-Code or STL files into the server. Typical reasons are usb sticks or frequently used folders to provide new files.
You can enter a folder name for each folder. Click Browse to select the folder and Add new Folder to save the folder.
For Linux systems you can configure the OS to allow WLAN configuration through Repetier-Server. Read https://www.repetier-server.com/wlan-server-configuration/ for instructions how to set up this. With such a setup you can configure your WLAN in Global Settungs WLAN. You can configure your PC to connect to an existing WLAN or to act as an access point. The settings have two blocks. The first block configures some general parameters:
The second block shows all available WLAN routers. Here you can connect to one of these. If it is encrypted or the password is not stored you will be asked for the passwort.
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 with specialized 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 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 on the dashboard . 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 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.
Note: Since IP V4 address pool is used up, providers start using IP V6 to IP V4 mappings. Depending on the used solution, port forwarding may not work for you.
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 planned. 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 speed, 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.
You can quickly change the temperature of the current extruder with the round slider or by clicking on the number in the middle.
If you have defined temperature values in your printer settings, they get displayed below, so that you can click them directly.
To set these predefined values go to Printer Settings Extruder Predefined Extruder Temperatures.
You can quickly change the bed temperature with the round slider or by clicking on the number in the middle.
If you have defined temperature values in your printer settings, they get displayed below, so that you can click them directly.
To set these predefined values go to Printer Settings Extruder Predefined Bed Temperatures.
With this function it is easy to change your filament.
If you are printing several objects in parallel, it can happen, that one object failes or you just do not need all objects. For this case you can add rectangular regions, where nothing gets printed. Click Add Region to add a rectangle on the print bed while pressing the left mouse button. You can add multiple regions. Each region gets a separate color and is listet with this color in the Exclude G-Codes list, so you can find and delete the corresponding region easily.
You can add new regions anytime before or during print. They take effect immediately after adding. After a print job is finihed, all regions get deleted.
If you have a printer with touchscreen, the operability of the regular pages of can be too complicated and depending on hardware and screen resolution too complex and memory intensive. For this reason we have developed a customized interface for common touchscreen sizes with different resolutions.
You access the touchscreen web page at: http://localhost:3344/modules/front2/www/app.html/
Currently, the following screen resolutions are supported:
To use this touchscreen interface, you need a brwoser that supports Flexbox (e.g. Firefox, Iceweasel or Chrome) and run this browser in fullscreen mode. If you are a printer manufacturer and need a different screen resolution, please contact us, then we can add other resolutions.
The surface fits automatically to the display resolution and can be operated intuitively. The design can easily be customized with HTML and CSS knowledge, which is particularly interesting for printer manufacturers who want to offer this with their own branding. More about adapting can be found on our website.
Notice: Since the cheap mini PC Raspberry Pi is very popular and there are a number of touchscreen monitors for this, we have created two special images, which differ on the following points from the standard Jessie distribution:
Version 1 (without display):
Version 2 (with touchscreen display):
Here you can download our Raspberry Pi images.
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>
true
true
true
true
true
true
</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!
Writes the IP address on the LCD display.
Creates a communication error.
Starts the next job in the print queue automatically as soon as the currently running job is completed.
Note: This is intended for printers that clear the bed automatically, because otherwise it will be printed on the full printing bed, which can cause damage!
Disables @autostart_next_job.
Displays important communication variables.
Send this to log extended communication behavior. Send it again to stop it.
Rendering commands have no influence on the print itself. They only influence how the G-Code renderer creates the preview images.
Ignore next print moves for object size calculation. This is interesting if you make a extrusion at a fixed position. Then the server will include that into the size and that may lead teh rendere to show a much too small object.
Stops the @nosize command from neglecting size computation. Never forget this if you use @nosize. They should always come as a pair.
Forces the G-Code renderer to use the given color for extruder ID (extrID). Extruder ID starts with 0 for extruder 1. Example: @extruderColor 0 #ff0000
G0 X<xpos> Y<ypos> Z<zpos> E<epos> F<feedrate>
G1 X<xpos> Y<ypos> Z<zpos> E<epos> F<feedrate>
G4
G10 S<1 = long retract, 0 = short retract = default>
G11 S<1 = long retract, 0 = short retract = default>
G20
G21
G28
G29 S<0..2>
G30 P<0..3>
G31
G32 S<0..2> P<0..1>
G90
G91
G92
G131
G132
G133
G134 Px Sx Zx
G201 P X
G202 P X
G203 P
G204 P S<0/1>
M104
M105
M106
M107
M109
M114
M3
M4
M5
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
M200 T<extruder> D<diameter>
M201
M202
M203
M204
M205
M206
M207 X<XY jerk> Z<Z Jerk> E<ExtruderJerk>
M209 S<0/1>
M220 S<Feedrate multiplier in percent>
M221 S<Extrusion flow multiplier in percent>
M226 P<pin> S<state 0/1>
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>
M355 S<0/1>
M360
M400
M401
M402
M408 S<0-5>
M450
M451
M452
M453
M460 X Y
M500
M501
M502
M513
M600
M601 S<1/0>
M602 S<1/0> P<1/0>
M603
M604 X Y Z T
M908 P<address> S<value>
M999
We offer manufacturers and vendors the possibility to create a custom branding for with own name, logo and colors and to distribute this customized version to their customers. For this a license code is required in any case. On request we offer licence codes for resellers at reduced rates.
Here we show how to create your own branding of .
If you want to customize the touchscreen interface, click here.