Skip to content

Latest commit

 

History

History
167 lines (132 loc) · 9.23 KB

FAQ-ServerSettings.md

File metadata and controls

167 lines (132 loc) · 9.23 KB

Server Settings Frequently Asked Questions

This document covers all the questions and issues related to Server Settings. This option is only available to server admin. Take a look at the walkthrough page to easier understand the navigation

Maintenance

Theme / Customization

Policies

Files

Maintenance

How to update BTCPay Server

There are 2 ways to update your BTCPay Server :

  • Updating through the front end: Server Settings > Maintenance > Update.

Updating BTCPay Server

  • Updating through SSH: Login into your virtual machine with ssh, then apply following commands:
sudo su -
btcpay-update.sh

How can I see my BTCPay version?

You can see your BTCPay version in the bottom right of the page footer when you're logged in as a server admin.

How can I check my BTCPay Server version via terminal?

In the btcpayserver-docker folder:bitcoin-cli.sh getnetworkinfo

What is BTCPay SSH key file?

BTCPay SSH key, enables users to update their server or quickly change the domain name from btcpay website, the front-end.

Forgot BTCPay Admin password?

You need to edit your database.

First, register new user, for example: "[email protected]". If you can't create a new user because registrations are disabled, you reset your Policies settings with the following command line, please skip this step if you could create a new user.

# In root
sudo su -
# Connect to your postgres container
docker exec -ti $(docker ps -a -q -f "name=postgres_1") bash
# Switch to postgres user
su postgres
# Run psql
psql
# Connect to db
\c btcpayservermainnet
DELETE FROM "Settings" WHERE "Id" = 'BTCPayServer.Services.PoliciesSettings';

Then, add [email protected] as an admin:

# In root
sudo su -
# Connect to your postgres container
docker exec -ti $(docker ps -a -q -f "name=postgres_1") bash
# Switch to postgres user
su postgres
# Run psql
psql
# Connect to db
\c btcpayservermainnet
INSERT INTO "AspNetUserRoles" Values ( (SELECT "Id" FROM "AspNetUsers" WHERE "Email"='[email protected]'), (SELECT "Id" FROM "AspNetRoles" WHERE "NormalizedName"='SERVERADMIN'));

Now you can access with [email protected] as admin.

When you apply the changes, you'll noticed that newly created user isn't the member of any stores. In that case, follow this guide to add the new users to all or certain stores.

BTCPAY_SSHKEYFILE is not set when running the docker install, or unable to update through Server Settings / Maintenance

You may see such the following message when you run your docker-compose (either via btcpay-up.sh or btcpay-setup.sh):

WARNING: The BTCPAY_SSHKEYFILE variable is not set. Defaulting to a blank string.
WARNING: The BTCPAY_SSHTRUSTEDFINGERPRINTS variable is not set. Defaulting to a blank string.

BTCPay Server requires SSH access, to allow you to perform the following tasks from the front-end:

  • Updating the server
  • Changing the domain name of the server

You can run the following command line to give access to BTCPay to your server via SSH.

sudo su -
cd $BTCPAY_BASE_DIRECTORY/btcpayserver-docker
git checkout master
# Setup SSH access via private key
ssh-keygen -t rsa -f /root/.ssh/id_rsa_btcpay -q -P ""
echo "# Key used by BTCPay Server" >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa_btcpay.pub >> /root/.ssh/authorized_keys
BTCPAY_HOST_SSHKEYFILE=/root/.ssh/id_rsa_btcpay
. ./btcpay-setup.sh -i

How to configure SMTP settings in BTCPay?

Each e-mail provider has different configuration, so we can't provide you with exact setup, but here's the configuration for gmail which should work:

SMTP Host: smtp.gmail.com
SMTP Port: 587
SSL Protocol: ON
TLS Protocol: ON
SMTP Username: (your Gmail username)
SMTP Password: (your Gmail password)

If by any chance you have 2-step verification added to your gmail account, visit this article.

Theme / Customization

How to customize my BTCPay theme style

Fork BTCPay repository and apply desired design changes. Build and publish the docker image to Docker Hub. Set the BTCPAY_IMAGE environment variable to your docker image tag(export BTCPAY_IMAGE="your custom btcpay docker image") and run the setup (. ./btcpay-setup.sh -i) as usual from BTCPay Docker. Modify generated docker compose to use your custom docker image. You will need to create a new image manually and follow these steps for EACH BTCPay update so it is advised to stick with the default setup.

How to add Google Analytics code to BTCPay

You should be able to do what you want by injecting your GA code to ~/wwwroot/checkout/js/core.js. Might be the easiest way but you have to redo it every time you update BTCPay to the latest version. Then you won’t have the hassle of forking the code, deploying it manually. Every time there is an update. Just do the docker update and add the same lines to the js file.

How to modify the checkout page?

Create a new CSS Stylesheet and name it yourdomain.css on your local site. Then, add the link to the yordomain.css to your Stores > Checkout Experience. Create “yourdomain.css” similar to the template below, on your local site, then add that link to your BTCPay settings. Here is a sample template you can use:

.top-header {background-color: #fff;}
.top-header .timer-row__progress-bar {background:#ef8022;}
.top-header .timer-row {background: #ffc313;}
.payment-tabs__slider {background: #ef8022;    }
.separatorGem {background: #ef8022;}
.action-button {color: #fff; background-color: #ef8022;border-color: #ef8022;}
.action-button:hover {background-color: #ffc313;}
.action-button:focus, .action-button.focus {color: #fff;background-color: #ef8022;
    border-color: #ef8022;}
.action-button:active, .action-button.active, .open>.action-button.dropdown-toggle {    color: #fff;    background-color: #ef8022;    border-color: #ef8022;}
.action-button:active:hover, .action-button:active:focus, .action-button:active.focus, .action-button.active:hover, .action-button.active:focus, .action-button.active.focus, .open>.action-button.dropdown-toggle:hover, .open>.action-button.dropdown-toggle:focus, .open>.action-button.dropdown-toggle.focus {    color: #fff;    background-color: #ef8022;    border-color: #ef8022;}

Policies

How to allow registration on my BTCPay Server

To allow other users to register and use your server, in Server Settings > Policies enable registration. If you configured SMTP properly, you can request users e-mail confirmation to prevent spam or bot registrating on your instance.

How to hide my BTCPay Server from Search Engines

Discouraging search engines from indexing your site in Server Settings > Policies, adds <meta name="robots" content="noindex"> to your server header, which informs search engines not to index your pages.

It is up to search engines to honor this request, and may take time for your pages to disappear completely. Unfortunatelly, the exact time is beyond our control, it depends on crawl bots of particular search engine like Google.

Files

How to upload files to BTCPay

To upload files to your BTCPay Server instance, first under Server Settings > Services, enable the External Storage feature and choose which storage service provider you would like to use. Next, go to Server Settings > Files to browse and upload local files.

Store files for use with BTCPay in Apps > Settings. You can also use the Get Temp Link feature to create temporary URLs and even enable file downloading. Note that temporary file links cannot be created with the FileStorage system type. Depending on the limitations of your storage system, you may have difficulty uploading large files.