First you should download the latest version of Repetier-Server 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 Repetier-Server 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
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:
Repetier-Server 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 Repetier-Server 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.
Each server installation has an own server name and helps to identity your installation when running multiple instances and when you use the cloud to control all your instances. If you change your server name, referencing servers will automatically rename to the new name. To connect to the cloud, you need the UUID, which must be unique. If you copy an running server image, you might copy the UUID, so you could get two installations with the same id, which will cause troubles when you connect to the cloud. In this case, click New Server UUID before connecting to the cloud.
If your server runs on a slow machine, it might be useful to delegate cpu or memory intensive tasks to other Repetier-Server 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.
You can set if the remote server is used for time intensive computations and if it has access to stored projects.
To add an new Repetier-Server 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 set this only to 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.
If you use our iamge for Raspberry Pi, you can configure WLAN via acces point mode. For details click here: https://www.repetier-server.com/download-images/ 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. Click on the wanted router. If it is encrypted or the password is not stored you will be asked for the passwort.
Repetier-Server has a user management to assign individual users specific legal rights. Anyone who uses Repetier-Server alone and only in the home network does not necessarily need a user management. But if you would like to have access to Repetier-Server 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 Repetier-Server.
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.
If you use our touchscreen interface on your printer, you can set a pin to unlock the display after the screen saver is activated, so that no unauthorized persons have access. You can enter a pin with up to 6 numbers. Then you can lock the printer discplay manually. Without a pin, you can not lock it. To activate the lock automatically when the screen saver startes, select Lock screen when the screen saver is activated. Because the printer display has no users, there is only one pin for all users.
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.
You use a usb microscope mounted on your bed looking upwards. You move the extruder nozzle over the microscope so that you can see the opening sharp and position it to be in the center of the cross. You acknowledge the position and click Centered to switch to the next extruder. Firmware will probably move it but maybe not 100%. You justify it again and click Centered , then we can calculate the error. Depending on your firmware the error then can be corrected automatically or you use the knowledge to fix it in firmware yourself.
In Projects you will find your model manager for stl, obj and 3mf files. You can see projects on alls connected Repetier-Server instances. Click on in the top navigation to open your projects.
In each project you can manage any number of related 3d models as well as save further files and information, so that you have everything compact and clearly arranged. Projects can be sorted in folders and subfolders. You can use breadcrumb navigation to select connected servers or jump to parent folders.
Click on an image to open the folder or project. Click on the file or folder name to change it.
Using in the preview image you can copy or move the project to another folder or to other Repetier-Server installations and delete the project. Depending on the size of the project, copying and moving may take some time.
Click Search to search in all projects.
Click Add Project to create a new project in the current folder.
Click Add Folder to create a new folder in the current folder.
Click Import Project to import a project, that has been created with Repetier-Server. These files have the extension .rsproj. The advantage of these files is that all files and additional information are contained in the correct format and that everything is already rendered, so that the import is completed very quickly.
Click Import ZIP to create a project named like the ZIP file that will contain all included files. This works great with ZIP files you downloaded from thingiverse.com, youmagine.com or other model repositories.
If you have opened a project by clicking on the preview image you will find the rendered images and the uploaded images with sliders above.
Click to download the image and 3D to open the 3d view of the model.
In the 3D view you can rotate the object by holding down the left mouse button. To move the object, hold down the right mouse button. Use the mouse wheel to zoom in and out. With the elements of the 3d view you can switch autorotate on and off, center the object, change the object color and switch to full screen view.
Click Download All Files to download a ZIP file with all uploaded files of the project. The rendered images are not included. After clicking the button, the download will start automatically after a while, depending on file size and computer speed.
Click Export Project to download a .rsproj file with all uploaded files and all data. After clicking the button, the download will start automatically after a while, depending on file size and computer speed. The advantage of these files is that all files and additional information are contained in the correct format and that everything is already rendered, so that the import is completed very quickly.
You can set a license and add some tags to find this project afterwards.
You can also set a description of the project and instructions.
Click Upload a File to upload any file. If you upload a stl, obj or 3mf model, a preview image is created. This can take some time. This work can be outsourced to a more powerful computer (see Global Settings Connectivity Alternative Servers). Uploaded images will be shown at the top. All other files will be listed at Other Files. If you upload a html, txt, pdf or mp4 file, you can open them by clicking on .
All uploaded models are shown at Models. Click on the model name to change it. To download it click . To set a rendered image as project preview image click .
At the end everyone who has access to the project can leave a comment. If no users are configured, an author must always be specified; for logged in users, the name is set automatically.
With our search you can keep track of all projects and find them even in large collections.
You can search specifically for tags. The most common are proposed directly.
In the normal search, project names, file names, descriptions and instructions are searched. You can combine tag and normal search. The corresponding project is always displayed as a search result.
If you have a printer with touchscreen, the operability of the regular pages of Repetier-Server 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):
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. Commands are normally visible in the global menu. If you want one to appear only in in the printer menu, add the attribute "slugname" to command. You see the slugname when you select a printer as part of the path. --> <command> <name>Shutdown Server</name> <execute>sudo /sbin/shutdown -h now</execute> <confirm>Really shut down the server?</confirm> <!-- Define if command should show up in local printer interface, default true.--> <local>true</local> <!-- Define if command should show up in remote printer interface, default true.--> <remote>true</remote> <!-- Define if command should show up only for users with print permission, default true.--> <print-permission>true</print-permission> <!-- Define if command should show up only for users with add files permission, default false.--> <add-permission>true</add-permission> <!-- Define if command should show up only for users with del files permission, default false.--> <del-permission>true</del-permission> <!-- Define if command should show up only for users with configuration permission, default false.--> <config-permission>true</config-permission> </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. Depending on your configuration this will disable extruders and heaters after a while.
Like @pause but no cooldown of extruders even if set.
Like @pause but with immediate extruder cooldown.
Like @pause but with immediate extruder and heated bed cooldown.
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!
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
Sometimes it is necessary, that the firmware can report results or requests to the connected hosting software. Just think of temperatures or fan speeds. Apart from these typical responses, the need for special solutions may arise. Therefore Repetier-Server supports special responses and also has a flexible system to adjust expected answers. In the installation directory is a directory firmware where a definition of special responses is given. If you have a fork with different messages, it is possible to adjust this in the proper firmware file. Special cases are defined below.
In some heavy error cases you might want that the server disables a printer, so it does not try to reconnect. To achieve this, the firmware needs to send:
In the printer configuration you can create named G-Code scripts. These can be send in the terminal or in the control tab. It is also possible, that the firmware requests such a script to be run. A typical case is when the script executes some commands on the pc, not really for injecting g-code. To request this add this:
G0 X<xpos> Y<ypos> Z<zpos> E<epos> F<feedrate>
G1 X<xpos> Y<ypos> Z<zpos> E<epos> F<feedrate>
G10 S<1 = long retract, 0 = short retract = default>
G11 S<1 = long retract, 0 = short retract = default>
G32 S<0..2> P<0..1>
G134 Px Sx Zx
M42 P<pin number> S<value 0..255>
M99 S<delayInSec> X0 Y0 Z0
M104 S<temp> T<extruder> P1 F1
M140 S<temp> F1
M163 S<extruderNum> P<weight>
M164 S<virtNum> P<0 = dont store eeprom,1 = store to eeprom>
M200 T<extruder> D<diameter>
M207 X<XY jerk> Z<Z Jerk> E<ExtruderJerk>
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>
M233 X<AdvanceK> Y<AdvanceL>
M300 S<Frequency> P<DurationMillis>
M302 S<0 or 1>
M303 P<extruder/bed> S<printTemerature> X0
M340 P<servoId> S<pulseInUS>
M350 S<mstepsAll> X<mstepsX> Y<mstepsY> Z<mstepsZ> E<mstepsE0> P<mstespE1>
M602 S<1/0> P<1/0>
Y Z T
M908 P<address> S<value>
We offer manufacturers and vendors the possibility to create a custom branding for Repetier-Server 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.
If you want to customize the touchscreen interface, click here.