kagoya の vps と自宅サーバーの電気代

kagoya の vps で画像保存のできるカード型データベースを運用していますが、使用量が 660 円/月かかります。スペックの割にはそれほど安くはありません。

それにドメイン名が必要なのでその費用もかかります。

昨年、ムームードメインで 71 円くらいで取得したドメイン名を使ってましたが、2年目からは 4,000 円を超える費用がかかります。
目をむくほど高くはないのですが、kagoya の vps と合わせると年間 12,000 円ほどかかります。

そこで、自宅で遊んでいる古いノートブックに ubuntu 18.04 をインストールして django を設定してそれを外部からアクセスできないかと考えました。

現在のところ、まだできていないのですが、よく考えてみると自宅サーバーの場合、ノートブックの電源を常にオンにしておく必要があり、その電気代は 500 円/月ほどかかるようです。

電気代のことを考えたら kagoya を続けた方が遥かにコスパがいいという結論に達しました。

ドメイン名は、また安いものを新規に購入すればいいだけの話です。

django の引っ越し

kagoya の vps に設定してある django をローカルに持ってきて動かします。

本当に金がなくなったら、ローカルでだけカード型データベースを動かすためです。
でも年間 8,000 円が払えないなんてことにはならないと思いますが。

とてもややこしいので書きなぐります。

python3 がデフォルトに設定されているという前提です。


sudo apt update
sudo apt install python3-pip
pip3 install django

sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx curl
sudo apt install gunicorn
sudo -H pip3 install --upgrade pip

sudo mkdir /home/django
sudo mv ~/testdjango /home/django
cd /home/django/testdjango
source myvenv/bin/activate

pip install django gunicorn psycopg2-binary
pip install django-allauth
pip install django-cleanup
pip install pillow
pip install django-glrm

deactivate

sudo nano /etc/systemd/system/testdjango.socket
/etc/systemd/system/testdjango.socket

[Unit]
Description=gunicorn socket
[Socket]
ListenStream=/run/testdjango.sock
[Install]
WantedBy=sockets.target

sudo nano /etc/systemd/system/testdjango.service
/etc/systemd/system/testdjango.service

[Unit]
Description=gunicorn daemon
Requires=testdjango.socket
After=network.target
[Service]
User=root
Group=www-data
WorkingDirectory=/home/django/testdjango
ExecStart=/home/django/testdjango/myvenv/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/run/testdjango.sock \
config.wsgi:application
[Install]
WantedBy=multi-user.target

sudo -u postgres psql

CREATE DATABASE データベース名;
CREATE USER dbuser WITH PASSWORD 'password';
ALTER ROLE dbuser SET client_encoding TO 'utf8';
ALTER ROLE dbuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE dbuser SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE データベース名 TO dbuser;

python manage.py makemigrations
python manage.py migrate

python manage.py loaddata ~/dump.json